Skip to content

Commit ad70e72

Browse files
Tests for C/S/D/ZAXBPY
1 parent 6cdf7bc commit ad70e72

File tree

4 files changed

+167
-46
lines changed

4 files changed

+167
-46
lines changed

BLAS/TESTING/cblat1.f

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ PROGRAM CBLAT1
7171
INCX = 9999
7272
INCY = 9999
7373
MODE = 9999
74-
IF (ICASE.LE.5 ) THEN
74+
IF (ICASE.LE.5 .OR. ICASE.EQ.11) THEN
7575
CALL CHECK2(SFAC)
7676
ELSE IF (ICASE.GE.6) THEN
7777
CALL CHECK1(SFAC)
@@ -546,51 +546,52 @@ SUBROUTINE CHECK2(SFAC)
546546
+ (1.54E0,1.54E0), (1.54E0,1.54E0),
547547
+ (1.54E0,1.54E0), (1.54E0,1.54E0),
548548
+ (1.54E0,1.54E0), (1.54E0,1.54E0)/
549+
549550
DATA ((CT11(I,J,1),I=1,7),J=1,4)/(0.6E0,-0.6E0),
550551
+ (0.0E0,0.0E0), (0.0E0,0.0E0), (0.0E0,0.0E0),
551552
+ (0.0E0,0.0E0), (0.0E0,0.0E0), (0.0E0,0.0E0),
552-
+ (0.32E0,-1.41E0), (0.0E0,0.0E0), (0.0E0,0.0E0),
553+
+ (-0.1E0,-1.47E0), (0.0E0,0.0E0), (0.0E0,0.0E0),
553554
+ (0.0E0,0.0E0), (0.0E0,0.0E0), (0.0E0,0.0E0),
554-
+ (0.0E0,0.0E0), (0.32E0,-1.41E0),
555-
+ (-1.55E0,0.5E0), (0.0E0,0.0E0), (0.0E0,0.0E0),
555+
+ (0.0E0,0.0E0), (-0.1E0,-1.47E0),
556+
+ (-1.08E0,0.71E0), (0.0E0,0.0E0), (0.0E0,0.0E0),
556557
+ (0.0E0,0.0E0), (0.0E0,0.0E0), (0.0E0,0.0E0),
557-
+ (0.32E0,-1.41E0), (-1.55E0,0.5E0),
558-
+ (0.03E0,-0.89E0), (-0.38E0,-0.96E0),
558+
+ (-0.1E0,-1.47E0), (-1.08E0,0.71E0),
559+
+ (-0.42E0,-0.99E0), (-0.61E0,-0.85E0),
559560
+ (0.0E0,0.0E0), (0.0E0,0.0E0), (0.0E0,0.0E0)/
560561
DATA ((CT11(I,J,2),I=1,7),J=1,4)/(0.6E0,-0.6E0),
561562
+ (0.0E0,0.0E0), (0.0E0,0.0E0), (0.0E0,0.0E0),
562563
+ (0.0E0,0.0E0), (0.0E0,0.0E0), (0.0E0,0.0E0),
563-
+ (0.32E0,-1.41E0), (0.0E0,0.0E0), (0.0E0,0.0E0),
564+
+ (-0.1E0,-1.47E0), (0.0E0,0.0E0), (0.0E0,0.0E0),
564565
+ (0.0E0,0.0E0), (0.0E0,0.0E0), (0.0E0,0.0E0),
565-
+ (0.0E0,0.0E0), (-0.07E0,-0.89E0),
566-
+ (-0.9E0,0.5E0), (0.42E0,-1.41E0), (0.0E0,0.0E0),
566+
+ (0.0E0,0.0E0), (-0.49E0,-0.95E0),
567+
+ (-0.9E0,0.5E0),(-0.03E0,-1.51E0), (0.0E0,0.0E0),
567568
+ (0.0E0,0.0E0), (0.0E0,0.0E0), (0.0E0,0.0E0),
568-
+ (0.78E0,0.06E0), (-0.9E0,0.5E0),
569-
+ (0.06E0,-0.13E0), (0.1E0,-0.5E0),
570-
+ (-0.77E0,-0.49E0), (-0.5E0,-0.3E0),
571-
+ (0.52E0,-1.51E0)/
569+
+ (0.36E0,0.00E0), (-0.9E0,0.5E0),
570+
+ (-0.39E0,-0.23E0), (0.1E0,-0.5E0),
571+
+ (-0.82E0,-0.39E0), (-0.5E0,-0.3E0),
572+
+ (0.0E0,-1.62E0)/
572573
DATA ((CT11(I,J,3),I=1,7),J=1,4)/(0.6E0,-0.6E0),
573574
+ (0.0E0,0.0E0), (0.0E0,0.0E0), (0.0E0,0.0E0),
574575
+ (0.0E0,0.0E0), (0.0E0,0.0E0), (0.0E0,0.0E0),
575-
+ (0.32E0,-1.41E0), (0.0E0,0.0E0), (0.0E0,0.0E0),
576+
+ (-0.1E0,-1.47E0), (0.0E0,0.0E0), (0.0E0,0.0E0),
576577
+ (0.0E0,0.0E0), (0.0E0,0.0E0), (0.0E0,0.0E0),
577-
+ (0.0E0,0.0E0), (-0.07E0,-0.89E0),
578-
+ (-1.18E0,-0.31E0), (0.0E0,0.0E0), (0.0E0,0.0E0),
578+
+ (0.0E0,0.0E0), (-0.49E0,-0.95E0),
579+
+ (-0.71E0,-0.1E0), (0.0E0,0.0E0), (0.0E0,0.0E0),
579580
+ (0.0E0,0.0E0), (0.0E0,0.0E0), (0.0E0,0.0E0),
580-
+ (0.78E0,0.06E0), (-1.54E0,0.97E0),
581-
+ (0.03E0,-0.89E0), (-0.18E0,-1.31E0),
581+
+ (0.36E0,0.00E0), (-1.07E0,1.18E0),
582+
+ (-0.42E0,-0.99E0), (-0.41E0,-1.2E0),
582583
+ (0.0E0,0.0E0), (0.0E0,0.0E0), (0.0E0,0.0E0)/
583584
DATA ((CT11(I,J,4),I=1,7),J=1,4)/(0.6E0,-0.6E0),
584585
+ (0.0E0,0.0E0), (0.0E0,0.0E0), (0.0E0,0.0E0),
585586
+ (0.0E0,0.0E0), (0.0E0,0.0E0), (0.0E0,0.0E0),
586-
+ (0.32E0,-1.41E0), (0.0E0,0.0E0), (0.0E0,0.0E0),
587+
+ (-0.1E0,-1.47E0), (0.0E0,0.0E0), (0.0E0,0.0E0),
587588
+ (0.0E0,0.0E0), (0.0E0,0.0E0), (0.0E0,0.0E0),
588-
+ (0.0E0,0.0E0), (0.32E0,-1.41E0), (-0.9E0,0.5E0),
589-
+ (0.05E0,-0.6E0), (0.0E0,0.0E0), (0.0E0,0.0E0),
590-
+ (0.0E0,0.0E0), (0.0E0,0.0E0), (0.32E0,-1.41E0),
591-
+ (-0.9E0,0.5E0), (0.05E0,-0.6E0), (0.1E0,-0.5E0),
592-
+ (-0.77E0,-0.49E0), (-0.5E0,-0.3E0),
593-
+ (0.32E0,-1.16E0)/
589+
+ (0.0E0,0.0E0), (-0.1E0,-1.47E0), (-0.9E0,0.5E0),
590+
+ (-0.4E0,-0.7E0), (0.0E0,0.0E0), (0.0E0,0.0E0),
591+
+ (0.0E0,0.0E0), (0.0E0,0.0E0), (-0.1E0,-1.47E0),
592+
+ (-0.9E0,0.5E0),(-0.4E0,-0.7E0), (0.1E0,-0.5E0),
593+
+ (-0.82E0,-0.39E0), (-0.5E0,-0.3E0),
594+
+ (-0.2E0,-1.27E0)/
594595

