LAPACK  3.10.0
LAPACK: Linear Algebra PACKage

◆ check1()

subroutine check1 ( real  SFAC)

Definition at line 248 of file sblat1.f.

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