LAPACK  3.9.1
LAPACK: Linear Algebra PACKage

◆ check1()

subroutine check1 ( double precision  SFAC)

Definition at line 239 of file dblat1.f.

240 * .. Parameters ..
241  INTEGER NOUT
242  parameter(nout=6)
243 * .. Scalar Arguments ..
244  DOUBLE PRECISION SFAC
245 * .. Scalars in Common ..
246  INTEGER ICASE, INCX, INCY, N
247  LOGICAL PASS
248 * .. Local Scalars ..
249  INTEGER I, IX, LEN, NP1
250 * .. Local Arrays ..
251  DOUBLE PRECISION DTRUE1(5), DTRUE3(5), DTRUE5(8,5,2), DV(8,5,2),
252  + DVR(8), SA(10), STEMP(1), STRUE(8), SX(8),
253  + SXR(15)
254  INTEGER ITRUE2(5), ITRUEC(5)
255 * .. External Functions ..
256  DOUBLE PRECISION DASUM, DNRM2
257  INTEGER IDAMAX
258  EXTERNAL dasum, dnrm2, idamax
259 * .. External Subroutines ..
260  EXTERNAL itest1, dscal, stest, stest1
261 * .. Intrinsic Functions ..
262  INTRINSIC max
263 * .. Common blocks ..
264  COMMON /combla/icase, n, incx, incy, pass
265 * .. Data statements ..
266  DATA sa/0.3d0, -1.0d0, 0.0d0, 1.0d0, 0.3d0, 0.3d0,
267  + 0.3d0, 0.3d0, 0.3d0, 0.3d0/
268  DATA dv/0.1d0, 2.0d0, 2.0d0, 2.0d0, 2.0d0, 2.0d0,
269  + 2.0d0, 2.0d0, 0.3d0, 3.0d0, 3.0d0, 3.0d0, 3.0d0,
270  + 3.0d0, 3.0d0, 3.0d0, 0.3d0, -0.4d0, 4.0d0,
271  + 4.0d0, 4.0d0, 4.0d0, 4.0d0, 4.0d0, 0.2d0,
272  + -0.6d0, 0.3d0, 5.0d0, 5.0d0, 5.0d0, 5.0d0,
273  + 5.0d0, 0.1d0, -0.3d0, 0.5d0, -0.1d0, 6.0d0,
274  + 6.0d0, 6.0d0, 6.0d0, 0.1d0, 8.0d0, 8.0d0, 8.0d0,
275  + 8.0d0, 8.0d0, 8.0d0, 8.0d0, 0.3d0, 9.0d0, 9.0d0,
276  + 9.0d0, 9.0d0, 9.0d0, 9.0d0, 9.0d0, 0.3d0, 2.0d0,
277  + -0.4d0, 2.0d0, 2.0d0, 2.0d0, 2.0d0, 2.0d0,
278  + 0.2d0, 3.0d0, -0.6d0, 5.0d0, 0.3d0, 2.0d0,
279  + 2.0d0, 2.0d0, 0.1d0, 4.0d0, -0.3d0, 6.0d0,
280  + -0.5d0, 7.0d0, -0.1d0, 3.0d0/
281  DATA dvr/8.0d0, -7.0d0, 9.0d0, 5.0d0, 9.0d0, 8.0d0,
282  + 7.0d0, 7.0d0/
283  DATA dtrue1/0.0d0, 0.3d0, 0.5d0, 0.7d0, 0.6d0/
284  DATA dtrue3/0.0d0, 0.3d0, 0.7d0, 1.1d0, 1.0d0/
285  DATA dtrue5/0.10d0, 2.0d0, 2.0d0, 2.0d0, 2.0d0,
286  + 2.0d0, 2.0d0, 2.0d0, -0.3d0, 3.0d0, 3.0d0,
287  + 3.0d0, 3.0d0, 3.0d0, 3.0d0, 3.0d0, 0.0d0, 0.0d0,
288  + 4.0d0, 4.0d0, 4.0d0, 4.0d0, 4.0d0, 4.0d0,
289  + 0.20d0, -0.60d0, 0.30d0, 5.0d0, 5.0d0, 5.0d0,
290  + 5.0d0, 5.0d0, 0.03d0, -0.09d0, 0.15d0, -0.03d0,
291  + 6.0d0, 6.0d0, 6.0d0, 6.0d0, 0.10d0, 8.0d0,
292  + 8.0d0, 8.0d0, 8.0d0, 8.0d0, 8.0d0, 8.0d0,
293  + 0.09d0, 9.0d0, 9.0d0, 9.0d0, 9.0d0, 9.0d0,
294  + 9.0d0, 9.0d0, 0.09d0, 2.0d0, -0.12d0, 2.0d0,
295  + 2.0d0, 2.0d0, 2.0d0, 2.0d0, 0.06d0, 3.0d0,
296  + -0.18d0, 5.0d0, 0.09d0, 2.0d0, 2.0d0, 2.0d0,
297  + 0.03d0, 4.0d0, -0.09d0, 6.0d0, -0.15d0, 7.0d0,
298  + -0.03d0, 3.0d0/
299  DATA itrue2/0, 1, 2, 2, 3/
300  DATA itruec/0, 1, 1, 1, 1/
301 * .. Executable Statements ..
302  DO 80 incx = 1, 2
303  DO 60 np1 = 1, 5
304  n = np1 - 1
305  len = 2*max(n,1)
306 * .. Set vector arguments ..
307  DO 20 i = 1, len
308  sx(i) = dv(i,np1,incx)
309  20 CONTINUE
310 *
311  IF (icase.EQ.7) THEN
312 * .. DNRM2 ..
313  stemp(1) = dtrue1(np1)
314  CALL stest1(dnrm2(n,sx,incx),stemp(1),stemp,sfac)
315  ELSE IF (icase.EQ.8) THEN
316 * .. DASUM ..
317  stemp(1) = dtrue3(np1)
318  CALL stest1(dasum(n,sx,incx),stemp(1),stemp,sfac)
319  ELSE IF (icase.EQ.9) THEN
320 * .. DSCAL ..
321  CALL dscal(n,sa((incx-1)*5+np1),sx,incx)
322  DO 40 i = 1, len
323  strue(i) = dtrue5(i,np1,incx)
324  40 CONTINUE
325  CALL stest(len,sx,strue,strue,sfac)
326  ELSE IF (icase.EQ.10) THEN
327 * .. IDAMAX ..
328  CALL itest1(idamax(n,sx,incx),itrue2(np1))
329  DO 100 i = 1, len
330  sx(i) = 42.0d0
331  100 CONTINUE
332  CALL itest1(idamax(n,sx,incx),itruec(np1))
333  ELSE
334  WRITE (nout,*) ' Shouldn''t be here in CHECK1'
335  stop
336  END IF
337  60 CONTINUE
338  IF (icase.EQ.10) THEN
339  n = 8
340  ix = 1
341  DO 120 i = 1, n
342  sxr(ix) = dvr(i)
343  ix = ix + incx
344  120 CONTINUE
345  CALL itest1(idamax(n,sxr,incx),3)
346  END IF
347  80 CONTINUE
348  RETURN
subroutine stest(LEN, SCOMP, STRUE, SSIZE, SFAC)
Definition: cblat1.f:597
subroutine stest1(SCOMP1, STRUE1, SSIZE, SFAC)
Definition: cblat1.f:653
subroutine itest1(ICOMP, ITRUE)
Definition: cblat1.f:719
integer function idamax(N, DX, INCX)
IDAMAX
Definition: idamax.f:71
double precision function dnrm2(N, X, INCX)
DNRM2
Definition: dnrm2.f:74
double precision function dasum(N, DX, INCX)
DASUM
Definition: dasum.f:71
subroutine dscal(N, DA, DX, INCX)
DSCAL
Definition: dscal.f:79
Here is the call graph for this function: