48 INTEGER icase, incx, incy, n
56 COMMON /combla/icase, n, incx, incy, pass
58 DATA sfac/9.765625d-4/
73 IF (icase.EQ.3 .OR. icase.EQ.11)
THEN
75 ELSE IF (icase.EQ.7 .OR. icase.EQ.8 .OR. icase.EQ.9 .OR.
78 ELSE IF (icase.EQ.1 .OR. icase.EQ.2 .OR. icase.EQ.5 .OR.
79 + icase.EQ.6 .OR. icase.EQ.12 .OR. icase.EQ.13)
THEN
81 ELSE IF (icase.EQ.4)
THEN
85 IF (pass)
WRITE (nout,99998)
8999999
FORMAT (
' Real BLAS Test Program Results',/1x)
9099998
FORMAT (
' ----- PASS -----')
100 INTEGER ICASE, INCX, INCY, N
105 COMMON /combla/icase, n, incx, incy, pass
121 WRITE (nout,99999) icase, l(icase)
12499999
FORMAT (/
' Test of subprogram number',i3,12x,a6)
134 DOUBLE PRECISION SFAC
136 INTEGER ICASE, INCX, INCY, N
139 DOUBLE PRECISION SA, SB, SC, SS, D12
142 DOUBLE PRECISION DA1(8), DATRUE(8), DB1(8), DBTRUE(8), DC1(8),
143 $ DS1(8), DAB(4,9), DTEMP(9), DTRUE(9,9)
147 COMMON /combla/icase, n, incx, incy, pass
149 DATA da1/0.3d0, 0.4d0, -0.3d0, -0.4d0, -0.3d0, 0.0d0,
151 DATA db1/0.4d0, 0.3d0, 0.4d0, 0.3d0, -0.4d0, 0.0d0,
153 DATA dc1/0.6d0, 0.8d0, -0.6d0, 0.8d0, 0.6d0, 1.0d0,
155 DATA ds1/0.8d0, 0.6d0, 0.8d0, -0.6d0, 0.8d0, 0.0d0,
157 DATA datrue/0.5d0, 0.5d0, 0.5d0, -0.5d0, -0.5d0,
158 + 0.0d0, 1.0d0, 1.0d0/
159 DATA dbtrue/0.0d0, 0.6d0, 0.0d0, -0.6d0, 0.0d0,
160 + 0.0d0, 1.0d0, 0.0d0/
162 DATA dab/ .1d0,.3d0,1.2d0,.2d0,
163 a .7d0, .2d0, .6d0, 4.2d0,
164 b 0.d0,0.d0,0.d0,0.d0,
165 c 4.d0, -1.d0, 2.d0, 4.d0,
166 d 6.d-10, 2.d-2, 1.d5, 10.d0,
167 e 4.d10, 2.d-2, 1.d-5, 10.d0,
168 f 2.d-10, 4.d-2, 1.d5, 10.d0,
169 g 2.d10, 4.d-2, 1.d-5, 10.d0,
170 h 4.d0, -2.d0, 8.d0, 4.d0 /
172 DATA dtrue/0.d0,0.d0, 1.3d0, .2d0, 0.d0,0.d0,0.d0, .5d0, 0.d0,
173 a 0.d0,0.d0, 4.5d0, 4.2d0, 1.d0, .5d0, 0.d0,0.d0,0.d0,
174 b 0.d0,0.d0,0.d0,0.d0, -2.d0, 0.d0,0.d0,0.d0,0.d0,
175 c 0.d0,0.d0,0.d0, 4.d0, -1.d0, 0.d0,0.d0,0.d0,0.d0,
176 d 0.d0, 15.d-3, 0.d0, 10.d0, -1.d0, 0.d0, -1.d-4,
178 f 0.d0,0.d0, 6144.d-5, 10.d0, -1.d0, 4096.d0, -1.d6,
180 h 0.d0,0.d0,15.d0,10.d0,-1.d0, 5.d-5, 0.d0,1.d0,0.d0,
181 i 0.d0,0.d0, 15.d0, 10.d0, -1. d0, 5.d5, -4096.d0,
183 k 0.d0,0.d0, 7.d0, 4.d0, 0.d0,0.d0, -.5d0, -.25d0, 0.d0/
186 dtrue(1,1) = 12.d0 / 130.d0
187 dtrue(2,1) = 36.d0 / 130.d0
188 dtrue(7,1) = -1.d0 / 6.d0
189 dtrue(1,2) = 14.d0 / 75.d0
190 dtrue(2,2) = 49.d0 / 75.d0
191 dtrue(9,2) = 1.d0 / 7.d0
192 dtrue(1,5) = 45.d-11 * (d12 * d12)
193 dtrue(3,5) = 4.d5 / (3.d0 * d12)
194 dtrue(6,5) = 1.d0 / d12
195 dtrue(8,5) = 1.d4 / (3.d0 * d12)
196 dtrue(1,6) = 4.d10 / (1.5d0 * d12 * d12)
197 dtrue(2,6) = 2.d-2 / 1.5d0
198 dtrue(8,6) = 5.d-7 * d12
199 dtrue(1,7) = 4.d0 / 150.d0
200 dtrue(2,7) = (2.d-10 / 1.5d0) * (d12 * d12)
201 dtrue(7,7) = -dtrue(6,5)
202 dtrue(9,7) = 1.d4 / d12
203 dtrue(1,8) = dtrue(1,7)
204 dtrue(2,8) = 2.d10 / (1.5d0 * d12 * d12)
205 dtrue(1,9) = 32.d0 / 7.d0
206 dtrue(2,9) = -16.d0 / 7.d0
212 dbtrue(1) = 1.0d0/0.6d0
213 dbtrue(3) = -1.0d0/0.6d0
214 dbtrue(5) = 1.0d0/0.6d0
224 CALL drotg(sa,sb,sc,ss)
225 CALL stest1(sa,datrue(k),datrue(k),sfac)
226 CALL stest1(sb,dbtrue(k),dbtrue(k),sfac)
227 CALL stest1(sc,dc1(k),dc1(k),sfac)
228 CALL stest1(ss,ds1(k),ds1(k),sfac)
229 ELSEIF (icase.EQ.11)
THEN
236 CALL drotmg(dtemp(1),dtemp(2),dtemp(3),dtemp(4),dtemp(5))
237 CALL stest(9,dtemp,dtrue(1,k),dtrue(1,k),sfac)
239 WRITE (nout,*)
' Shouldn''t be here in CHECK0'
250 DOUBLE PRECISION THRESH
252 parameter(nout=6, thresh=10.0d0)
254 DOUBLE PRECISION SFAC
256 INTEGER ICASE, INCX, INCY, N
259 INTEGER I, IX, LEN, NP1
261 DOUBLE PRECISION DTRUE1(5), DTRUE3(5), DTRUE5(8,5,2), DV(8,5,2),
262 + DVR(8), SA(10), STEMP(1), STRUE(8), SX(8),
264 INTEGER ITRUE2(5), ITRUEC(5)
266 DOUBLE PRECISION DASUM, DNRM2
268 EXTERNAL dasum, dnrm2, idamax
274 COMMON /combla/icase, n, incx, incy, pass
276 DATA sa/0.3d0, -1.0d0, 0.0d0, 1.0d0, 0.3d0, 0.3d0,
277 + 0.3d0, 0.3d0, 0.3d0, 0.3d0/
278 DATA dv/0.1d0, 2.0d0, 2.0d0, 2.0d0, 2.0d0, 2.0d0,
279 + 2.0d0, 2.0d0, 0.3d0, 3.0d0, 3.0d0, 3.0d0, 3.0d0,
280 + 3.0d0, 3.0d0, 3.0d0, 0.3d0, -0.4d0, 4.0d0,
281 + 4.0d0, 4.0d0, 4.0d0, 4.0d0, 4.0d0, 0.2d0,
282 + -0.6d0, 0.3d0, 5.0d0, 5.0d0, 5.0d0, 5.0d0,
283 + 5.0d0, 0.1d0, -0.3d0, 0.5d0, -0.1d0, 6.0d0,
284 + 6.0d0, 6.0d0, 6.0d0, 0.1d0, 8.0d0, 8.0d0, 8.0d0,
285 + 8.0d0, 8.0d0, 8.0d0, 8.0d0, 0.3d0, 9.0d0, 9.0d0,
286 + 9.0d0, 9.0d0, 9.0d0, 9.0d0, 9.0d0, 0.3d0, 2.0d0,
287 + -0.4d0, 2.0d0, 2.0d0, 2.0d0, 2.0d0, 2.0d0,
288 + 0.2d0, 3.0d0, -0.6d0, 5.0d0, 0.3d0, 2.0d0,
289 + 2.0d0, 2.0d0, 0.1d0, 4.0d0, -0.3d0, 6.0d0,
290 + -0.5d0, 7.0d0, -0.1d0, 3.0d0/
291 DATA dvr/8.0d0, -7.0d0, 9.0d0, 5.0d0, 9.0d0, 8.0d0,
293 DATA dtrue1/0.0d0, 0.3d0, 0.5d0, 0.7d0, 0.6d0/
294 DATA dtrue3/0.0d0, 0.3d0, 0.7d0, 1.1d0, 1.0d0/
295 DATA dtrue5/0.10d0, 2.0d0, 2.0d0, 2.0d0, 2.0d0,
296 + 2.0d0, 2.0d0, 2.0d0, -0.3d0, 3.0d0, 3.0d0,
297 + 3.0d0, 3.0d0, 3.0d0, 3.0d0, 3.0d0, 0.0d0, 0.0d0,
298 + 4.0d0, 4.0d0, 4.0d0, 4.0d0, 4.0d0, 4.0d0,
299 + 0.20d0, -0.60d0, 0.30d0, 5.0d0, 5.0d0, 5.0d0,
300 + 5.0d0, 5.0d0, 0.03d0, -0.09d0, 0.15d0, -0.03d0,
301 + 6.0d0, 6.0d0, 6.0d0, 6.0d0, 0.10d0, 8.0d0,
302 + 8.0d0, 8.0d0, 8.0d0, 8.0d0, 8.0d0, 8.0d0,
303 + 0.09d0, 9.0d0, 9.0d0, 9.0d0, 9.0d0, 9.0d0,
304 + 9.0d0, 9.0d0, 0.09d0, 2.0d0, -0.12d0, 2.0d0,
305 + 2.0d0, 2.0d0, 2.0d0, 2.0d0, 0.06d0, 3.0d0,
306 + -0.18d0, 5.0d0, 0.09d0, 2.0d0, 2.0d0, 2.0d0,
307 + 0.03d0, 4.0d0, -0.09d0, 6.0d0, -0.15d0, 7.0d0,
309 DATA itrue2/0, 1, 2, 2, 3/
310 DATA itruec/0, 1, 1, 1, 1/
318 sx(i) = dv(i,np1,incx)
324 CALL db1nrm2(n,(incx-2)*2,thresh)
327 stemp(1) = dtrue1(np1)
328 CALL stest1(dnrm2(n,sx,incx),stemp(1),stemp,sfac)
329 ELSE IF (icase.EQ.8)
THEN
331 stemp(1) = dtrue3(np1)
332 CALL stest1(dasum(n,sx,incx),stemp(1),stemp,sfac)
333 ELSE IF (icase.EQ.9)
THEN
335 CALL dscal(n,sa((incx-1)*5+np1),sx,incx)
337 strue(i) = dtrue5(i,np1,incx)
339 CALL stest(len,sx,strue,strue,sfac)
340 ELSE IF (icase.EQ.10)
THEN
342 CALL itest1(idamax(n,sx,incx),itrue2(np1))
346 CALL itest1(idamax(n,sx,incx),itruec(np1))
348 WRITE (nout,*)
' Shouldn''t be here in CHECK1'
352 IF (icase.EQ.10)
THEN
359 CALL itest1(idamax(n,sxr,incx),3)
372 DOUBLE PRECISION SFAC
374 INTEGER ICASE, INCX, INCY, N
378 INTEGER I, J, KI, KN, KNI, KPAR, KSIZE, LENX, LENY,
379 $ LINCX, LINCY, MX, MY
381 DOUBLE PRECISION DT10X(7,4,4), DT10Y(7,4,4), DT7(4,4),
382 $ DT8(7,4,4), DX1(7),
383 $ DY1(7), SSIZE1(4), SSIZE2(14,2), SSIZE(7),
384 $ STX(7), STY(7), SX(7), SY(7),
385 $ DPAR(5,4), DT19X(7,4,16),DT19XA(7,4,4),
386 $ DT19XB(7,4,4), DT19XC(7,4,4),DT19XD(7,4,4),
387 $ DT19Y(7,4,16), DT19YA(7,4,4),DT19YB(7,4,4),
388 $ DT19YC(7,4,4), DT19YD(7,4,4), DTEMP(5),
389 $ STY0(1), SX0(1), SY0(1)
390 INTEGER INCXS(4), INCYS(4), LENS(4,2), NS(4)
392 DOUBLE PRECISION DDOT, DSDOT
400 COMMON /combla/icase, n, incx, incy, pass
402 equivalence(dt19x(1,1,1),dt19xa(1,1,1)),(dt19x(1,1,5),
403 a dt19xb(1,1,1)),(dt19x(1,1,9),dt19xc(1,1,1)),
404 b (dt19x(1,1,13),dt19xd(1,1,1))
405 equivalence(dt19y(1,1,1),dt19ya(1,1,1)),(dt19y(1,1,5),
406 a dt19yb(1,1,1)),(dt19y(1,1,9),dt19yc(1,1,1)),
407 b (dt19y(1,1,13),dt19yd(1,1,1))
410 DATA incxs/1, 2, -2, -1/
411 DATA incys/1, -2, 1, -2/
412 DATA lens/1, 1, 2, 4, 1, 1, 3, 7/
414 DATA dx1/0.6d0, 0.1d0, -0.5d0, 0.8d0, 0.9d0, -0.3d0,
416 DATA dy1/0.5d0, -0.9d0, 0.3d0, 0.7d0, -0.6d0, 0.2d0,
418 DATA dt7/0.0d0, 0.30d0, 0.21d0, 0.62d0, 0.0d0,
419 + 0.30d0, -0.07d0, 0.85d0, 0.0d0, 0.30d0, -0.79d0,
420 + -0.74d0, 0.0d0, 0.30d0, 0.33d0, 1.27d0/
421 DATA dt8/0.5d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
422 + 0.0d0, 0.68d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
423 + 0.0d0, 0.0d0, 0.68d0, -0.87d0, 0.0d0, 0.0d0,
424 + 0.0d0, 0.0d0, 0.0d0, 0.68d0, -0.87d0, 0.15d0,
425 + 0.94d0, 0.0d0, 0.0d0, 0.0d0, 0.5d0, 0.0d0,
426 + 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.68d0,
427 + 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
428 + 0.35d0, -0.9d0, 0.48d0, 0.0d0, 0.0d0, 0.0d0,
429 + 0.0d0, 0.38d0, -0.9d0, 0.57d0, 0.7d0, -0.75d0,
430 + 0.2d0, 0.98d0, 0.5d0, 0.0d0, 0.0d0, 0.0d0,
431 + 0.0d0, 0.0d0, 0.0d0, 0.68d0, 0.0d0, 0.0d0,
432 + 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.35d0, -0.72d0,
433 + 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.38d0,
434 + -0.63d0, 0.15d0, 0.88d0, 0.0d0, 0.0d0, 0.0d0,
435 + 0.5d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
436 + 0.68d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
437 + 0.0d0, 0.68d0, -0.9d0, 0.33d0, 0.0d0, 0.0d0,
438 + 0.0d0, 0.0d0, 0.68d0, -0.9d0, 0.33d0, 0.7d0,
439 + -0.75d0, 0.2d0, 1.04d0/
440 DATA dt10x/0.6d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
441 + 0.0d0, 0.5d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
442 + 0.0d0, 0.5d0, -0.9d0, 0.0d0, 0.0d0, 0.0d0,
443 + 0.0d0, 0.0d0, 0.5d0, -0.9d0, 0.3d0, 0.7d0,
444 + 0.0d0, 0.0d0, 0.0d0, 0.6d0, 0.0d0, 0.0d0, 0.0d0,
445 + 0.0d0, 0.0d0, 0.0d0, 0.5d0, 0.0d0, 0.0d0, 0.0d0,
446 + 0.0d0, 0.0d0, 0.0d0, 0.3d0, 0.1d0, 0.5d0, 0.0d0,
447 + 0.0d0, 0.0d0, 0.0d0, 0.8d0, 0.1d0, -0.6d0,
448 + 0.8d0, 0.3d0, -0.3d0, 0.5d0, 0.6d0, 0.0d0,
449 + 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.5d0, 0.0d0,
450 + 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, -0.9d0,
451 + 0.1d0, 0.5d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.7d0,
452 + 0.1d0, 0.3d0, 0.8d0, -0.9d0, -0.3d0, 0.5d0,
453 + 0.6d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
454 + 0.5d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
455 + 0.5d0, 0.3d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
456 + 0.5d0, 0.3d0, -0.6d0, 0.8d0, 0.0d0, 0.0d0,
458 DATA dt10y/0.5d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
459 + 0.0d0, 0.6d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
460 + 0.0d0, 0.6d0, 0.1d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
461 + 0.0d0, 0.6d0, 0.1d0, -0.5d0, 0.8d0, 0.0d0,
462 + 0.0d0, 0.0d0, 0.5d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
463 + 0.0d0, 0.0d0, 0.6d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
464 + 0.0d0, 0.0d0, -0.5d0, -0.9d0, 0.6d0, 0.0d0,
465 + 0.0d0, 0.0d0, 0.0d0, -0.4d0, -0.9d0, 0.9d0,
466 + 0.7d0, -0.5d0, 0.2d0, 0.6d0, 0.5d0, 0.0d0,
467 + 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.6d0, 0.0d0,
468 + 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, -0.5d0,
469 + 0.6d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
470 + -0.4d0, 0.9d0, -0.5d0, 0.6d0, 0.0d0, 0.0d0,
471 + 0.0d0, 0.5d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
472 + 0.0d0, 0.6d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
473 + 0.0d0, 0.6d0, -0.9d0, 0.1d0, 0.0d0, 0.0d0,
474 + 0.0d0, 0.0d0, 0.6d0, -0.9d0, 0.1d0, 0.7d0,
475 + -0.5d0, 0.2d0, 0.8d0/
476 DATA ssize1/0.0d0, 0.3d0, 1.6d0, 3.2d0/
477 DATA ssize2/0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
478 + 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
479 + 0.0d0, 1.17d0, 1.17d0, 1.17d0, 1.17d0, 1.17d0,
480 + 1.17d0, 1.17d0, 1.17d0, 1.17d0, 1.17d0, 1.17d0,
481 + 1.17d0, 1.17d0, 1.17d0/
485 DATA dpar/-2.d0, 0.d0,0.d0,0.d0,0.d0,
486 a -1.d0, 2.d0, -3.d0, -4.d0, 5.d0,
487 b 0.d0, 0.d0, 2.d0, -3.d0, 0.d0,
488 c 1.d0, 5.d0, 2.d0, 0.d0, -4.d0/
490 DATA dt19xa/.6d0, 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,
491 a .6d0, 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,
492 b .6d0, 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,
493 c .6d0, 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,
494 d .6d0, 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,
495 e -.8d0, 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,
496 f -.9d0, 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,
497 g 3.5d0, 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,
498 h .6d0, .1d0, 0.d0,0.d0,0.d0,0.d0,0.d0,
499 i -.8d0, 3.8d0, 0.d0,0.d0,0.d0,0.d0,0.d0,
500 j -.9d0, 2.8d0, 0.d0,0.d0,0.d0,0.d0,0.d0,
501 k 3.5d0, -.4d0, 0.d0,0.d0,0.d0,0.d0,0.d0,
502 l .6d0, .1d0, -.5d0, .8d0, 0.d0,0.d0,0.d0,
503 m -.8d0, 3.8d0, -2.2d0, -1.2d0, 0.d0,0.d0,0.d0,
504 n -.9d0, 2.8d0, -1.4d0, -1.3d0, 0.d0,0.d0,0.d0,
505 o 3.5d0, -.4d0, -2.2d0, 4.7d0, 0.d0,0.d0,0.d0/
507 DATA dt19xb/.6d0, 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,
508 a .6d0, 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,
509 b .6d0, 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,
510 c .6d0, 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,
511 d .6d0, 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,
512 e -.8d0, 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,
513 f -.9d0, 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,
514 g 3.5d0, 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,
515 h .6d0, .1d0, -.5d0, 0.d0,0.d0,0.d0,0.d0,
516 i 0.d0, .1d0, -3.0d0, 0.d0,0.d0,0.d0,0.d0,
517 j -.3d0, .1d0, -2.0d0, 0.d0,0.d0,0.d0,0.d0,
518 k 3.3d0, .1d0, -2.0d0, 0.d0,0.d0,0.d0,0.d0,
519 l .6d0, .1d0, -.5d0, .8d0, .9d0, -.3d0, -.4d0,
520 m -2.0d0, .1d0, 1.4d0, .8d0, .6d0, -.3d0, -2.8d0,
521 n -1.8d0, .1d0, 1.3d0, .8d0, 0.d0, -.3d0, -1.9d0,
522 o 3.8d0, .1d0, -3.1d0, .8d0, 4.8d0, -.3d0, -1.5d0 /
524 DATA dt19xc/.6d0, 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,
525 a .6d0, 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,
526 b .6d0, 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,
527 c .6d0, 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,
528 d .6d0, 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,
529 e -.8d0, 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,
530 f -.9d0, 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,
531 g 3.5d0, 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,
532 h .6d0, .1d0, -.5d0, 0.d0,0.d0,0.d0,0.d0,
533 i 4.8d0, .1d0, -3.0d0, 0.d0,0.d0,0.d0,0.d0,
534 j 3.3d0, .1d0, -2.0d0, 0.d0,0.d0,0.d0,0.d0,
535 k 2.1d0, .1d0, -2.0d0, 0.d0,0.d0,0.d0,0.d0,
536 l .6d0, .1d0, -.5d0, .8d0, .9d0, -.3d0, -.4d0,
537 m -1.6d0, .1d0, -2.2d0, .8d0, 5.4d0, -.3d0, -2.8d0,
538 n -1.5d0, .1d0, -1.4d0, .8d0, 3.6d0, -.3d0, -1.9d0,
539 o 3.7d0, .1d0, -2.2d0, .8d0, 3.6d0, -.3d0, -1.5d0 /
541 DATA dt19xd/.6d0, 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,
542 a .6d0, 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,
543 b .6d0, 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,
544 c .6d0, 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,
545 d .6d0, 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,
546 e -.8d0, 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,
547 f -.9d0, 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,
548 g 3.5d0, 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,
549 h .6d0, .1d0, 0.d0,0.d0,0.d0,0.d0,0.d0,
550 i -.8d0, -1.0d0, 0.d0,0.d0,0.d0,0.d0,0.d0,
551 j -.9d0, -.8d0, 0.d0,0.d0,0.d0,0.d0,0.d0,
552 k 3.5d0, .8d0, 0.d0,0.d0,0.d0,0.d0,0.d0,
553 l .6d0, .1d0, -.5d0, .8d0, 0.d0,0.d0,0.d0,
554 m -.8d0, -1.0d0, 1.4d0, -1.6d0, 0.d0,0.d0,0.d0,
555 n -.9d0, -.8d0, 1.3d0, -1.6d0, 0.d0,0.d0,0.d0,
556 o 3.5d0, .8d0, -3.1d0, 4.8d0, 0.d0,0.d0,0.d0/
558 DATA dt19ya/.5d0, 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,
559 a .5d0, 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,
560 b .5d0, 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,
561 c .5d0, 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,
562 d .5d0, 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,
563 e .7d0, 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,
564 f 1.7d0, 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,
565 g -2.6d0, 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,
566 h .5d0, -.9d0, 0.d0,0.d0,0.d0,0.d0,0.d0,
567 i .7d0, -4.8d0, 0.d0,0.d0,0.d0,0.d0,0.d0,
568 j 1.7d0, -.7d0, 0.d0,0.d0,0.d0,0.d0,0.d0,
569 k -2.6d0, 3.5d0, 0.d0,0.d0,0.d0,0.d0,0.d0,
570 l .5d0, -.9d0, .3d0, .7d0, 0.d0,0.d0,0.d0,
571 m .7d0, -4.8d0, 3.0d0, 1.1d0, 0.d0,0.d0,0.d0,
572 n 1.7d0, -.7d0, -.7d0, 2.3d0, 0.d0,0.d0,0.d0,
573 o -2.6d0, 3.5d0, -.7d0, -3.6d0, 0.d0,0.d0,0.d0/
575 DATA dt19yb/.5d0, 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,
576 a .5d0, 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,
577 b .5d0, 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,
578 c .5d0, 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,
579 d .5d0, 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,
580 e .7d0, 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,
581 f 1.7d0, 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,
582 g -2.6d0, 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,
583 h .5d0, -.9d0, .3d0, 0.d0,0.d0,0.d0,0.d0,
584 i 4.0d0, -.9d0, -.3d0, 0.d0,0.d0,0.d0,0.d0,
585 j -.5d0, -.9d0, 1.5d0, 0.d0,0.d0,0.d0,0.d0,
586 k -1.5d0, -.9d0, -1.8d0, 0.d0,0.d0,0.d0,0.d0,
587 l .5d0, -.9d0, .3d0, .7d0, -.6d0, .2d0, .8d0,
588 m 3.7d0, -.9d0, -1.2d0, .7d0, -1.5d0, .2d0, 2.2d0,
589 n -.3d0, -.9d0, 2.1d0, .7d0, -1.6d0, .2d0, 2.0d0,
590 o -1.6d0, -.9d0, -2.1d0, .7d0, 2.9d0, .2d0, -3.8d0 /
592 DATA dt19yc/.5d0, 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,
593 a .5d0, 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,
594 b .5d0, 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,
595 c .5d0, 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,
596 d .5d0, 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,
597 e .7d0, 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,
598 f 1.7d0, 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,
599 g -2.6d0, 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,
600 h .5d0, -.9d0, 0.d0,0.d0,0.d0,0.d0,0.d0,
601 i 4.0d0, -6.3d0, 0.d0,0.d0,0.d0,0.d0,0.d0,
602 j -.5d0, .3d0, 0.d0,0.d0,0.d0,0.d0,0.d0,
603 k -1.5d0, 3.0d0, 0.d0,0.d0,0.d0,0.d0,0.d0,
604 l .5d0, -.9d0, .3d0, .7d0, 0.d0,0.d0,0.d0,
605 m 3.7d0, -7.2d0, 3.0d0, 1.7d0, 0.d0,0.d0,0.d0,
606 n -.3d0, .9d0, -.7d0, 1.9d0, 0.d0,0.d0,0.d0,
607 o -1.6d0, 2.7d0, -.7d0, -3.4d0, 0.d0,0.d0,0.d0/
609 DATA dt19yd/.5d0, 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,
610 a .5d0, 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,
611 b .5d0, 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,
612 c .5d0, 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,
613 d .5d0, 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,
614 e .7d0, 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,
615 f 1.7d0, 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,
616 g -2.6d0, 0.d0,0.d0,0.d0,0.d0,0.d0,0.d0,
617 h .5d0, -.9d0, .3d0, 0.d0,0.d0,0.d0,0.d0,
618 i .7d0, -.9d0, 1.2d0, 0.d0,0.d0,0.d0,0.d0,
619 j 1.7d0, -.9d0, .5d0, 0.d0,0.d0,0.d0,0.d0,
620 k -2.6d0, -.9d0, -1.3d0, 0.d0,0.d0,0.d0,0.d0,
621 l .5d0, -.9d0, .3d0, .7d0, -.6d0, .2d0, .8d0,
622 m .7d0, -.9d0, 1.2d0, .7d0, -1.5d0, .2d0, 1.6d0,
623 n 1.7d0, -.9d0, .5d0, .7d0, -1.6d0, .2d0, 2.4d0,
624 o -2.6d0, -.9d0, -1.3d0, .7d0, 2.9d0, .2d0, -4.0d0 /
647 CALL stest1(ddot(n,sx,incx,sy,incy),dt7(kn,ki),ssize1(kn)
649 ELSE IF (icase.EQ.2)
THEN
651 CALL daxpy(n,sa,sx,incx,sy,incy)
653 sty(j) = dt8(j,kn,ki)
655 CALL stest(leny,sy,sty,ssize2(1,ksize),sfac)
656 ELSE IF (icase.EQ.5)
THEN
659 sty(i) = dt10y(i,kn,ki)
661 CALL dcopy(n,sx,incx,sy,incy)
662 CALL stest(leny,sy,sty,ssize2(1,1),1.0d0)
675 CALL dcopy(n,sx0,incx,sy0,incy)
676 CALL stest(1,sy0,sty0,ssize2(1,1),1.0d0)
680 ELSE IF (icase.EQ.6)
THEN
682 CALL dswap(n,sx,incx,sy,incy)
684 stx(i) = dt10x(i,kn,ki)
685 sty(i) = dt10y(i,kn,ki)
687 CALL stest(lenx,sx,stx,ssize2(1,1),1.0d0)
688 CALL stest(leny,sy,sty,ssize2(1,1),1.0d0)
689 ELSE IF (icase.EQ.12)
THEN
696 stx(i)= dt19x(i,kpar,kni)
697 sty(i)= dt19y(i,kpar,kni)
701 dtemp(i) = dpar(i,kpar)
709 IF ((kpar .EQ. 2) .AND. (kni .EQ. 7))
711 IF ((kpar .EQ. 3) .AND. (kni .EQ. 8))
714 CALL drotm(n,sx,incx,sy,incy,dtemp)
715 CALL stest(lenx,sx,stx,ssize,sfac)
716 CALL stest(leny,sy,sty,sty,sfac)
718 ELSE IF (icase.EQ.13)
THEN
720 CALL testdsdot(real(dsdot(n,real(sx),incx,real(sy),incy)),
721 $ real(dt7(kn,ki)),real(ssize1(kn)), .3125e-1)
723 WRITE (nout,*)
' Shouldn''t be here in CHECK2'
738 DOUBLE PRECISION SFAC
740 INTEGER ICASE, INCX, INCY, N
743 DOUBLE PRECISION SC, SS
744 INTEGER I, K, KI, KN, KSIZE, LENX, LENY, MX, MY
746 DOUBLE PRECISION COPYX(5), COPYY(5), DT9X(7,4,4), DT9Y(7,4,4),
747 + DX1(7), DY1(7), MWPC(11), MWPS(11), MWPSTX(5),
748 + MWPSTY(5), MWPTX(11,5), MWPTY(11,5), MWPX(5),
749 + MWPY(5), SSIZE2(14,2), STX(7), STY(7), SX(7),
751 INTEGER INCXS(4), INCYS(4), LENS(4,2), MWPINX(11),
752 + MWPINY(11), MWPN(11), NS(4)
758 COMMON /combla/icase, n, incx, incy, pass
760 DATA incxs/1, 2, -2, -1/
761 DATA incys/1, -2, 1, -2/
762 DATA lens/1, 1, 2, 4, 1, 1, 3, 7/
764 DATA dx1/0.6d0, 0.1d0, -0.5d0, 0.8d0, 0.9d0, -0.3d0,
766 DATA dy1/0.5d0, -0.9d0, 0.3d0, 0.7d0, -0.6d0, 0.2d0,
768 DATA sc, ss/0.8d0, 0.6d0/
769 DATA dt9x/0.6d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
770 + 0.0d0, 0.78d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
771 + 0.0d0, 0.0d0, 0.78d0, -0.46d0, 0.0d0, 0.0d0,
772 + 0.0d0, 0.0d0, 0.0d0, 0.78d0, -0.46d0, -0.22d0,
773 + 1.06d0, 0.0d0, 0.0d0, 0.0d0, 0.6d0, 0.0d0,
774 + 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.78d0,
775 + 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
776 + 0.66d0, 0.1d0, -0.1d0, 0.0d0, 0.0d0, 0.0d0,
777 + 0.0d0, 0.96d0, 0.1d0, -0.76d0, 0.8d0, 0.90d0,
778 + -0.3d0, -0.02d0, 0.6d0, 0.0d0, 0.0d0, 0.0d0,
779 + 0.0d0, 0.0d0, 0.0d0, 0.78d0, 0.0d0, 0.0d0,
780 + 0.0d0, 0.0d0, 0.0d0, 0.0d0, -0.06d0, 0.1d0,
781 + -0.1d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.90d0,
782 + 0.1d0, -0.22d0, 0.8d0, 0.18d0, -0.3d0, -0.02d0,
783 + 0.6d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
784 + 0.78d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
785 + 0.0d0, 0.78d0, 0.26d0, 0.0d0, 0.0d0, 0.0d0,
786 + 0.0d0, 0.0d0, 0.78d0, 0.26d0, -0.76d0, 1.12d0,
787 + 0.0d0, 0.0d0, 0.0d0/
788 DATA dt9y/0.5d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
789 + 0.0d0, 0.04d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
790 + 0.0d0, 0.0d0, 0.04d0, -0.78d0, 0.0d0, 0.0d0,
791 + 0.0d0, 0.0d0, 0.0d0, 0.04d0, -0.78d0, 0.54d0,
792 + 0.08d0, 0.0d0, 0.0d0, 0.0d0, 0.5d0, 0.0d0,
793 + 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.04d0,
794 + 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.7d0,
795 + -0.9d0, -0.12d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
796 + 0.64d0, -0.9d0, -0.30d0, 0.7d0, -0.18d0, 0.2d0,
797 + 0.28d0, 0.5d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
798 + 0.0d0, 0.0d0, 0.04d0, 0.0d0, 0.0d0, 0.0d0,
799 + 0.0d0, 0.0d0, 0.0d0, 0.7d0, -1.08d0, 0.0d0,
800 + 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.64d0, -1.26d0,
801 + 0.54d0, 0.20d0, 0.0d0, 0.0d0, 0.0d0, 0.5d0,
802 + 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
803 + 0.04d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
804 + 0.0d0, 0.04d0, -0.9d0, 0.18d0, 0.0d0, 0.0d0,
805 + 0.0d0, 0.0d0, 0.04d0, -0.9d0, 0.18d0, 0.7d0,
806 + -0.18d0, 0.2d0, 0.16d0/
807 DATA ssize2/0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
808 + 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
809 + 0.0d0, 1.17d0, 1.17d0, 1.17d0, 1.17d0, 1.17d0,
810 + 1.17d0, 1.17d0, 1.17d0, 1.17d0, 1.17d0, 1.17d0,
811 + 1.17d0, 1.17d0, 1.17d0/
831 stx(i) = dt9x(i,kn,ki)
832 sty(i) = dt9y(i,kn,ki)
834 CALL drot(n,sx,incx,sy,incy,sc,ss)
835 CALL stest(lenx,sx,stx,ssize2(1,ksize),sfac)
836 CALL stest(leny,sy,sty,ssize2(1,ksize),sfac)
838 WRITE (nout,*)
' Shouldn''t be here in CHECK3'
930 mwpstx(k) = mwptx(i,k)
931 mwpsty(k) = mwpty(i,k)
933 CALL drot(mwpn(i),copyx,incx,copyy,incy,mwpc(i),mwps(i))
934 CALL stest(5,copyx,mwpstx,mwpstx,sfac)
935 CALL stest(5,copyy,mwpsty,mwpsty,sfac)
942 SUBROUTINE stest(LEN,SCOMP,STRUE,SSIZE,SFAC)
953 DOUBLE PRECISION ZERO
954 parameter(nout=6, zero=0.0d0)
956 DOUBLE PRECISION SFAC
959 DOUBLE PRECISION SCOMP(LEN), SSIZE(LEN), STRUE(LEN)
961 INTEGER ICASE, INCX, INCY, N
967 DOUBLE PRECISION SDIFF
972 COMMON /combla/icase, n, incx, incy, pass
976 sd = scomp(i) - strue(i)
977 IF (abs(sfac*sd) .LE. abs(ssize(i))*epsilon(zero))
982 IF ( .NOT. pass)
GO TO 20
987 20
WRITE (nout,99997) icase, n, incx, incy, i, scomp(i),
988 + strue(i), sd, ssize(i)
99299999
FORMAT (
' FAIL')
99399998
FORMAT (/
' CASE N INCX INCY I ',
994 +
' COMP(I) TRUE(I) DIFFERENCE',
99699997
FORMAT (1x,i4,i3,2i5,i3,2d36.8,2d12.4)
1013 parameter(nout=6, zero=0.0e0)
1015 REAL SFAC, SCOMP, SSIZE, STRUE
1017 INTEGER ICASE, INCX, INCY, N
1024 COMMON /combla/icase, n, incx, incy, pass
1028 IF (abs(sfac*sd) .LE. abs(ssize) * epsilon(zero))
1033 IF ( .NOT. pass)
GO TO 20
1038 20
WRITE (nout,99997) icase, n, incx, incy, scomp,
104399999
FORMAT (
' FAIL')
104499998
FORMAT (/
' CASE N INCX INCY ',
1045 +
' COMP(I) TRUE(I) DIFFERENCE',
104799997
FORMAT (1x,i4,i3,1i5,i3,2e36.8,2e12.4)
1062 DOUBLE PRECISION SCOMP1, SFAC, STRUE1
1064 DOUBLE PRECISION SSIZE(*)
1066 DOUBLE PRECISION SCOMP(1), STRUE(1)
1073 CALL stest(1,scomp,strue,ssize,sfac)
1085 DOUBLE PRECISION sa, sb
1104 INTEGER ICOMP, ITRUE
1106 INTEGER ICASE, INCX, INCY, N
1111 COMMON /combla/icase, n, incx, incy, pass
1114 IF (icomp.EQ.itrue)
GO TO 40
1118 IF ( .NOT. pass)
GO TO 20
1123 20 id = icomp - itrue
1124 WRITE (nout,99997) icase, n, incx, incy, icomp, itrue, id
112899999
FORMAT (
' FAIL')
112999998
FORMAT (/
' CASE N INCX INCY ',
1130 +
' COMP TRUE DIFFERENCE',
113299997
FORMAT (1x,i4,i3,2i5,2i36,i12)
1155 DOUBLE PRECISION THRESH
1159 INTEGER NMAX, NOUT, NV
1160 parameter(nmax=20, nout=6, nv=10)
1161 DOUBLE PRECISION HALF, ONE, TWO, ZERO
1162 parameter(half=0.5d+0, one=1.0d+0, two= 2.0d+0,
1165 DOUBLE PRECISION DNRM2
1168 INTRINSIC abs, dble, max, min, sqrt
1170 DOUBLE PRECISION BIGNUM, SAFMAX, SAFMIN, SMLNUM, ULP
1171 parameter(bignum=0.99792015476735990583d+292,
1172 & safmax=0.44942328371557897693d+308,
1173 & safmin=0.22250738585072013831d-307,
1174 & smlnum=0.10020841800044863890d-291,
1175 & ulp=0.22204460492503130808d-015)
1177 DOUBLE PRECISION ROGUE, SNRM, TRAT, V0, V1, WORKSSQ, Y1, Y2,
1178 & YMAX, YMIN, YNRM, ZNRM
1179 INTEGER I, IV, IW, IX
1182 DOUBLE PRECISION VALUES(NV), WORK(NMAX), X(NMAX), Z(NMAX)
1185 values(2) = two*safmin
1189 values(6) = one / ulp
1192 values(9) = dxvals(v0,2)
1193 values(10) = dxvals(v0,3)
1194 rogue = -1234.5678d+0
1199 IF (n*abs(incx).GT.nmax)
THEN
1200 WRITE (nout,99)
"DNRM2", nmax, incx, n, n*abs(incx)
1212 CALL random_number(work(i))
1213 work(i) = one - two*work(i)
1221 workssq = workssq + work(i)*work(i)
1230 IF (abs(v0).GT.one)
THEN
1236 IF (abs(v1).GT.one)
THEN
1237 v1 = (v1*half) / sqrt(dble(n))
1247 y2 = abs(v1)*sqrt(workssq)
1258 IF ((y1.NE.y1).OR.(y2.NE.y2))
THEN
1261 ELSE IF (ymax == zero)
THEN
1263 ELSE IF (ymin == ymax)
THEN
1264 ynrm = sqrt(two)*ymax
1266 ynrm = ymax*sqrt(one + (ymin / ymax)**2)
1275 IF (incx.LT.0) ix = 1 - (n-1)*incx
1283 snrm = dnrm2(n,x,incx)
1289 znrm = sqrt(dble(n))*abs(x(1))
1296 IF ((snrm.NE.snrm).OR.(znrm.NE.znrm))
THEN
1297 IF ((snrm.NE.snrm).NEQV.(znrm.NE.znrm))
THEN
1302 ELSE IF (snrm == znrm)
THEN
1304 ELSE IF (znrm == zero)
THEN
1307 trat = (abs(snrm-znrm) / znrm) / (dble(n)*ulp)
1309 IF ((trat.NE.trat).OR.(trat.GE.thresh))
THEN
1314 WRITE (nout,98)
"DNRM2", n, incx, iv, iw, trat
131899999
FORMAT (
' FAIL')
1319 99
FORMAT (
' Not enough space to test ', a6,
': NMAX = ',i6,
1320 +
', INCX = ',i6,/,
' N = ',i6,
', must be at least ',i6 )
1321 98
FORMAT( 1x, a6,
': N=', i6,
', INCX=', i4,
', IV=', i2,
', IW=',
1322 + i2,
', test=', e15.8 )
1325 DOUBLE PRECISION FUNCTION dxvals(XX,K)
1330 DOUBLE PRECISION X, Y, YY, Z
1338 ELSE IF (k.EQ.2)
THEN
1340 ELSE IF (k.EQ.3)
THEN
subroutine stest(len, scomp, strue, ssize, sfac)
subroutine stest1(scomp1, strue1, ssize, sfac)
subroutine itest1(icomp, itrue)
real function sdiff(sa, sb)
subroutine testdsdot(scomp, strue, ssize, sfac)
subroutine db1nrm2(n, incx, thresh)
subroutine daxpy(n, da, dx, incx, dy, incy)
DAXPY
subroutine dcopy(n, dx, incx, dy, incy)
DCOPY
subroutine drot(n, dx, incx, dy, incy, c, s)
DROT
subroutine drotg(a, b, c, s)
DROTG
subroutine drotm(n, dx, incx, dy, incy, dparam)
DROTM
subroutine drotmg(dd1, dd2, dx1, dy1, dparam)
DROTMG
subroutine dscal(n, da, dx, incx)
DSCAL
subroutine dswap(n, dx, incx, dy, incy)
DSWAP