595596
* .. Executable Statements ..
596597
DO 60 KI = 1, 4
@@ -650,8 +651,7 @@ SUBROUTINE CHECK2(SFAC)
650651
ELSE IF (ICASE.EQ.11) THEN
651652
* .. CAXBPY ..
652653
CALL CAXPBY(N,CA,CX,INCX,CB,CY,INCY)
653-
CALL CTEST(LENY,CY,CT8(1,KN,KI),CSIZE2(1,KSIZE),SFAC)
654-
654+
CALL CTEST(LENY,CY,CT11(1,KN,KI),CSIZE2(1,KSIZE),SFAC)
655655
ELSE
656656
WRITE (NOUT,*) ' Shouldn''t be here in CHECK2'
657657
STOP

BLAS/TESTING/dblat1.f

Lines changed: 40 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ PROGRAM DBLAT1
5858
DATA SFAC/9.765625D-4/
5959
* .. Executable Statements ..
6060
WRITE (NOUT,99999)
61-
DO 20 IC = 1, 13
61+
DO 20 IC = 1, 14
6262
ICASE = IC
6363
CALL HEADER
6464
*
@@ -76,7 +76,8 @@ PROGRAM DBLAT1
7676
+ ICASE.EQ.10) THEN
7777
CALL CHECK1(SFAC)
7878
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
79+
+ ICASE.EQ.6 .OR. ICASE.EQ.12 .OR. ICASE.EQ.13 .OR.
80+
+ ICASE.EQ.14 ) THEN
8081
CALL CHECK2(SFAC)
8182
ELSE IF (ICASE.EQ.4) THEN
8283
CALL CHECK3(SFAC)
@@ -100,7 +101,7 @@ SUBROUTINE HEADER
100101
INTEGER ICASE, INCX, INCY, N
101102
LOGICAL PASS
102103
* .. Local Arrays ..
103-
CHARACTER*6 L(13)
104+
CHARACTER*6 L(14)
104105
* .. Common blocks ..
105106
COMMON /COMBLA/ICASE, N, INCX, INCY, PASS
106107
* .. Data statements ..
@@ -117,6 +118,8 @@ SUBROUTINE HEADER
117118
DATA L(11)/'DROTMG'/
118119
DATA L(12)/'DROTM '/
119120
DATA L(13)/'DSDOT '/
121+
DATA L(14)/'DAXPBY'/
122+
120123
* .. Executable Statements ..
121124
WRITE (NOUT,99999) ICASE, L(ICASE)
122125
RETURN
@@ -374,7 +377,7 @@ SUBROUTINE CHECK2(SFAC)
374377
INTEGER ICASE, INCX, INCY, N
375378
LOGICAL PASS
376379
* .. Local Scalars ..
377-
DOUBLE PRECISION SA
380+
DOUBLE PRECISION SA, SB
378381
INTEGER I, J, KI, KN, KNI, KPAR, KSIZE, LENX, LENY,
379382
$ LINCX, LINCY, MX, MY
380383
* .. Local Arrays ..
@@ -386,14 +389,14 @@ SUBROUTINE CHECK2(SFAC)
386389
$ DT19XB(7,4,4), DT19XC(7,4,4),DT19XD(7,4,4),
387390
$ DT19Y(7,4,16), DT19YA(7,4,4),DT19YB(7,4,4),
388391
$ DT19YC(7,4,4), DT19YD(7,4,4), DTEMP(5),
389-
$ STY0(1), SX0(1), SY0(1)
392+
$ STY0(1), SX0(1), SY0(1), DT20(7,4,4)
390393
INTEGER INCXS(4), INCYS(4), LENS(4,2), NS(4)
391394
* .. External Functions ..
392395
DOUBLE PRECISION DDOT, DSDOT
393396
EXTERNAL DDOT, DSDOT
394397
* .. External Subroutines ..
395-
EXTERNAL DAXPY, DCOPY, DROTM, DSWAP, STEST, STEST1,
396-
$ TESTDSDOT
398+
EXTERNAL DAXPY, DAXPBY, DCOPY, DROTM, DSWAP, STEST,
399+
$ STEST1, TESTDSDOT
397400
* .. Intrinsic Functions ..
398401
INTRINSIC ABS, MIN
399402
* .. Common blocks ..
@@ -407,6 +410,7 @@ SUBROUTINE CHECK2(SFAC)
407410
B (DT19Y(1,1,13),DT19YD(1,1,1))
408411

