9 INTEGER ICASE, INCX, INCY, MODE, N
17 COMMON /combla/icase, n, incx, incy, mode, pass
19 DATA sfac/9.765625d-4/
37 ELSE IF (icase.EQ.7 .OR. icase.EQ.8 .OR. icase.EQ.9 .OR.
40 ELSE IF (icase.EQ.1 .OR. icase.EQ.2 .OR. icase.EQ.5 .OR.
43 ELSE IF (icase.EQ.4)
THEN
47 IF (pass)
WRITE (nout,99998)
51 99999
FORMAT (
' Real CBLAS Test Program Results',/1x)
52 99998
FORMAT (
' ----- PASS -----')
59 INTEGER ICASE, INCX, INCY, MODE, N
64 COMMON /combla/icase, n, incx, incy, mode, pass
66 DATA l(1)/
'CBLAS_DDOT'/
67 DATA l(2)/
'CBLAS_DAXPY '/
68 DATA l(3)/
'CBLAS_DROTG '/
69 DATA l(4)/
'CBLAS_DROT '/
70 DATA l(5)/
'CBLAS_DCOPY '/
71 DATA l(6)/
'CBLAS_DSWAP '/
72 DATA l(7)/
'CBLAS_DNRM2 '/
73 DATA l(8)/
'CBLAS_DASUM '/
74 DATA l(9)/
'CBLAS_DSCAL '/
75 DATA l(10)/
'CBLAS_IDAMAX'/
77 WRITE (nout,99999) icase, l(icase)
80 99999
FORMAT (/
' Test of subprogram number',i3,9x,a15)
89 INTEGER ICASE, INCX, INCY, MODE, N
92 DOUBLE PRECISION SA, SB, SC, SS
95 DOUBLE PRECISION DA1(8), DATRUE(8), DB1(8), DBTRUE(8), DC1(8),
100 COMMON /combla/icase, n, incx, incy, mode, pass
102 DATA da1/0.3d0, 0.4d0, -0.3d0, -0.4d0, -0.3d0, 0.0d0,
104 DATA db1/0.4d0, 0.3d0, 0.4d0, 0.3d0, -0.4d0, 0.0d0,
106 DATA dc1/0.6d0, 0.8d0, -0.6d0, 0.8d0, 0.6d0, 1.0d0,
108 DATA ds1/0.8d0, 0.6d0, 0.8d0, -0.6d0, 0.8d0, 0.0d0,
110 DATA datrue/0.5d0, 0.5d0, 0.5d0, -0.5d0, -0.5d0,
111 + 0.0d0, 1.0d0, 1.0d0/
112 DATA dbtrue/0.0d0, 0.6d0, 0.0d0, -0.6d0, 0.0d0,
113 + 0.0d0, 1.0d0, 0.0d0/
119 dbtrue(1) = 1.0d0/0.6d0
120 dbtrue(3) = -1.0d0/0.6d0
121 dbtrue(5) = 1.0d0/0.6d0
131 CALL drotgtest(sa,sb,sc,ss)
132 CALL stest1(sa,datrue(k),datrue(k),sfac)
133 CALL stest1(sb,dbtrue(k),dbtrue(k),sfac)
134 CALL stest1(sc,dc1(k),dc1(k),sfac)
135 CALL stest1(ss,ds1(k),ds1(k),sfac)
137 WRITE (nout,*)
' Shouldn''t be here in CHECK0'
148 DOUBLE PRECISION SFAC
150 INTEGER ICASE, INCX, INCY, MODE, N
155 DOUBLE PRECISION DTRUE1(5), DTRUE3(5), DTRUE5(8,5,2), DV(8,5,2),
156 + sa(10), stemp(1), strue(8), sx(8)
159 DOUBLE PRECISION DASUMTEST, DNRM2TEST
161 EXTERNAL dasumtest, dnrm2test, idamaxtest
167 COMMON /combla/icase, n, incx, incy, mode, pass
169 DATA sa/0.3d0, -1.0d0, 0.0d0, 1.0d0, 0.3d0, 0.3d0,
170 + 0.3d0, 0.3d0, 0.3d0, 0.3d0/
171 DATA dv/0.1d0, 2.0d0, 2.0d0, 2.0d0, 2.0d0, 2.0d0,
172 + 2.0d0, 2.0d0, 0.3d0, 3.0d0, 3.0d0, 3.0d0, 3.0d0,
173 + 3.0d0, 3.0d0, 3.0d0, 0.3d0, -0.4d0, 4.0d0,
174 + 4.0d0, 4.0d0, 4.0d0, 4.0d0, 4.0d0, 0.2d0,
175 + -0.6d0, 0.3d0, 5.0d0, 5.0d0, 5.0d0, 5.0d0,
176 + 5.0d0, 0.1d0, -0.3d0, 0.5d0, -0.1d0, 6.0d0,
177 + 6.0d0, 6.0d0, 6.0d0, 0.1d0, 8.0d0, 8.0d0, 8.0d0,
178 + 8.0d0, 8.0d0, 8.0d0, 8.0d0, 0.3d0, 9.0d0, 9.0d0,
179 + 9.0d0, 9.0d0, 9.0d0, 9.0d0, 9.0d0, 0.3d0, 2.0d0,
180 + -0.4d0, 2.0d0, 2.0d0, 2.0d0, 2.0d0, 2.0d0,
181 + 0.2d0, 3.0d0, -0.6d0, 5.0d0, 0.3d0, 2.0d0,
182 + 2.0d0, 2.0d0, 0.1d0, 4.0d0, -0.3d0, 6.0d0,
183 + -0.5d0, 7.0d0, -0.1d0, 3.0d0/
184 DATA dtrue1/0.0d0, 0.3d0, 0.5d0, 0.7d0, 0.6d0/
185 DATA dtrue3/0.0d0, 0.3d0, 0.7d0, 1.1d0, 1.0d0/
186 DATA dtrue5/0.10d0, 2.0d0, 2.0d0, 2.0d0, 2.0d0,
187 + 2.0d0, 2.0d0, 2.0d0, -0.3d0, 3.0d0, 3.0d0,
188 + 3.0d0, 3.0d0, 3.0d0, 3.0d0, 3.0d0, 0.0d0, 0.0d0,
189 + 4.0d0, 4.0d0, 4.0d0, 4.0d0, 4.0d0, 4.0d0,
190 + 0.20d0, -0.60d0, 0.30d0, 5.0d0, 5.0d0, 5.0d0,
191 + 5.0d0, 5.0d0, 0.03d0, -0.09d0, 0.15d0, -0.03d0,
192 + 6.0d0, 6.0d0, 6.0d0, 6.0d0, 0.10d0, 8.0d0,
193 + 8.0d0, 8.0d0, 8.0d0, 8.0d0, 8.0d0, 8.0d0,
194 + 0.09d0, 9.0d0, 9.0d0, 9.0d0, 9.0d0, 9.0d0,
195 + 9.0d0, 9.0d0, 0.09d0, 2.0d0, -0.12d0, 2.0d0,
196 + 2.0d0, 2.0d0, 2.0d0, 2.0d0, 0.06d0, 3.0d0,
197 + -0.18d0, 5.0d0, 0.09d0, 2.0d0, 2.0d0, 2.0d0,
198 + 0.03d0, 4.0d0, -0.09d0, 6.0d0, -0.15d0, 7.0d0,
200 DATA itrue2/0, 1, 2, 2, 3/
208 sx(i) = dv(i,np1,incx)
213 stemp(1) = dtrue1(np1)
214 CALL stest1(dnrm2test(n,sx,incx),stemp,stemp,sfac)
215 ELSE IF (icase.EQ.8)
THEN
217 stemp(1) = dtrue3(np1)
218 CALL stest1(dasumtest(n,sx,incx),stemp,stemp,sfac)
219 ELSE IF (icase.EQ.9)
THEN
221 CALL dscaltest(n,sa((incx-1)*5+np1),sx,incx)
223 strue(i) = dtrue5(i,np1,incx)
225 CALL stest(len,sx,strue,strue,sfac)
226 ELSE IF (icase.EQ.10)
THEN
228 CALL itest1(idamaxtest(n,sx,incx),itrue2(np1))
230 WRITE (nout,*)
' Shouldn''t be here in CHECK1'
242 DOUBLE PRECISION SFAC
244 INTEGER ICASE, INCX, INCY, MODE, N
248 INTEGER I, J, KI, KN, KSIZE, LENX, LENY, MX, MY
250 DOUBLE PRECISION DT10X(7,4,4), DT10Y(7,4,4), DT7(4,4),
251 + dt8(7,4,4), dx1(7),
252 + dy1(7), ssize1(4), ssize2(14,2), stx(7), sty(7),
254 INTEGER INCXS(4), INCYS(4), LENS(4,2), NS(4)
257 DOUBLE PRECISION DDOTTEST
259 EXTERNAL daxpytest, dcopytest, dswaptest,
stest,
stest1
263 COMMON /combla/icase, n, incx, incy, mode, pass
266 DATA incxs/1, 2, -2, -1/
267 DATA incys/1, -2, 1, -2/
268 DATA lens/1, 1, 2, 4, 1, 1, 3, 7/
270 DATA dx1/0.6d0, 0.1d0, -0.5d0, 0.8d0, 0.9d0, -0.3d0,
272 DATA dy1/0.5d0, -0.9d0, 0.3d0, 0.7d0, -0.6d0, 0.2d0,
274 DATA dt7/0.0d0, 0.30d0, 0.21d0, 0.62d0, 0.0d0,
275 + 0.30d0, -0.07d0, 0.85d0, 0.0d0, 0.30d0, -0.79d0,
276 + -0.74d0, 0.0d0, 0.30d0, 0.33d0, 1.27d0/
277 DATA dt8/0.5d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
278 + 0.0d0, 0.68d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
279 + 0.0d0, 0.0d0, 0.68d0, -0.87d0, 0.0d0, 0.0d0,
280 + 0.0d0, 0.0d0, 0.0d0, 0.68d0, -0.87d0, 0.15d0,
281 + 0.94d0, 0.0d0, 0.0d0, 0.0d0, 0.5d0, 0.0d0,
282 + 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.68d0,
283 + 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
284 + 0.35d0, -0.9d0, 0.48d0, 0.0d0, 0.0d0, 0.0d0,
285 + 0.0d0, 0.38d0, -0.9d0, 0.57d0, 0.7d0, -0.75d0,
286 + 0.2d0, 0.98d0, 0.5d0, 0.0d0, 0.0d0, 0.0d0,
287 + 0.0d0, 0.0d0, 0.0d0, 0.68d0, 0.0d0, 0.0d0,
288 + 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.35d0, -0.72d0,
289 + 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.38d0,
290 + -0.63d0, 0.15d0, 0.88d0, 0.0d0, 0.0d0, 0.0d0,
291 + 0.5d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
292 + 0.68d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
293 + 0.0d0, 0.68d0, -0.9d0, 0.33d0, 0.0d0, 0.0d0,
294 + 0.0d0, 0.0d0, 0.68d0, -0.9d0, 0.33d0, 0.7d0,
295 + -0.75d0, 0.2d0, 1.04d0/
296 DATA dt10x/0.6d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
297 + 0.0d0, 0.5d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
298 + 0.0d0, 0.5d0, -0.9d0, 0.0d0, 0.0d0, 0.0d0,
299 + 0.0d0, 0.0d0, 0.5d0, -0.9d0, 0.3d0, 0.7d0,
300 + 0.0d0, 0.0d0, 0.0d0, 0.6d0, 0.0d0, 0.0d0, 0.0d0,
301 + 0.0d0, 0.0d0, 0.0d0, 0.5d0, 0.0d0, 0.0d0, 0.0d0,
302 + 0.0d0, 0.0d0, 0.0d0, 0.3d0, 0.1d0, 0.5d0, 0.0d0,
303 + 0.0d0, 0.0d0, 0.0d0, 0.8d0, 0.1d0, -0.6d0,
304 + 0.8d0, 0.3d0, -0.3d0, 0.5d0, 0.6d0, 0.0d0,
305 + 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.5d0, 0.0d0,
306 + 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, -0.9d0,
307 + 0.1d0, 0.5d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.7d0,
308 + 0.1d0, 0.3d0, 0.8d0, -0.9d0, -0.3d0, 0.5d0,
309 + 0.6d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
310 + 0.5d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
311 + 0.5d0, 0.3d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
312 + 0.5d0, 0.3d0, -0.6d0, 0.8d0, 0.0d0, 0.0d0,
314 DATA dt10y/0.5d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
315 + 0.0d0, 0.6d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
316 + 0.0d0, 0.6d0, 0.1d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
317 + 0.0d0, 0.6d0, 0.1d0, -0.5d0, 0.8d0, 0.0d0,
318 + 0.0d0, 0.0d0, 0.5d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
319 + 0.0d0, 0.0d0, 0.6d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
320 + 0.0d0, 0.0d0, -0.5d0, -0.9d0, 0.6d0, 0.0d0,
321 + 0.0d0, 0.0d0, 0.0d0, -0.4d0, -0.9d0, 0.9d0,
322 + 0.7d0, -0.5d0, 0.2d0, 0.6d0, 0.5d0, 0.0d0,
323 + 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.6d0, 0.0d0,
324 + 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, -0.5d0,
325 + 0.6d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
326 + -0.4d0, 0.9d0, -0.5d0, 0.6d0, 0.0d0, 0.0d0,
327 + 0.0d0, 0.5d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
328 + 0.0d0, 0.6d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
329 + 0.0d0, 0.6d0, -0.9d0, 0.1d0, 0.0d0, 0.0d0,
330 + 0.0d0, 0.0d0, 0.6d0, -0.9d0, 0.1d0, 0.7d0,
331 + -0.5d0, 0.2d0, 0.8d0/
332 DATA ssize1/0.0d0, 0.3d0, 1.6d0, 3.2d0/
333 DATA ssize2/0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
334 + 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
335 + 0.0d0, 1.17d0, 1.17d0, 1.17d0, 1.17d0, 1.17d0,
336 + 1.17d0, 1.17d0, 1.17d0, 1.17d0, 1.17d0, 1.17d0,
337 + 1.17d0, 1.17d0, 1.17d0/
359 CALL stest1(ddottest(n,sx,incx,sy,incy),dt7(kn,ki),
361 ELSE IF (icase.EQ.2)
THEN
363 CALL daxpytest(n,sa,sx,incx,sy,incy)
365 sty(j) = dt8(j,kn,ki)
367 CALL stest(leny,sy,sty,ssize2(1,ksize),sfac)
368 ELSE IF (icase.EQ.5)
THEN
371 sty(i) = dt10y(i,kn,ki)
373 CALL dcopytest(n,sx,incx,sy,incy)
374 CALL stest(leny,sy,sty,ssize2(1,1),1.0d0)
375 ELSE IF (icase.EQ.6)
THEN
377 CALL dswaptest(n,sx,incx,sy,incy)
379 stx(i) = dt10x(i,kn,ki)
380 sty(i) = dt10y(i,kn,ki)
382 CALL stest(lenx,sx,stx,ssize2(1,1),1.0d0)
383 CALL stest(leny,sy,sty,ssize2(1,1),1.0d0)
385 WRITE (nout,*)
' Shouldn''t be here in CHECK2'
397 DOUBLE PRECISION SFAC
399 INTEGER ICASE, INCX, INCY, MODE, N
402 DOUBLE PRECISION SC, SS
403 INTEGER I, K, KI, KN, KSIZE, LENX, LENY, MX, MY
405 DOUBLE PRECISION COPYX(5), COPYY(5), DT9X(7,4,4), DT9Y(7,4,4),
406 + dx1(7), dy1(7), mwpc(11), mwps(11), mwpstx(5),
407 + mwpsty(5), mwptx(11,5), mwpty(11,5), mwpx(5),
408 + mwpy(5), ssize2(14,2), stx(7), sty(7), sx(7),
410 INTEGER INCXS(4), INCYS(4), LENS(4,2), MWPINX(11),
411 + mwpiny(11), mwpn(11), ns(4)
413 EXTERNAL stest,drottest
417 COMMON /combla/icase, n, incx, incy, mode, pass
419 DATA incxs/1, 2, -2, -1/
420 DATA incys/1, -2, 1, -2/
421 DATA lens/1, 1, 2, 4, 1, 1, 3, 7/
423 DATA dx1/0.6d0, 0.1d0, -0.5d0, 0.8d0, 0.9d0, -0.3d0,
425 DATA dy1/0.5d0, -0.9d0, 0.3d0, 0.7d0, -0.6d0, 0.2d0,
427 DATA sc, ss/0.8d0, 0.6d0/
428 DATA dt9x/0.6d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
429 + 0.0d0, 0.78d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
430 + 0.0d0, 0.0d0, 0.78d0, -0.46d0, 0.0d0, 0.0d0,
431 + 0.0d0, 0.0d0, 0.0d0, 0.78d0, -0.46d0, -0.22d0,
432 + 1.06d0, 0.0d0, 0.0d0, 0.0d0, 0.6d0, 0.0d0,
433 + 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.78d0,
434 + 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
435 + 0.66d0, 0.1d0, -0.1d0, 0.0d0, 0.0d0, 0.0d0,
436 + 0.0d0, 0.96d0, 0.1d0, -0.76d0, 0.8d0, 0.90d0,
437 + -0.3d0, -0.02d0, 0.6d0, 0.0d0, 0.0d0, 0.0d0,
438 + 0.0d0, 0.0d0, 0.0d0, 0.78d0, 0.0d0, 0.0d0,
439 + 0.0d0, 0.0d0, 0.0d0, 0.0d0, -0.06d0, 0.1d0,
440 + -0.1d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.90d0,
441 + 0.1d0, -0.22d0, 0.8d0, 0.18d0, -0.3d0, -0.02d0,
442 + 0.6d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
443 + 0.78d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
444 + 0.0d0, 0.78d0, 0.26d0, 0.0d0, 0.0d0, 0.0d0,
445 + 0.0d0, 0.0d0, 0.78d0, 0.26d0, -0.76d0, 1.12d0,
446 + 0.0d0, 0.0d0, 0.0d0/
447 DATA dt9y/0.5d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
448 + 0.0d0, 0.04d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
449 + 0.0d0, 0.0d0, 0.04d0, -0.78d0, 0.0d0, 0.0d0,
450 + 0.0d0, 0.0d0, 0.0d0, 0.04d0, -0.78d0, 0.54d0,
451 + 0.08d0, 0.0d0, 0.0d0, 0.0d0, 0.5d0, 0.0d0,
452 + 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.04d0,
453 + 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.7d0,
454 + -0.9d0, -0.12d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
455 + 0.64d0, -0.9d0, -0.30d0, 0.7d0, -0.18d0, 0.2d0,
456 + 0.28d0, 0.5d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
457 + 0.0d0, 0.0d0, 0.04d0, 0.0d0, 0.0d0, 0.0d0,
458 + 0.0d0, 0.0d0, 0.0d0, 0.7d0, -1.08d0, 0.0d0,
459 + 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.64d0, -1.26d0,
460 + 0.54d0, 0.20d0, 0.0d0, 0.0d0, 0.0d0, 0.5d0,
461 + 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
462 + 0.04d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
463 + 0.0d0, 0.04d0, -0.9d0, 0.18d0, 0.0d0, 0.0d0,
464 + 0.0d0, 0.0d0, 0.04d0, -0.9d0, 0.18d0, 0.7d0,
465 + -0.18d0, 0.2d0, 0.16d0/
466 DATA ssize2/0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
467 + 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0, 0.0d0,
468 + 0.0d0, 1.17d0, 1.17d0, 1.17d0, 1.17d0, 1.17d0,
469 + 1.17d0, 1.17d0, 1.17d0, 1.17d0, 1.17d0, 1.17d0,
470 + 1.17d0, 1.17d0, 1.17d0/
490 stx(i) = dt9x(i,kn,ki)
491 sty(i) = dt9y(i,kn,ki)
493 CALL drottest(n,sx,incx,sy,incy,sc,ss)
494 CALL stest(lenx,sx,stx,ssize2(1,ksize),sfac)
495 CALL stest(leny,sy,sty,ssize2(1,ksize),sfac)
497 WRITE (nout,*)
' Shouldn''t be here in CHECK3'
589 mwpstx(k) = mwptx(i,k)
590 mwpsty(k) = mwpty(i,k)
592 CALL drottest(mwpn(i),copyx,incx,copyy,incy,mwpc(i),mwps(i))
593 CALL stest(5,copyx,mwpstx,mwpstx,sfac)
594 CALL stest(5,copyy,mwpsty,mwpsty,sfac)
598 SUBROUTINE stest(LEN,SCOMP,STRUE,SSIZE,SFAC)
611 DOUBLE PRECISION SFAC
614 DOUBLE PRECISION SCOMP(len), SSIZE(len), STRUE(len)
616 INTEGER ICASE, INCX, INCY, MODE, N
622 DOUBLE PRECISION SDIFF
627 COMMON /combla/icase, n, incx, incy, mode, pass
631 sd = scomp(i) - strue(i)
632 IF (sdiff(abs(ssize(i))+abs(sfac*sd),abs(ssize(i))).EQ.0.0d0)
637 IF ( .NOT. pass)
GO TO 20
642 20
WRITE (nout,99997) icase, n, incx, incy, mode, i, scomp(i),
643 + strue(i), sd, ssize(i)
647 99999
FORMAT (
' FAIL')
648 99998
FORMAT (/
' CASE N INCX INCY MODE I ',
649 +
' COMP(I) TRUE(I) DIFFERENCE',
651 99997
FORMAT (1x,i4,i3,3i5,i3,2d36.8,2d12.4)
653 SUBROUTINE stest1(SCOMP1,STRUE1,SSIZE,SFAC)
663 DOUBLE PRECISION SCOMP1, SFAC, STRUE1
665 DOUBLE PRECISION SSIZE(*)
667 DOUBLE PRECISION SCOMP(1), STRUE(1)
674 CALL stest(1,scomp,strue,ssize,sfac)
678 DOUBLE PRECISION FUNCTION sdiff(SA,SB)
683 DOUBLE PRECISION SA, SB
688 SUBROUTINE itest1(ICOMP,ITRUE)
701 INTEGER ICASE, INCX, INCY, MODE, N
706 COMMON /combla/icase, n, incx, incy, mode, pass
709 IF (icomp.EQ.itrue)
GO TO 40
713 IF ( .NOT. pass)
GO TO 20
718 20 id = icomp - itrue
719 WRITE (nout,99997) icase, n, incx, incy, mode, icomp, itrue, id
723 99999
FORMAT (
' FAIL')
724 99998
FORMAT (/
' CASE N INCX INCY MODE ',
725 +
' COMP TRUE DIFFERENCE',
727 99997
FORMAT (1x,i4,i3,3i5,2i36,i12)
subroutine itest1(ICOMP, ITRUE)
subroutine stest1(SCOMP1, STRUE1, SSIZE, SFAC)
real function sdiff(SA, SB)
subroutine stest(LEN, SCOMP, STRUE, SSIZE, SFAC)