LAPACK  3.9.1
LAPACK: Linear Algebra PACKage

◆ check1()

subroutine check1 ( real  SFAC)

Definition at line 239 of file sblat1.f.

240 * .. Parameters ..
241  INTEGER NOUT
242  parameter(nout=6)
243 * .. Scalar Arguments ..
244  REAL 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  REAL 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  REAL SASUM, SNRM2
257  INTEGER ISAMAX
258  EXTERNAL sasum, snrm2, isamax
259 * .. External Subroutines ..
260  EXTERNAL itest1, sscal, 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.3e0, -1.0e0, 0.0e0, 1.0e0, 0.3e0, 0.3e0,
267  + 0.3e0, 0.3e0, 0.3e0, 0.3e0/
268  DATA dv/0.1e0, 2.0e0, 2.0e0, 2.0e0, 2.0e0, 2.0e0,
269  + 2.0e0, 2.0e0, 0.3e0, 3.0e0, 3.0e0, 3.0e0, 3.0e0,
270  + 3.0e0, 3.0e0, 3.0e0, 0.3e0, -0.4e0, 4.0e0,
271  + 4.0e0, 4.0e0, 4.0e0, 4.0e0, 4.0e0, 0.2e0,
272  + -0.6e0, 0.3e0, 5.0e0, 5.0e0, 5.0e0, 5.0e0,
273  + 5.0e0, 0.1e0, -0.3e0, 0.5e0, -0.1e0, 6.0e0,
274  + 6.0e0, 6.0e0, 6.0e0, 0.1e0, 8.0e0, 8.0e0, 8.0e0,
275  + 8.0e0, 8.0e0, 8.0e0, 8.0e0, 0.3e0, 9.0e0, 9.0e0,
276  + 9.0e0, 9.0e0, 9.0e0, 9.0e0, 9.0e0, 0.3e0, 2.0e0,
277  + -0.4e0, 2.0e0, 2.0e0, 2.0e0, 2.0e0, 2.0e0,
278  + 0.2e0, 3.0e0, -0.6e0, 5.0e0, 0.3e0, 2.0e0,
279  + 2.0e0, 2.0e0, 0.1e0, 4.0e0, -0.3e0, 6.0e0,
280  + -0.5e0, 7.0e0, -0.1e0, 3.0e0/
281  DATA dvr/8.0e0, -7.0e0, 9.0e0, 5.0e0, 9.0e0, 8.0e0,
282  + 7.0e0, 7.0e0/
283  DATA dtrue1/0.0e0, 0.3e0, 0.5e0, 0.7e0, 0.6e0/
284  DATA dtrue3/0.0e0, 0.3e0, 0.7e0, 1.1e0, 1.0e0/
285  DATA dtrue5/0.10e0, 2.0e0, 2.0e0, 2.0e0, 2.0e0,
286  + 2.0e0, 2.0e0, 2.0e0, -0.3e0, 3.0e0, 3.0e0,
287  + 3.0e0, 3.0e0, 3.0e0, 3.0e0, 3.0e0, 0.0e0, 0.0e0,
288  + 4.0e0, 4.0e0, 4.0e0, 4.0e0, 4.0e0, 4.0e0,
289  + 0.20e0, -0.60e0, 0.30e0, 5.0e0, 5.0e0, 5.0e0,
290  + 5.0e0, 5.0e0, 0.03e0, -0.09e0, 0.15e0, -0.03e0,
291  + 6.0e0, 6.0e0, 6.0e0, 6.0e0, 0.10e0, 8.0e0,
292  + 8.0e0, 8.0e0, 8.0e0, 8.0e0, 8.0e0, 8.0e0,
293  + 0.09e0, 9.0e0, 9.0e0, 9.0e0, 9.0e0, 9.0e0,
294  + 9.0e0, 9.0e0, 0.09e0, 2.0e0, -0.12e0, 2.0e0,
295  + 2.0e0, 2.0e0, 2.0e0, 2.0e0, 0.06e0, 3.0e0,
296  + -0.18e0, 5.0e0, 0.09e0, 2.0e0, 2.0e0, 2.0e0,
297  + 0.03e0, 4.0e0, -0.09e0, 6.0e0, -0.15e0, 7.0e0,
298  + -0.03e0, 3.0e0/
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 * .. SNRM2 ..
313  stemp(1) = dtrue1(np1)
314  CALL stest1(snrm2(n,sx,incx),stemp(1),stemp,sfac)
315  ELSE IF (icase.EQ.8) THEN
316 * .. SASUM ..
317  stemp(1) = dtrue3(np1)
318  CALL stest1(sasum(n,sx,incx),stemp(1),stemp,sfac)
319  ELSE IF (icase.EQ.9) THEN
320 * .. SSCAL ..
321  CALL sscal(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 * .. ISAMAX ..
328  CALL itest1(isamax(n,sx,incx),itrue2(np1))
329  DO 100 i = 1, len
330  sx(i) = 42.0e0
331  100 CONTINUE
332  CALL itest1(isamax(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(isamax(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 isamax(N, SX, INCX)
ISAMAX
Definition: isamax.f:71
subroutine sscal(N, SA, SX, INCX)
SSCAL
Definition: sscal.f:79
real function snrm2(N, X, INCX)
SNRM2
Definition: snrm2.f:74
real function sasum(N, SX, INCX)
SASUM
Definition: sasum.f:72
Here is the call graph for this function: