Skip to content

Commit a1233b3

Browse files
authored
Merge pull request #400 from matcross/master
Added test of I?AMAX when there are multiple maxima.
2 parents dba6115 + d107356 commit a1233b3

File tree

4 files changed

+58
-10
lines changed

4 files changed

+58
-10
lines changed

BLAS/TESTING/cblat1.f

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -127,10 +127,10 @@ SUBROUTINE CHECK1(SFAC)
127127
* .. Local Scalars ..
128128
COMPLEX CA
129129
REAL SA
130-
INTEGER I, J, LEN, NP1
130+
INTEGER I, IX, J, LEN, NP1
131131
* .. Local Arrays ..
132-
COMPLEX CTRUE5(8,5,2), CTRUE6(8,5,2), CV(8,5,2), CX(8),
133-
+ MWPCS(5), MWPCT(5)
132+
COMPLEX CTRUE5(8,5,2), CTRUE6(8,5,2), CV(8,5,2), CVR(8),
133+
+ CX(8), CXR(15), MWPCS(5), MWPCT(5)
134134
REAL STRUE2(5), STRUE4(5)
135135
INTEGER ITRUE3(5), ITRUEC(5)
136136
* .. External Functions ..
@@ -173,6 +173,9 @@ SUBROUTINE CHECK1(SFAC)
173173
+ (7.0E0,2.0E0), (0.3E0,0.1E0), (5.0E0,8.0E0),
174174
+ (0.5E0,0.0E0), (6.0E0,9.0E0), (0.0E0,0.5E0),
175175
+ (8.0E0,3.0E0), (0.0E0,0.2E0), (9.0E0,4.0E0)/
176+
DATA CVR/(8.0E0,8.0E0), (-7.0E0,-7.0E0),
177+
+ (9.0E0,9.0E0), (5.0E0,5.0E0), (9.0E0,9.0E0),
178+
+ (8.0E0,8.0E0), (7.0E0,7.0E0), (7.0E0,7.0E0)/
176179
DATA STRUE2/0.0E0, 0.5E0, 0.6E0, 0.7E0, 0.8E0/
177180
DATA STRUE4/0.0E0, 0.7E0, 1.0E0, 1.3E0, 1.6E0/
178181
DATA ((CTRUE5(I,J,1),I=1,8),J=1,5)/(0.1E0,0.1E0),
@@ -279,6 +282,15 @@ SUBROUTINE CHECK1(SFAC)
279282
END IF
280283
*
281284
40 CONTINUE
285+
IF (ICASE.EQ.10) THEN
286+
N = 8
287+
IX = 1
288+
DO 180 I = 1, N
289+
CXR(IX) = CVR(I)
290+
IX = IX + INCX
291+
180 CONTINUE
292+
CALL ITEST1(ICAMAX(N,CXR,INCX),3)
293+
END IF
282294
60 CONTINUE
283295
*
284296
INCX = 1

BLAS/TESTING/dblat1.f

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -249,10 +249,11 @@ SUBROUTINE CHECK1(SFAC)
249249
INTEGER ICASE, INCX, INCY, N
250250
LOGICAL PASS
251251
* .. Local Scalars ..
252-
INTEGER I, LEN, NP1
252+
INTEGER I, IX, LEN, NP1
253253
* .. Local Arrays ..
254254
DOUBLE PRECISION DTRUE1(5), DTRUE3(5), DTRUE5(8,5,2), DV(8,5,2),
255-
+ SA(10), STEMP(1), STRUE(8), SX(8)
255+
+ DVR(8), SA(10), STEMP(1), STRUE(8), SX(8),
256+
+ SXR(15)
256257
INTEGER ITRUE2(5), ITRUEC(5)
257258
* .. External Functions ..
258259
DOUBLE PRECISION DASUM, DNRM2
@@ -280,6 +281,8 @@ SUBROUTINE CHECK1(SFAC)
280281
+ 0.2D0, 3.0D0, -0.6D0, 5.0D0, 0.3D0, 2.0D0,
281282
+ 2.0D0, 2.0D0, 0.1D0, 4.0D0, -0.3D0, 6.0D0,
282283
+ -0.5D0, 7.0D0, -0.1D0, 3.0D0/
284+
DATA DVR/8.0D0, -7.0D0, 9.0D0, 5.0D0, 9.0D0, 8.0D0,
285+
+ 7.0D0, 7.0D0/
283286
DATA DTRUE1/0.0D0, 0.3D0, 0.5D0, 0.7D0, 0.6D0/
284287
DATA DTRUE3/0.0D0, 0.3D0, 0.7D0, 1.1D0, 1.0D0/
285288
DATA DTRUE5/0.10D0, 2.0D0, 2.0D0, 2.0D0, 2.0D0,
@@ -335,6 +338,15 @@ SUBROUTINE CHECK1(SFAC)
335338
STOP
336339
END IF
337340
60 CONTINUE
341+
IF (ICASE.EQ.10) THEN
342+
N = 8
343+
IX = 1
344+
DO 120 I = 1, N
345+
SXR(IX) = DVR(I)
346+
IX = IX + INCX
347+
120 CONTINUE
348+
CALL ITEST1(IDAMAX(N,SXR,INCX),3)
349+
END IF
338350
80 CONTINUE
339351
RETURN
340352
END