409412
DATA SA/0.3D0/
413+
DATA SB/0.5D0/
410414
DATA INCXS/1, 2, -2, -1/
411415
DATA INCYS/1, -2, 1, -2/
412416
DATA LENS/1, 1, 2, 4, 1, 1, 3, 7/
@@ -622,6 +626,27 @@ SUBROUTINE CHECK2(SFAC)
622626
M .7D0, -.9D0, 1.2D0, .7D0, -1.5D0, .2D0, 1.6D0,
623627
N 1.7D0, -.9D0, .5D0, .7D0, -1.6D0, .2D0, 2.4D0,
624628
O -2.6D0, -.9D0, -1.3D0, .7D0, 2.9D0, .2D0, -4.0D0 /
629+
DATA DT20/0.5D0, 0.0D0, 0.0D0, 0.0D0, 0.0D0, 0.0D0,
630+
+ 0.0D0, 0.43D0, 0.0D0, 0.0D0, 0.0D0, 0.0D0,
631+
+ 0.0D0, 0.0D0, 0.43D0, -0.42D0, 0.0D0, 0.0D0,
632+
+ 0.0D0, 0.0D0, 0.0D0, 0.43D0, -0.42D0, 0.0D0,
633+
+ 0.59D0, 0.0D0, 0.0D0, 0.0D0, 0.5D0, 0.0D0,
634+
+ 0.0D0, 0.0D0, 0.0D0, 0.0D0, 0.0D0, 0.43D0,
635+
+ 0.0D0, 0.0D0, 0.0D0, 0.0D0, 0.0D0, 0.0D0,
636+
+ 0.1D0, -0.9D0, 0.33D0, 0.0D0, 0.0D0, 0.0D0,
637+
+ 0.0D0, 0.13D0, -0.9D0, 0.42D0, 0.7D0, -0.45D0,
638+
+ 0.2D0, 0.58D0, 0.5D0, 0.0D0, 0.0D0, 0.0D0,
639+
+ 0.0D0, 0.0D0, 0.0D0, 0.43D0, 0.0D0, 0.0D0,
640+
+ 0.0D0, 0.0D0, 0.0D0, 0.0D0, 0.1D0, -0.27D0,
641+
+ 0.0D0, 0.0D0, 0.0D0, 0.0D0, 0.0D0, 0.13D0,
642+
+ -0.18D0, 0.00D0, 0.53D0, 0.0D0, 0.0D0, 0.0D0,
643+
+ 0.5D0, 0.0D0, 0.0D0, 0.0D0, 0.0D0, 0.0D0, 0.0D0,
644+
+ 0.43D0, 0.0D0, 0.0D0, 0.0D0, 0.0D0, 0.0D0,
645+
+ 0.0D0, 0.43D0, -0.9D0, 0.18D0, 0.0D0, 0.0D0,
646+
+ 0.0D0, 0.0D0, 0.43D0, -0.9D0, 0.18D0, 0.7D0,
647+
+ -0.45D0, 0.2D0, 0.64D0/
648+
649+
625650
*
626651
* .. Executable Statements ..
627652
*
@@ -653,6 +678,14 @@ SUBROUTINE CHECK2(SFAC)
653678
STY(J) = DT8(J,KN,KI)
654679
40 CONTINUE
655680
CALL STEST(LENY,SY,STY,SSIZE2(1,KSIZE),SFAC)
681+
ELSE IF (ICASE.EQ.14) THEN
682+
* .. DAXPBY ..
683+
CALL DAXPBY(N,SA,SX,INCX,SB,SY,INCY)
684+
DO 50 J = 1, LENY
685+
STY(J) = DT20(J,KN,KI)
686+
50 CONTINUE
687+
CALL STEST(LENY,SY,STY,SSIZE2(1,KSIZE),SFAC)
688+
656689
ELSE IF (ICASE.EQ.5) THEN
657690
* .. DCOPY ..
658691
DO 60 I = 1, 7

