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(1),stemp,sfac)
 
  215            ELSE IF (icase.EQ.8) 
THEN 
  217               stemp(1) = dtrue3(np1)
 
  218               CALL stest1(dasumtest(n,sx,incx),stemp(1),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)