BLAS/TESTING/sblat1.f

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -249,10 +249,11 @@ SUBROUTINE CHECK1(SFAC)
249249
INTEGER ICASE, INCX, INCY, N
250250
LOGICAL PASS
251251
* .. Local Scalars ..
252-
INTEGER I, LEN, NP1
252+
INTEGER I, IX, LEN, NP1
253253
* .. Local Arrays ..
254254
REAL DTRUE1(5), DTRUE3(5), DTRUE5(8,5,2), DV(8,5,2),
255-
+ SA(10), STEMP(1), STRUE(8), SX(8)
255+
+ DVR(8), SA(10), STEMP(1), STRUE(8), SX(8),
256+
+ SXR(15)
256257
INTEGER ITRUE2(5), ITRUEC(5)
257258
* .. External Functions ..
258259
REAL SASUM, SNRM2
@@ -280,6 +281,8 @@ SUBROUTINE CHECK1(SFAC)
280281
+ 0.2E0, 3.0E0, -0.6E0, 5.0E0, 0.3E0, 2.0E0,
281282
+ 2.0E0, 2.0E0, 0.1E0, 4.0E0, -0.3E0, 6.0E0,
282283
+ -0.5E0, 7.0E0, -0.1E0, 3.0E0/
284+
DATA DVR/8.0E0, -7.0E0, 9.0E0, 5.0E0, 9.0E0, 8.0E0,
285+
+ 7.0E0, 7.0E0/
283286
DATA DTRUE1/0.0E0, 0.3E0, 0.5E0, 0.7E0, 0.6E0/
284287
DATA DTRUE3/0.0E0, 0.3E0, 0.7E0, 1.1E0, 1.0E0/
285288
DATA DTRUE5/0.10E0, 2.0E0, 2.0E0, 2.0E0, 2.0E0,
@@ -335,6 +338,15 @@ SUBROUTINE CHECK1(SFAC)
335338
STOP
336339
END IF
337340
60 CONTINUE
341+
IF (ICASE.EQ.10) THEN
342+
N = 8
343+
IX = 1
344+
DO 120 I = 1, N
345+
SXR(IX) = DVR(I)
346+
IX = IX + INCX
347+
120 CONTINUE
348+
CALL ITEST1(ISAMAX(N,SXR,INCX),3)
349+
END IF
338350
80 CONTINUE
339351
RETURN
340352
END

BLAS/TESTING/zblat1.f

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -127,10 +127,10 @@ SUBROUTINE CHECK1(SFAC)
127127
* .. Local Scalars ..
128128
COMPLEX*16 CA
129129
DOUBLE PRECISION SA
130-
INTEGER I, J, LEN, NP1
130+
INTEGER I, IX, J, LEN, NP1
131131
* .. Local Arrays ..
132-
COMPLEX*16 CTRUE5(8,5,2), CTRUE6(8,5,2), CV(8,5,2), CX(8),
133-
+ MWPCS(5), MWPCT(5)
132+
COMPLEX*16 CTRUE5(8,5,2), CTRUE6(8,5,2), CV(8,5,2), CVR(8),
133+
+ CX(8), CXR(15), MWPCS(5), MWPCT(5)
134134
DOUBLE PRECISION STRUE2(5), STRUE4(5)
135135
INTEGER ITRUE3(5), ITRUEC(5)
136136
* .. External Functions ..
@@ -173,6 +173,9 @@ SUBROUTINE CHECK1(SFAC)
173173
+ (7.0D0,2.0D0), (0.3D0,0.1D0), (5.0D0,8.0D0),
174174
+ (0.5D0,0.0D0), (6.0D0,9.0D0), (0.0D0,0.5D0),
175175
+ (8.0D0,3.0D0), (0.0D0,0.2D0), (9.0D0,4.0D0)/
176+
DATA CVR/(8.0D0,8.0D0), (-7.0D0,-7.0D0),
177+
+ (9.0D0,9.0D0), (5.0D0,5.0D0), (9.0D0,9.0D0),
178+
+ (8.0D0,8.0D0), (7.0D0,7.0D0), (7.0D0,7.0D0)/
176179
DATA STRUE2/0.0D0, 0.5D0, 0.6D0, 0.7D0, 0.8D0/
177180
DATA STRUE4/0.0D0, 0.7D0, 1.0D0, 1.3D0, 1.6D0/
178181
DATA ((CTRUE5(I,J,1),I=1,8),J=1,5)/(0.1D0,0.1D0),
@@ -279,6 +282,15 @@ SUBROUTINE CHECK1(SFAC)
279282
END IF
280283
*
281284
40 CONTINUE
285+
IF (ICASE.EQ.10) THEN
286+
N = 8
287+
IX = 1
288+
DO 180 I = 1, N
289+
CXR(IX) = CVR(I)
290+
IX = IX + INCX
291+
180 CONTINUE
292+
CALL ITEST1(IZAMAX(N,CXR,INCX),3)
293+
END IF
282294
60 CONTINUE
283295
*
284296
INCX = 1

0 commit comments

Comments
 (0)