BLAS/TESTING/sblat1.f

Lines changed: 39 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ PROGRAM SBLAT1
5858
DATA SFAC/9.765625E-4/
5959
* .. Executable Statements ..
6060
WRITE (NOUT,99999)
61-
DO 20 IC = 1, 13
61+
DO 20 IC = 1, 14
6262
ICASE = IC
6363
CALL HEADER
6464
*
@@ -76,7 +76,8 @@ PROGRAM SBLAT1
7676
+ ICASE.EQ.10) THEN
7777
CALL CHECK1(SFAC)
7878
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
79+
+ ICASE.EQ.6 .OR. ICASE.EQ.12 .OR. ICASE.EQ.13 .OR.
80+
+ ICASE.EQ.14 ) THEN
8081
CALL CHECK2(SFAC)
8182
ELSE IF (ICASE.EQ.4) THEN
8283
CALL CHECK3(SFAC)
@@ -100,7 +101,7 @@ SUBROUTINE HEADER
100101
INTEGER ICASE, INCX, INCY, N
101102
LOGICAL PASS
102103
* .. Local Arrays ..
103-
CHARACTER*6 L(13)
104+
CHARACTER*6 L(14)
104105
* .. Common blocks ..
105106
COMMON /COMBLA/ICASE, N, INCX, INCY, PASS
106107
* .. Data statements ..
@@ -117,6 +118,8 @@ SUBROUTINE HEADER
117118
DATA L(11)/'SROTMG'/
118119
DATA L(12)/'SROTM '/
119120
DATA L(13)/'SDSDOT'/
121+
DATA L(14)/'SAXPBY'/
122+
120123
* .. Executable Statements ..
121124
WRITE (NOUT,99999) ICASE, L(ICASE)
122125
RETURN
@@ -374,7 +377,7 @@ SUBROUTINE CHECK2(SFAC)
374377
INTEGER ICASE, INCX, INCY, N
375378
LOGICAL PASS
376379
* .. Local Scalars ..
377-
REAL SA
380+
REAL SA,SB
378381
INTEGER I, J, KI, KN, KNI, KPAR, KSIZE, LENX, LENY,
379382
$ LINCX, LINCY, MX, MY
380383
* .. Local Arrays ..
@@ -386,13 +389,13 @@ SUBROUTINE CHECK2(SFAC)
386389
$ DT19XB(7,4,4), DT19XC(7,4,4),DT19XD(7,4,4),
387390
$ DT19Y(7,4,16), DT19YA(7,4,4),DT19YB(7,4,4),
388391
$ DT19YC(7,4,4), DT19YD(7,4,4), DTEMP(5),
389-
$ ST7B(4,4), STY0(1), SX0(1), SY0(1)
392+
$ ST7B(4,4), STY0(1), SX0(1), SY0(1), DT20(7,4,4)
390393
INTEGER INCXS(4), INCYS(4), LENS(4,2), NS(4)
391394
* .. External Functions ..
392395
REAL SDOT, SDSDOT
393396
EXTERNAL SDOT, SDSDOT
394397
* .. External Subroutines ..
395-
EXTERNAL SAXPY, SCOPY, SROTM, SSWAP, STEST, STEST1
398+
EXTERNAL SAXPY, SAXPBY,SCOPY, SROTM, SSWAP, STEST, STEST1
396399
* .. Intrinsic Functions ..
397400
INTRINSIC ABS, MIN
398401
* .. Common blocks ..
@@ -406,6 +409,7 @@ SUBROUTINE CHECK2(SFAC)
406409
B (DT19Y(1,1,13),DT19YD(1,1,1))
407410

408411
DATA SA/0.3E0/
412+
DATA SB/0.5E0/
409413
DATA INCXS/1, 2, -2, -1/
410414
DATA INCYS/1, -2, 1, -2/
411415
DATA LENS/1, 1, 2, 4, 1, 1, 3, 7/
@@ -624,6 +628,27 @@ SUBROUTINE CHECK2(SFAC)
624628
M .7E0, -.9E0, 1.2E0, .7E0, -1.5E0, .2E0, 1.6E0,
625629
N 1.7E0, -.9E0, .5E0, .7E0, -1.6E0, .2E0, 2.4E0,
626630
O -2.6E0, -.9E0, -1.3E0, .7E0, 2.9E0, .2E0, -4.0E0 /
631+
DATA DT20/0.5E0, 0.0E0, 0.0E0, 0.0E0, 0.0E0, 0.0E0,
632+
+ 0.0E0, 0.43E0, 0.0E0, 0.0E0, 0.0E0, 0.0E0,
633+
+ 0.0E0, 0.0E0, 0.43E0, -0.42E0, 0.0E0, 0.0E0,
634+
+ 0.0E0, 0.0E0, 0.0E0, 0.43E0, -0.42E0, 0.0E0,
635+
+ 0.59E0, 0.0E0, 0.0E0, 0.0E0, 0.5E0, 0.0E0,
636+
+ 0.0E0, 0.0E0, 0.0E0, 0.0E0, 0.0E0, 0.43E0,
637+
+ 0.0E0, 0.0E0, 0.0E0, 0.0E0, 0.0E0, 0.0E0,
638+
+ 0.1E0, -0.9E0, 0.33E0, 0.0E0, 0.0E0, 0.0E0,
639+
+ 0.0E0, 0.13E0, -0.9E0, 0.42E0, 0.7E0, -0.45E0,
640+
+ 0.2E0, 0.58E0, 0.5E0, 0.0E0, 0.0E0, 0.0E0,
641+
+ 0.0E0, 0.0E0, 0.0E0, 0.43E0, 0.0E0, 0.0E0,
642+
+ 0.0E0, 0.0E0, 0.0E0, 0.0E0, 0.1E0, -0.27E0,
643+
+ 0.0E0, 0.0E0, 0.0E0, 0.0E0, 0.0E0, 0.13E0,
644+
+ -0.18E0, 0.00E0, 0.53E0, 0.0E0, 0.0E0, 0.0E0,
645+
+ 0.5E0, 0.0E0, 0.0E0, 0.0E0, 0.0E0, 0.0E0, 0.0E0,
646+
+ 0.43E0, 0.0E0, 0.0E0, 0.0E0, 0.0E0, 0.0E0,
647+
+ 0.0E0, 0.43E0, -0.9E0, 0.18E0, 0.0E0, 0.0E0,
648+
+ 0.0E0, 0.0E0, 0.43E0, -0.9E0, 0.18E0, 0.7E0,
649+
+ -0.45E0, 0.2E0, 0.64E0/
650+
651+
627652
*
628653
* .. Executable Statements ..
629654
*
@@ -655,6 +680,14 @@ SUBROUTINE CHECK2(SFAC)
655680
STY(J) = DT8(J,KN,KI)
656681
40 CONTINUE
657682
CALL STEST(LENY,SY,STY,SSIZE2(1,KSIZE),SFAC)
683+
ELSE IF (ICASE.EQ.14) THEN
684+
* .. SAXPBY ..
685+
CALL SAXPBY(N,SA,SX,INCX,SB,SY,INCY)
686+
DO 50 J = 1, LENY
687+
STY(J) = DT20(J,KN,KI)
688+
50 CONTINUE
689+
CALL STEST(LENY,SY,STY,SSIZE2(1,KSIZE),SFAC)
690+
658691
ELSE IF (ICASE.EQ.5) THEN
659692
* .. SCOPY ..
660693
DO 60 I = 1, 7

0 commit comments

Comments
 (0)