Fix -Wconversion errors in single TESTING/LIN sources during Index-64 builds
This commit is contained in:
@@ -116,7 +116,7 @@
|
||||
DO 40 J = 1, NSZ
|
||||
DO 30 I = 1, NSZ
|
||||
IF( I.LE.M .AND. J.LE.N ) THEN
|
||||
A( I, J ) = POW( I+J+1 )*( -1 )**( I+J )
|
||||
A( I, J ) = POW( I+J+1 )*REAL( -1 )**( I+J )
|
||||
ELSE
|
||||
A( I, J ) = ZERO
|
||||
END IF
|
||||
@@ -189,7 +189,7 @@
|
||||
IF( I.LE.MIN( M, J+KL ) .AND. I.GE.
|
||||
$ MAX( 1, J-KU ) .AND. J.LE.N ) THEN
|
||||
AB( KU+1+I-J, J ) = POW( I+J+1 )*
|
||||
$ ( -1 )**( I+J )
|
||||
$ REAL( -1 )**( I+J )
|
||||
END IF
|
||||
140 CONTINUE
|
||||
150 CONTINUE
|
||||
@@ -269,7 +269,7 @@
|
||||
DO 270 I = 1, NSZ
|
||||
DO 260 J = 1, NSZ
|
||||
IF( I.LE.N .AND. J.EQ.I ) THEN
|
||||
A( I, J ) = POW( I+J+1 )*( -1 )**( I+J )
|
||||
A( I, J ) = POW( I+J+1 )*REAL( -1 )**( I+J )
|
||||
ELSE
|
||||
A( I, J ) = ZERO
|
||||
END IF
|
||||
|
||||
@@ -256,7 +256,7 @@
|
||||
IF( ( IMAT.LT.3 .OR. IMAT.GT.5 ) .AND. IRANK.GT.1 )
|
||||
$ GO TO 130
|
||||
*
|
||||
RANK = CEILING( ( N * REAL( RANKVAL( IRANK ) ) )
|
||||
RANK = CEILING( ( REAL( N ) * REAL( RANKVAL( IRANK ) ) )
|
||||
$ / 100.E+0 )
|
||||
*
|
||||
*
|
||||
|
||||
@@ -538,7 +538,7 @@
|
||||
IF( K.LE.1 )
|
||||
$ GO TO 130
|
||||
*
|
||||
IF( IWORK( K ).GT.ZERO ) THEN
|
||||
IF( IWORK( K ).GT.0 ) THEN
|
||||
*
|
||||
* Get max absolute value from elements
|
||||
* in column k in in U
|
||||
@@ -576,7 +576,7 @@
|
||||
IF( K.GE.N )
|
||||
$ GO TO 150
|
||||
*
|
||||
IF( IWORK( K ).GT.ZERO ) THEN
|
||||
IF( IWORK( K ).GT.0 ) THEN
|
||||
*
|
||||
* Get max absolute value from elements
|
||||
* in column k in in L
|
||||
@@ -625,7 +625,7 @@
|
||||
IF( K.LE.1 )
|
||||
$ GO TO 170
|
||||
*
|
||||
IF( IWORK( K ).LT.ZERO ) THEN
|
||||
IF( IWORK( K ).LT.0 ) THEN
|
||||
*
|
||||
* Get the two singular values
|
||||
* (real and non-negative) of a 2-by-2 block,
|
||||
@@ -668,7 +668,7 @@
|
||||
IF( K.GE.N )
|
||||
$ GO TO 190
|
||||
*
|
||||
IF( IWORK( K ).LT.ZERO ) THEN
|
||||
IF( IWORK( K ).LT.0 ) THEN
|
||||
*
|
||||
* Get the two singular values
|
||||
* (real and non-negative) of a 2-by-2 block,
|
||||
|
||||
@@ -526,7 +526,7 @@
|
||||
IF( K.LE.1 )
|
||||
$ GO TO 130
|
||||
*
|
||||
IF( IWORK( K ).GT.ZERO ) THEN
|
||||
IF( IWORK( K ).GT.0 ) THEN
|
||||
*
|
||||
* Get max absolute value from elements
|
||||
* in column k in in U
|
||||
@@ -564,7 +564,7 @@
|
||||
IF( K.GE.N )
|
||||
$ GO TO 150
|
||||
*
|
||||
IF( IWORK( K ).GT.ZERO ) THEN
|
||||
IF( IWORK( K ).GT.0 ) THEN
|
||||
*
|
||||
* Get max absolute value from elements
|
||||
* in column k in in L
|
||||
@@ -614,7 +614,7 @@
|
||||
IF( K.LE.1 )
|
||||
$ GO TO 170
|
||||
*
|
||||
IF( IWORK( K ).LT.ZERO ) THEN
|
||||
IF( IWORK( K ).LT.0 ) THEN
|
||||
*
|
||||
* Get the two singular values
|
||||
* (real and non-negative) of a 2-by-2 block,
|
||||
@@ -658,7 +658,7 @@
|
||||
IF( K.GE.N )
|
||||
$ GO TO 190
|
||||
*
|
||||
IF( IWORK( K ).LT.ZERO ) THEN
|
||||
IF( IWORK( K ).LT.0 ) THEN
|
||||
*
|
||||
* Get the two singular values
|
||||
* (real and non-negative) of a 2-by-2 block,
|
||||
|
||||
@@ -159,8 +159,8 @@
|
||||
EPS = SLAMCH( 'Precision' )
|
||||
SMALL = SLAMCH( 'Safe minimum' )
|
||||
LARGE = ONE / SMALL
|
||||
SMALL = SMALL * LDA * LDA
|
||||
LARGE = LARGE / LDA / LDA
|
||||
SMALL = SMALL * REAL( LDA ) * REAL( LDA )
|
||||
LARGE = LARGE / REAL( LDA ) / REAL( LDA )
|
||||
*
|
||||
DO 130 IIN = 1, NN
|
||||
*
|
||||
|
||||
@@ -357,7 +357,7 @@
|
||||
+ S_WORK_SLANGE )
|
||||
*
|
||||
RESULT( 1 ) = RESULT( 1 ) / SQRT( EPS )
|
||||
+ / MAX ( MAX( M, N ), 1 )
|
||||
+ / REAL( MAX( M, N, 1 ) )
|
||||
*
|
||||
IF( RESULT( 1 ).GE.THRESH ) THEN
|
||||
IF( NFAIL.EQ.0 ) THEN
|
||||
|
||||
@@ -314,7 +314,7 @@
|
||||
RESULT(1) = RESULT(1)
|
||||
+ / MAX( ABS( ALPHA ) * NORMA
|
||||
+ + ABS( BETA ) , ONE )
|
||||
+ / MAX( N , 1 ) / EPS
|
||||
+ / REAL( MAX( N , 1 ) ) / EPS
|
||||
*
|
||||
IF( RESULT(1).GE.THRESH ) THEN
|
||||
IF( NFAIL.EQ.0 ) THEN
|
||||
|
||||
@@ -277,7 +277,8 @@
|
||||
AXBI = MIN( AXBI, TMP )
|
||||
END IF
|
||||
60 CONTINUE
|
||||
TMP = BERR( K ) / ( NZ*EPS+NZ*UNFL / MAX( AXBI, NZ*UNFL ) )
|
||||
TMP = BERR( K ) / ( REAL( NZ )*EPS+REAL( NZ )*UNFL /
|
||||
$ MAX( AXBI, REAL( NZ )*UNFL ) )
|
||||
IF( K.EQ.1 ) THEN
|
||||
RESLTS( 2 ) = TMP
|
||||
ELSE
|
||||
|
||||
@@ -267,8 +267,8 @@
|
||||
AXBI = MIN( AXBI, TMP )
|
||||
END IF
|
||||
60 CONTINUE
|
||||
TMP = BERR( K ) / ( ( N+1 )*EPS+( N+1 )*UNFL /
|
||||
$ MAX( AXBI, ( N+1 )*UNFL ) )
|
||||
TMP = BERR( K ) / ( REAL( N+1 )*EPS+REAL( N+1 )*UNFL /
|
||||
$ MAX( AXBI, REAL( N+1 )*UNFL ) )
|
||||
IF( K.EQ.1 ) THEN
|
||||
RESLTS( 2 ) = TMP
|
||||
ELSE
|
||||
|
||||
@@ -282,7 +282,8 @@
|
||||
AXBI = MIN( AXBI, TMP )
|
||||
END IF
|
||||
END IF
|
||||
TMP = BERR( K ) / ( NZ*EPS+NZ*UNFL / MAX( AXBI, NZ*UNFL ) )
|
||||
TMP = BERR( K ) / ( REAL( NZ )*EPS+REAL( NZ )*UNFL /
|
||||
$ MAX( AXBI, REAL( NZ )*UNFL ) )
|
||||
IF( K.EQ.1 ) THEN
|
||||
RESLTS( 2 ) = TMP
|
||||
ELSE
|
||||
|
||||
@@ -230,11 +230,11 @@
|
||||
DO 10 I = MAX( 1, KD+2-J ), KD
|
||||
AB( I, J ) = ZERO
|
||||
10 CONTINUE
|
||||
AB( KD+1, J ) = J
|
||||
AB( KD+1, J ) = REAL( J )
|
||||
20 CONTINUE
|
||||
ELSE
|
||||
DO 40 J = 1, N
|
||||
AB( 1, J ) = J
|
||||
AB( 1, J ) = REAL( J )
|
||||
DO 30 I = 2, MIN( KD+1, N-J+1 )
|
||||
AB( I, J ) = ZERO
|
||||
30 CONTINUE
|
||||
|
||||
@@ -217,13 +217,13 @@
|
||||
DO 10 I = 1, J - 1
|
||||
A( JC+I-1 ) = ZERO
|
||||
10 CONTINUE
|
||||
A( JC+J-1 ) = J
|
||||
A( JC+J-1 ) = REAL( J )
|
||||
JC = JC + J
|
||||
20 CONTINUE
|
||||
ELSE
|
||||
JC = 1
|
||||
DO 40 J = 1, N
|
||||
A( JC ) = J
|
||||
A( JC ) = REAL( J )
|
||||
DO 30 I = J + 1, N
|
||||
A( JC+I-J ) = ZERO
|
||||
30 CONTINUE
|
||||
@@ -244,13 +244,13 @@
|
||||
DO 50 I = 1, J - 1
|
||||
A( JC+I ) = ZERO
|
||||
50 CONTINUE
|
||||
A( JC+J ) = J
|
||||
A( JC+J ) = REAL( J )
|
||||
JC = JC + J
|
||||
60 CONTINUE
|
||||
ELSE
|
||||
JC = 1
|
||||
DO 80 J = 1, N
|
||||
A( JC ) = J
|
||||
A( JC ) = REAL( J )
|
||||
DO 70 I = J + 1, N
|
||||
A( JC+I-J ) = ZERO
|
||||
70 CONTINUE
|
||||
|
||||
@@ -221,11 +221,11 @@
|
||||
DO 10 I = 1, J - 1
|
||||
A( I, J ) = ZERO
|
||||
10 CONTINUE
|
||||
A( J, J ) = J
|
||||
A( J, J ) = REAL( J )
|
||||
20 CONTINUE
|
||||
ELSE
|
||||
DO 40 J = 1, N
|
||||
A( J, J ) = J
|
||||
A( J, J ) = REAL( J )
|
||||
DO 30 I = J + 1, N
|
||||
A( I, J ) = ZERO
|
||||
30 CONTINUE
|
||||
@@ -244,11 +244,11 @@
|
||||
DO 50 I = 1, J - 1
|
||||
A( I, J ) = ZERO
|
||||
50 CONTINUE
|
||||
A( J, J ) = J
|
||||
A( J, J ) = REAL( J )
|
||||
60 CONTINUE
|
||||
ELSE
|
||||
DO 80 J = 1, N
|
||||
A( J, J ) = J
|
||||
A( J, J ) = REAL( J )
|
||||
DO 70 I = J + 1, N
|
||||
A( I, J ) = ZERO
|
||||
70 CONTINUE
|
||||
@@ -336,7 +336,7 @@
|
||||
*
|
||||
X = SQRT( CNDNUM ) - 1 / SQRT( CNDNUM )
|
||||
IF( N.GT.2 ) THEN
|
||||
Y = SQRT( 2. / ( N-2 ) )*X
|
||||
Y = SQRT( 2. / REAL( N-2 ) )*X
|
||||
ELSE
|
||||
Y = ZERO
|
||||
END IF
|
||||
|
||||
@@ -151,7 +151,7 @@
|
||||
ANORM = SLANGE( '1', M, N, A, M, RWORK )
|
||||
RESID = SLANGE( '1', M, N, L, LL, RWORK )
|
||||
IF( ANORM.GT.ZERO ) THEN
|
||||
RESULT( 1 ) = RESID / (EPS*MAX(1,M)*ANORM)
|
||||
RESULT( 1 ) = RESID / (EPS*REAL( MAX( 1, M ) )*ANORM)
|
||||
ELSE
|
||||
RESULT( 1 ) = ZERO
|
||||
END IF
|
||||
@@ -161,7 +161,7 @@
|
||||
CALL SLASET( 'Full', N, N, ZERO, ONE, L, LL )
|
||||
CALL SSYRK( 'U', 'C', N, N, -ONE, Q, N, ONE, L, LL )
|
||||
RESID = SLANSY( '1', 'Upper', N, L, LL, RWORK )
|
||||
RESULT( 2 ) = RESID / (EPS*MAX(1,N))
|
||||
RESULT( 2 ) = RESID / (EPS*REAL( MAX( 1, N ) ))
|
||||
*
|
||||
* Generate random m-by-n matrix C and a copy CF
|
||||
*
|
||||
@@ -181,7 +181,7 @@
|
||||
CALL SGEMM( 'N', 'N', N, M, N, -ONE, Q, N, D, N, ONE, DF, N )
|
||||
RESID = SLANGE( '1', N, M, DF, N, RWORK )
|
||||
IF( DNORM.GT.ZERO ) THEN
|
||||
RESULT( 3 ) = RESID / (EPS*MAX(1,M)*DNORM)
|
||||
RESULT( 3 ) = RESID / (EPS*REAL( MAX( 1, M ) )*DNORM)
|
||||
ELSE
|
||||
RESULT( 3 ) = ZERO
|
||||
END IF
|
||||
@@ -200,7 +200,7 @@
|
||||
CALL SGEMM( 'T', 'N', N, M, N, -ONE, Q, N, D, N, ONE, DF, N )
|
||||
RESID = SLANGE( '1', N, M, DF, N, RWORK )
|
||||
IF( DNORM.GT.ZERO ) THEN
|
||||
RESULT( 4 ) = RESID / (EPS*MAX(1,M)*DNORM)
|
||||
RESULT( 4 ) = RESID / (EPS*REAL( MAX( 1, M ) )*DNORM)
|
||||
ELSE
|
||||
RESULT( 4 ) = ZERO
|
||||
END IF
|
||||
@@ -223,7 +223,7 @@
|
||||
CALL SGEMM( 'N', 'N', M, N, N, -ONE, C, M, Q, N, ONE, CF, M )
|
||||
RESID = SLANGE( '1', N, M, DF, N, RWORK )
|
||||
IF( CNORM.GT.ZERO ) THEN
|
||||
RESULT( 5 ) = RESID / (EPS*MAX(1,M)*DNORM)
|
||||
RESULT( 5 ) = RESID / (EPS*REAL( MAX( 1, M ) )*DNORM)
|
||||
ELSE
|
||||
RESULT( 5 ) = ZERO
|
||||
END IF
|
||||
@@ -242,7 +242,7 @@
|
||||
CALL SGEMM( 'N', 'T', M, N, N, -ONE, C, M, Q, N, ONE, CF, M )
|
||||
RESID = SLANGE( '1', M, N, CF, M, RWORK )
|
||||
IF( CNORM.GT.ZERO ) THEN
|
||||
RESULT( 6 ) = RESID / (EPS*MAX(1,M)*DNORM)
|
||||
RESULT( 6 ) = RESID / (EPS*REAL( MAX( 1, M ) )*DNORM)
|
||||
ELSE
|
||||
RESULT( 6 ) = ZERO
|
||||
END IF
|
||||
|
||||
@@ -175,7 +175,7 @@
|
||||
ANORM = SLANGE( '1', M, N2, A, M, RWORK )
|
||||
RESID = SLANGE( '1', M, N2, R, N2, RWORK )
|
||||
IF( ANORM.GT.ZERO ) THEN
|
||||
RESULT( 1 ) = RESID / (EPS*ANORM*MAX(1,N2))
|
||||
RESULT( 1 ) = RESID / (EPS*ANORM*REAL( MAX( 1, N2 ) ))
|
||||
ELSE
|
||||
RESULT( 1 ) = ZERO
|
||||
END IF
|
||||
@@ -185,7 +185,7 @@
|
||||
CALL SLASET( 'Full', N2, N2, ZERO, ONE, R, N2 )
|
||||
CALL SSYRK( 'U', 'N', N2, N2, -ONE, Q, N2, ONE, R, N2 )
|
||||
RESID = SLANSY( '1', 'Upper', N2, R, N2, RWORK )
|
||||
RESULT( 2 ) = RESID / (EPS*MAX(1,N2))
|
||||
RESULT( 2 ) = RESID / (EPS*REAL( MAX( 1, N2 ) ))
|
||||
*
|
||||
* Generate random m-by-n matrix C and a copy CF
|
||||
*
|
||||
@@ -206,7 +206,7 @@
|
||||
CALL SGEMM( 'N', 'N', N2, M, N2, -ONE, Q, N2, C, N2, ONE, CF, N2 )
|
||||
RESID = SLANGE( '1', N2, M, CF, N2, RWORK )
|
||||
IF( CNORM.GT.ZERO ) THEN
|
||||
RESULT( 3 ) = RESID / (EPS*MAX(1,N2)*CNORM)
|
||||
RESULT( 3 ) = RESID / (EPS*REAL( MAX( 1, N2 ) )*CNORM)
|
||||
ELSE
|
||||
RESULT( 3 ) = ZERO
|
||||
END IF
|
||||
@@ -227,7 +227,7 @@
|
||||
RESID = SLANGE( '1', N2, M, CF, N2, RWORK )
|
||||
|
||||
IF( CNORM.GT.ZERO ) THEN
|
||||
RESULT( 4 ) = RESID / (EPS*MAX(1,N2)*CNORM)
|
||||
RESULT( 4 ) = RESID / (EPS*REAL( MAX( 1, N2 ) )*CNORM)
|
||||
ELSE
|
||||
RESULT( 4 ) = ZERO
|
||||
END IF
|
||||
@@ -250,7 +250,7 @@
|
||||
CALL SGEMM('N','N',M,N2,N2,-ONE,D,M,Q,N2,ONE,DF,M)
|
||||
RESID = SLANGE('1',M, N2,DF,M,RWORK )
|
||||
IF( CNORM.GT.ZERO ) THEN
|
||||
RESULT( 5 ) = RESID / (EPS*MAX(1,N2)*DNORM)
|
||||
RESULT( 5 ) = RESID / (EPS*REAL( MAX( 1, N2 ) )*DNORM)
|
||||
ELSE
|
||||
RESULT( 5 ) = ZERO
|
||||
END IF
|
||||
@@ -270,7 +270,7 @@
|
||||
CALL SGEMM( 'N', 'T', M, N2, N2, -ONE, D, M, Q, N2, ONE, DF, M )
|
||||
RESID = SLANGE( '1', M, N2, DF, M, RWORK )
|
||||
IF( CNORM.GT.ZERO ) THEN
|
||||
RESULT( 6 ) = RESID / (EPS*MAX(1,N2)*DNORM)
|
||||
RESULT( 6 ) = RESID / (EPS*REAL( MAX( 1, N2 ) )*DNORM)
|
||||
ELSE
|
||||
RESULT( 6 ) = ZERO
|
||||
END IF
|
||||
|
||||
@@ -298,7 +298,7 @@
|
||||
ANORM = SLANGE( '1', M, N, A, M, RWORK )
|
||||
RESID = SLANGE( '1', M, N, R, M, RWORK )
|
||||
IF( ANORM.GT.ZERO ) THEN
|
||||
RESULT( 1 ) = RESID / ( EPS * MAX( 1, M ) * ANORM )
|
||||
RESULT( 1 ) = RESID / ( EPS * REAL( MAX( 1, M ) ) * ANORM )
|
||||
ELSE
|
||||
RESULT( 1 ) = ZERO
|
||||
END IF
|
||||
@@ -309,7 +309,7 @@
|
||||
CALL SLASET( 'Full', M, M, ZERO, ONE, R, M )
|
||||
CALL SSYRK( 'U', 'T', M, M, -ONE, Q, M, ONE, R, M )
|
||||
RESID = SLANSY( '1', 'Upper', M, R, M, RWORK )
|
||||
RESULT( 2 ) = RESID / ( EPS * MAX( 1, M ) )
|
||||
RESULT( 2 ) = RESID / ( EPS * REAL( MAX( 1, M ) ) )
|
||||
*
|
||||
* Generate random m-by-n matrix C
|
||||
*
|
||||
@@ -331,7 +331,7 @@
|
||||
CALL SGEMM( 'N', 'N', M, N, M, -ONE, Q, M, C, M, ONE, CF, M )
|
||||
RESID = SLANGE( '1', M, N, CF, M, RWORK )
|
||||
IF( CNORM.GT.ZERO ) THEN
|
||||
RESULT( 3 ) = RESID / ( EPS * MAX( 1, M ) * CNORM )
|
||||
RESULT( 3 ) = RESID / ( EPS * REAL( MAX( 1, M ) ) * CNORM )
|
||||
ELSE
|
||||
RESULT( 3 ) = ZERO
|
||||
END IF
|
||||
@@ -352,7 +352,7 @@
|
||||
CALL SGEMM( 'T', 'N', M, N, M, -ONE, Q, M, C, M, ONE, CF, M )
|
||||
RESID = SLANGE( '1', M, N, CF, M, RWORK )
|
||||
IF( CNORM.GT.ZERO ) THEN
|
||||
RESULT( 4 ) = RESID / ( EPS * MAX( 1, M ) * CNORM )
|
||||
RESULT( 4 ) = RESID / ( EPS * REAL( MAX( 1, M ) ) * CNORM )
|
||||
ELSE
|
||||
RESULT( 4 ) = ZERO
|
||||
END IF
|
||||
@@ -377,7 +377,7 @@
|
||||
CALL SGEMM( 'N', 'N', N, M, M, -ONE, D, N, Q, M, ONE, DF, N )
|
||||
RESID = SLANGE( '1', N, M, DF, N, RWORK )
|
||||
IF( DNORM.GT.ZERO ) THEN
|
||||
RESULT( 5 ) = RESID / ( EPS * MAX( 1, M ) * DNORM )
|
||||
RESULT( 5 ) = RESID / ( EPS * REAL( MAX( 1, M ) ) * DNORM )
|
||||
ELSE
|
||||
RESULT( 5 ) = ZERO
|
||||
END IF
|
||||
@@ -398,7 +398,7 @@
|
||||
CALL SGEMM( 'N', 'T', N, M, M, -ONE, D, N, Q, M, ONE, DF, N )
|
||||
RESID = SLANGE( '1', N, M, DF, N, RWORK )
|
||||
IF( DNORM.GT.ZERO ) THEN
|
||||
RESULT( 6 ) = RESID / ( EPS * MAX( 1, M ) * DNORM )
|
||||
RESULT( 6 ) = RESID / ( EPS * REAL( MAX( 1, M ) ) * DNORM )
|
||||
ELSE
|
||||
RESULT( 6 ) = ZERO
|
||||
END IF
|
||||
|
||||
@@ -259,7 +259,7 @@
|
||||
ANORM = SLANGE( '1', M, N, A, M, RWORK )
|
||||
RESID = SLANGE( '1', M, N, R, M, RWORK )
|
||||
IF( ANORM.GT.ZERO ) THEN
|
||||
RESULT( 1 ) = RESID / ( EPS * MAX( 1, M ) * ANORM )
|
||||
RESULT( 1 ) = RESID / ( EPS * REAL( MAX( 1, M ) ) * ANORM )
|
||||
ELSE
|
||||
RESULT( 1 ) = ZERO
|
||||
END IF
|
||||
@@ -270,7 +270,7 @@
|
||||
CALL SLASET( 'Full', M, M, ZERO, ONE, R, M )
|
||||
CALL SSYRK( 'U', 'T', M, M, -ONE, Q, M, ONE, R, M )
|
||||
RESID = SLANSY( '1', 'Upper', M, R, M, RWORK )
|
||||
RESULT( 2 ) = RESID / ( EPS * MAX( 1, M ) )
|
||||
RESULT( 2 ) = RESID / ( EPS * REAL( MAX( 1, M ) ) )
|
||||
*
|
||||
* Generate random m-by-n matrix C
|
||||
*
|
||||
@@ -292,7 +292,7 @@
|
||||
CALL SGEMM( 'N', 'N', M, N, M, -ONE, Q, M, C, M, ONE, CF, M )
|
||||
RESID = SLANGE( '1', M, N, CF, M, RWORK )
|
||||
IF( CNORM.GT.ZERO ) THEN
|
||||
RESULT( 3 ) = RESID / ( EPS * MAX( 1, M ) * CNORM )
|
||||
RESULT( 3 ) = RESID / ( EPS * REAL( MAX( 1, M ) ) * CNORM )
|
||||
ELSE
|
||||
RESULT( 3 ) = ZERO
|
||||
END IF
|
||||
@@ -313,7 +313,7 @@
|
||||
CALL SGEMM( 'T', 'N', M, N, M, -ONE, Q, M, C, M, ONE, CF, M )
|
||||
RESID = SLANGE( '1', M, N, CF, M, RWORK )
|
||||
IF( CNORM.GT.ZERO ) THEN
|
||||
RESULT( 4 ) = RESID / ( EPS * MAX( 1, M ) * CNORM )
|
||||
RESULT( 4 ) = RESID / ( EPS * REAL( MAX( 1, M ) ) * CNORM )
|
||||
ELSE
|
||||
RESULT( 4 ) = ZERO
|
||||
END IF
|
||||
@@ -338,7 +338,7 @@
|
||||
CALL SGEMM( 'N', 'N', N, M, M, -ONE, D, N, Q, M, ONE, DF, N )
|
||||
RESID = SLANGE( '1', N, M, DF, N, RWORK )
|
||||
IF( DNORM.GT.ZERO ) THEN
|
||||
RESULT( 5 ) = RESID / ( EPS * MAX( 1, M ) * DNORM )
|
||||
RESULT( 5 ) = RESID / ( EPS * REAL( MAX( 1, M ) ) * DNORM )
|
||||
ELSE
|
||||
RESULT( 5 ) = ZERO
|
||||
END IF
|
||||
@@ -359,7 +359,7 @@
|
||||
CALL SGEMM( 'N', 'T', N, M, M, -ONE, D, N, Q, M, ONE, DF, N )
|
||||
RESID = SLANGE( '1', N, M, DF, N, RWORK )
|
||||
IF( DNORM.GT.ZERO ) THEN
|
||||
RESULT( 6 ) = RESID / ( EPS * MAX( 1, M ) * DNORM )
|
||||
RESULT( 6 ) = RESID / ( EPS * REAL( MAX( 1, M ) ) * DNORM )
|
||||
ELSE
|
||||
RESULT( 6 ) = ZERO
|
||||
END IF
|
||||
|
||||
@@ -278,7 +278,8 @@
|
||||
AXBI = MIN( AXBI, TMP )
|
||||
END IF
|
||||
80 CONTINUE
|
||||
TMP = BERR( K ) / ( NZ*EPS+NZ*UNFL / MAX( AXBI, NZ*UNFL ) )
|
||||
TMP = BERR( K ) / ( REAL( NZ )*EPS+REAL( NZ )*UNFL /
|
||||
$ MAX( AXBI, REAL( NZ )*UNFL ) )
|
||||
IF( K.EQ.1 ) THEN
|
||||
RESLTS( 2 ) = TMP
|
||||
ELSE
|
||||
|
||||
@@ -269,8 +269,8 @@
|
||||
AXBI = MIN( AXBI, TMP )
|
||||
END IF
|
||||
80 CONTINUE
|
||||
TMP = BERR( K ) / ( ( N+1 )*EPS+( N+1 )*UNFL /
|
||||
$ MAX( AXBI, ( N+1 )*UNFL ) )
|
||||
TMP = BERR( K ) / ( REAL( N+1 )*EPS+REAL( N+1 )*UNFL /
|
||||
$ MAX( AXBI, REAL( N+1 )*UNFL ) )
|
||||
IF( K.EQ.1 ) THEN
|
||||
RESLTS( 2 ) = TMP
|
||||
ELSE
|
||||
|
||||
@@ -266,8 +266,8 @@
|
||||
AXBI = MIN( AXBI, TMP )
|
||||
END IF
|
||||
80 CONTINUE
|
||||
TMP = BERR( K ) / ( ( N+1 )*EPS+( N+1 )*UNFL /
|
||||
$ MAX( AXBI, ( N+1 )*UNFL ) )
|
||||
TMP = BERR( K ) / ( REAL( N+1 )*EPS+REAL( N+1 )*UNFL /
|
||||
$ MAX( AXBI, REAL( N+1 )*UNFL ) )
|
||||
IF( K.EQ.1 ) THEN
|
||||
RESLTS( 2 ) = TMP
|
||||
ELSE
|
||||
|
||||
@@ -244,7 +244,8 @@
|
||||
$ ABS( D( N )*X( N, K ) )
|
||||
AXBI = MIN( AXBI, TMP )
|
||||
END IF
|
||||
TMP = BERR( K ) / ( NZ*EPS+NZ*UNFL / MAX( AXBI, NZ*UNFL ) )
|
||||
TMP = BERR( K ) / ( REAL( NZ )*EPS+REAL( NZ )*UNFL /
|
||||
$ MAX( AXBI, REAL( NZ )*UNFL ) )
|
||||
IF( K.EQ.1 ) THEN
|
||||
RESLTS( 2 ) = TMP
|
||||
ELSE
|
||||
|
||||
@@ -155,7 +155,7 @@
|
||||
ANORM = SLANGE( '1', M, N, A, M, RWORK )
|
||||
RESID = SLANGE( '1', M, N, R, M, RWORK )
|
||||
IF( ANORM.GT.ZERO ) THEN
|
||||
RESULT( 1 ) = RESID / (EPS*MAX(1,M)*ANORM)
|
||||
RESULT( 1 ) = RESID / (EPS*REAL( MAX( 1, M ) )*ANORM)
|
||||
ELSE
|
||||
RESULT( 1 ) = ZERO
|
||||
END IF
|
||||
@@ -165,7 +165,7 @@
|
||||
CALL SLASET( 'Full', M, M, ZERO, ONE, R, M )
|
||||
CALL SSYRK( 'U', 'C', M, M, -ONE, Q, M, ONE, R, M )
|
||||
RESID = SLANSY( '1', 'Upper', M, R, M, RWORK )
|
||||
RESULT( 2 ) = RESID / (EPS*MAX(1,M))
|
||||
RESULT( 2 ) = RESID / (EPS*REAL( MAX( 1, M ) ))
|
||||
*
|
||||
* Generate random m-by-n matrix C and a copy CF
|
||||
*
|
||||
@@ -185,7 +185,7 @@
|
||||
CALL SGEMM( 'N', 'N', M, N, M, -ONE, Q, M, C, M, ONE, CF, M )
|
||||
RESID = SLANGE( '1', M, N, CF, M, RWORK )
|
||||
IF( CNORM.GT.ZERO ) THEN
|
||||
RESULT( 3 ) = RESID / (EPS*MAX(1,M)*CNORM)
|
||||
RESULT( 3 ) = RESID / (EPS*REAL( MAX( 1, M ) )*CNORM)
|
||||
ELSE
|
||||
RESULT( 3 ) = ZERO
|
||||
END IF
|
||||
@@ -204,7 +204,7 @@
|
||||
CALL SGEMM( 'T', 'N', M, N, M, -ONE, Q, M, C, M, ONE, CF, M )
|
||||
RESID = SLANGE( '1', M, N, CF, M, RWORK )
|
||||
IF( CNORM.GT.ZERO ) THEN
|
||||
RESULT( 4 ) = RESID / (EPS*MAX(1,M)*CNORM)
|
||||
RESULT( 4 ) = RESID / (EPS*REAL( MAX( 1, M ) )*CNORM)
|
||||
ELSE
|
||||
RESULT( 4 ) = ZERO
|
||||
END IF
|
||||
@@ -227,7 +227,7 @@
|
||||
CALL SGEMM( 'N', 'N', N, M, M, -ONE, D, N, Q, M, ONE, DF, N )
|
||||
RESID = SLANGE( '1', N, M, DF, N, RWORK )
|
||||
IF( CNORM.GT.ZERO ) THEN
|
||||
RESULT( 5 ) = RESID / (EPS*MAX(1,M)*DNORM)
|
||||
RESULT( 5 ) = RESID / (EPS*REAL( MAX( 1, M ) )*DNORM)
|
||||
ELSE
|
||||
RESULT( 5 ) = ZERO
|
||||
END IF
|
||||
@@ -246,7 +246,7 @@
|
||||
CALL SGEMM( 'N', 'T', N, M, M, -ONE, D, N, Q, M, ONE, DF, N )
|
||||
RESID = SLANGE( '1', N, M, DF, N, RWORK )
|
||||
IF( CNORM.GT.ZERO ) THEN
|
||||
RESULT( 6 ) = RESID / (EPS*MAX(1,M)*DNORM)
|
||||
RESULT( 6 ) = RESID / (EPS*REAL( MAX( 1, M ) )*DNORM)
|
||||
ELSE
|
||||
RESULT( 6 ) = ZERO
|
||||
END IF
|
||||
|
||||
@@ -180,7 +180,7 @@
|
||||
ANORM = SLANGE( '1', M2, N, A, M2, RWORK )
|
||||
RESID = SLANGE( '1', M2, N, R, M2, RWORK )
|
||||
IF( ANORM.GT.ZERO ) THEN
|
||||
RESULT( 1 ) = RESID / (EPS*ANORM*MAX(1,M2))
|
||||
RESULT( 1 ) = RESID / (EPS*ANORM*REAL( MAX( 1, M2 ) ))
|
||||
ELSE
|
||||
RESULT( 1 ) = ZERO
|
||||
END IF
|
||||
@@ -191,7 +191,7 @@
|
||||
CALL SSYRK( 'U', 'C', M2, M2, -ONE, Q, M2, ONE,
|
||||
$ R, M2 )
|
||||
RESID = SLANSY( '1', 'Upper', M2, R, M2, RWORK )
|
||||
RESULT( 2 ) = RESID / (EPS*MAX(1,M2))
|
||||
RESULT( 2 ) = RESID / (EPS*REAL( MAX( 1, M2 ) ))
|
||||
*
|
||||
* Generate random m-by-n matrix C and a copy CF
|
||||
*
|
||||
@@ -211,7 +211,7 @@
|
||||
CALL SGEMM( 'N', 'N', M2, N, M2, -ONE, Q,M2,C,M2,ONE,CF,M2)
|
||||
RESID = SLANGE( '1', M2, N, CF, M2, RWORK )
|
||||
IF( CNORM.GT.ZERO ) THEN
|
||||
RESULT( 3 ) = RESID / (EPS*MAX(1,M2)*CNORM)
|
||||
RESULT( 3 ) = RESID / (EPS*REAL( MAX( 1, M2 ) )*CNORM)
|
||||
ELSE
|
||||
RESULT( 3 ) = ZERO
|
||||
END IF
|
||||
@@ -230,7 +230,7 @@
|
||||
CALL SGEMM('T','N',M2,N,M2,-ONE,Q,M2,C,M2,ONE,CF,M2)
|
||||
RESID = SLANGE( '1', M2, N, CF, M2, RWORK )
|
||||
IF( CNORM.GT.ZERO ) THEN
|
||||
RESULT( 4 ) = RESID / (EPS*MAX(1,M2)*CNORM)
|
||||
RESULT( 4 ) = RESID / (EPS*REAL( MAX( 1, M2 ) )*CNORM)
|
||||
ELSE
|
||||
RESULT( 4 ) = ZERO
|
||||
END IF
|
||||
@@ -253,7 +253,7 @@
|
||||
CALL SGEMM('N','N',N,M2,M2,-ONE,D,N,Q,M2,ONE,DF,N)
|
||||
RESID = SLANGE('1',N, M2,DF,N,RWORK )
|
||||
IF( CNORM.GT.ZERO ) THEN
|
||||
RESULT( 5 ) = RESID / (EPS*MAX(1,M2)*DNORM)
|
||||
RESULT( 5 ) = RESID / (EPS*REAL( MAX( 1, M2 ) )*DNORM)
|
||||
ELSE
|
||||
RESULT( 5 ) = ZERO
|
||||
END IF
|
||||
@@ -273,7 +273,7 @@
|
||||
CALL SGEMM( 'N', 'T', N, M2, M2, -ONE, D, N, Q, M2, ONE, DF, N )
|
||||
RESID = SLANGE( '1', N, M2, DF, N, RWORK )
|
||||
IF( CNORM.GT.ZERO ) THEN
|
||||
RESULT( 6 ) = RESID / (EPS*MAX(1,M2)*DNORM)
|
||||
RESULT( 6 ) = RESID / (EPS*REAL( MAX( 1, M2 ) )*DNORM)
|
||||
ELSE
|
||||
RESULT( 6 ) = ZERO
|
||||
END IF
|
||||
|
||||
@@ -137,7 +137,7 @@
|
||||
* Quick return if possible
|
||||
*
|
||||
MN = MIN( M, N )
|
||||
IF( MN.LE.ZERO )
|
||||
IF( MN.LE.0 )
|
||||
$ RETURN
|
||||
*
|
||||
NRMSVL = SNRM2( MN, S, 1 )
|
||||
|
||||
@@ -206,7 +206,7 @@
|
||||
RESID = ONE / EPS
|
||||
ELSE
|
||||
RESID = MAX( RESID, ( ( BNORM / ANORM ) / XNORM ) /
|
||||
$ ( MAX( M, N )*EPS ) )
|
||||
$ ( REAL( MAX( M, N ) )*EPS ) )
|
||||
END IF
|
||||
10 CONTINUE
|
||||
*
|
||||
|
||||
@@ -317,7 +317,8 @@
|
||||
AXBI = MIN( AXBI, TMP )
|
||||
END IF
|
||||
80 CONTINUE
|
||||
TMP = BERR( K ) / ( NZ*EPS+NZ*UNFL / MAX( AXBI, NZ*UNFL ) )
|
||||
TMP = BERR( K ) / ( REAL( NZ )*EPS+REAL( NZ )*UNFL /
|
||||
$ MAX( AXBI, REAL( NZ )*UNFL ) )
|
||||
IF( K.EQ.1 ) THEN
|
||||
RESLTS( 2 ) = TMP
|
||||
ELSE
|
||||
|
||||
@@ -306,8 +306,8 @@
|
||||
AXBI = MIN( AXBI, TMP )
|
||||
END IF
|
||||
80 CONTINUE
|
||||
TMP = BERR( K ) / ( ( N+1 )*EPS+( N+1 )*UNFL /
|
||||
$ MAX( AXBI, ( N+1 )*UNFL ) )
|
||||
TMP = BERR( K ) / ( REAL( N+1 )*EPS+REAL( N+1 )*UNFL /
|
||||
$ MAX( AXBI, REAL( N+1 )*UNFL ) )
|
||||
IF( K.EQ.1 ) THEN
|
||||
RESLTS( 2 ) = TMP
|
||||
ELSE
|
||||
|
||||
@@ -305,8 +305,8 @@
|
||||
AXBI = MIN( AXBI, TMP )
|
||||
END IF
|
||||
80 CONTINUE
|
||||
TMP = BERR( K ) / ( ( N+1 )*EPS+( N+1 )*UNFL /
|
||||
$ MAX( AXBI, ( N+1 )*UNFL ) )
|
||||
TMP = BERR( K ) / ( REAL( N+1 )*EPS+REAL( N+1 )*UNFL /
|
||||
$ MAX( AXBI, REAL( N+1 )*UNFL ) )
|
||||
IF( K.EQ.1 ) THEN
|
||||
RESLTS( 2 ) = TMP
|
||||
ELSE
|
||||
|
||||
+12
-12
@@ -210,7 +210,7 @@
|
||||
ANORM = SLANGE( '1', M, N, A, M, RWORK )
|
||||
RESID = SLANGE( '1', M, N, R, M, RWORK )
|
||||
IF( ANORM.GT.ZERO ) THEN
|
||||
RESULT( 1 ) = RESID / (EPS*MAX(1,M)*ANORM)
|
||||
RESULT( 1 ) = RESID / (EPS*REAL( MAX( 1, M ) )*ANORM)
|
||||
ELSE
|
||||
RESULT( 1 ) = ZERO
|
||||
END IF
|
||||
@@ -220,7 +220,7 @@
|
||||
CALL SLASET( 'Full', M, M, ZERO, ONE, R, M )
|
||||
CALL SSYRK( 'U', 'C', M, M, -ONE, Q, M, ONE, R, M )
|
||||
RESID = SLANSY( '1', 'Upper', M, R, M, RWORK )
|
||||
RESULT( 2 ) = RESID / (EPS*MAX(1,M))
|
||||
RESULT( 2 ) = RESID / (EPS*REAL( MAX( 1, M ) ))
|
||||
*
|
||||
* Generate random m-by-n matrix C and a copy CF
|
||||
*
|
||||
@@ -241,7 +241,7 @@
|
||||
CALL SGEMM( 'N', 'N', M, N, M, -ONE, Q, M, C, M, ONE, CF, M )
|
||||
RESID = SLANGE( '1', M, N, CF, M, RWORK )
|
||||
IF( CNORM.GT.ZERO ) THEN
|
||||
RESULT( 3 ) = RESID / (EPS*MAX(1,M)*CNORM)
|
||||
RESULT( 3 ) = RESID / (EPS*REAL( MAX( 1, M ) )*CNORM)
|
||||
ELSE
|
||||
RESULT( 3 ) = ZERO
|
||||
END IF
|
||||
@@ -261,7 +261,7 @@
|
||||
CALL SGEMM( 'T', 'N', M, N, M, -ONE, Q, M, C, M, ONE, CF, M )
|
||||
RESID = SLANGE( '1', M, N, CF, M, RWORK )
|
||||
IF( CNORM.GT.ZERO ) THEN
|
||||
RESULT( 4 ) = RESID / (EPS*MAX(1,M)*CNORM)
|
||||
RESULT( 4 ) = RESID / (EPS*REAL( MAX( 1, M ) )*CNORM)
|
||||
ELSE
|
||||
RESULT( 4 ) = ZERO
|
||||
END IF
|
||||
@@ -285,7 +285,7 @@
|
||||
CALL SGEMM( 'N', 'N', N, M, M, -ONE, D, N, Q, M, ONE, DF, N )
|
||||
RESID = SLANGE( '1', N, M, DF, N, RWORK )
|
||||
IF( DNORM.GT.ZERO ) THEN
|
||||
RESULT( 5 ) = RESID / (EPS*MAX(1,M)*DNORM)
|
||||
RESULT( 5 ) = RESID / (EPS*REAL( MAX( 1, M ) )*DNORM)
|
||||
ELSE
|
||||
RESULT( 5 ) = ZERO
|
||||
END IF
|
||||
@@ -304,7 +304,7 @@
|
||||
CALL SGEMM( 'N', 'T', N, M, M, -ONE, D, N, Q, M, ONE, DF, N )
|
||||
RESID = SLANGE( '1', N, M, DF, N, RWORK )
|
||||
IF( CNORM.GT.ZERO ) THEN
|
||||
RESULT( 6 ) = RESID / (EPS*MAX(1,M)*DNORM)
|
||||
RESULT( 6 ) = RESID / (EPS*REAL( MAX( 1, M ) )*DNORM)
|
||||
ELSE
|
||||
RESULT( 6 ) = ZERO
|
||||
END IF
|
||||
@@ -354,7 +354,7 @@
|
||||
ANORM = SLANGE( '1', M, N, A, M, RWORK )
|
||||
RESID = SLANGE( '1', M, N, LQ, L, RWORK )
|
||||
IF( ANORM.GT.ZERO ) THEN
|
||||
RESULT( 1 ) = RESID / (EPS*MAX(1,N)*ANORM)
|
||||
RESULT( 1 ) = RESID / (EPS*REAL( MAX( 1, N ) )*ANORM)
|
||||
ELSE
|
||||
RESULT( 1 ) = ZERO
|
||||
END IF
|
||||
@@ -364,7 +364,7 @@
|
||||
CALL SLASET( 'Full', N, N, ZERO, ONE, LQ, L )
|
||||
CALL SSYRK( 'U', 'C', N, N, -ONE, Q, N, ONE, LQ, L )
|
||||
RESID = SLANSY( '1', 'Upper', N, LQ, L, RWORK )
|
||||
RESULT( 2 ) = RESID / (EPS*MAX(1,N))
|
||||
RESULT( 2 ) = RESID / (EPS*REAL( MAX( 1, N ) ))
|
||||
*
|
||||
* Generate random m-by-n matrix C and a copy CF
|
||||
*
|
||||
@@ -384,7 +384,7 @@
|
||||
CALL SGEMM( 'N', 'N', N, M, N, -ONE, Q, N, D, N, ONE, DF, N )
|
||||
RESID = SLANGE( '1', N, M, DF, N, RWORK )
|
||||
IF( DNORM.GT.ZERO ) THEN
|
||||
RESULT( 3 ) = RESID / (EPS*MAX(1,N)*DNORM)
|
||||
RESULT( 3 ) = RESID / (EPS*REAL( MAX( 1, N ) )*DNORM)
|
||||
ELSE
|
||||
RESULT( 3 ) = ZERO
|
||||
END IF
|
||||
@@ -403,7 +403,7 @@
|
||||
CALL SGEMM( 'T', 'N', N, M, N, -ONE, Q, N, D, N, ONE, DF, N )
|
||||
RESID = SLANGE( '1', N, M, DF, N, RWORK )
|
||||
IF( DNORM.GT.ZERO ) THEN
|
||||
RESULT( 4 ) = RESID / (EPS*MAX(1,N)*DNORM)
|
||||
RESULT( 4 ) = RESID / (EPS*REAL( MAX( 1, N ) )*DNORM)
|
||||
ELSE
|
||||
RESULT( 4 ) = ZERO
|
||||
END IF
|
||||
@@ -426,7 +426,7 @@
|
||||
CALL SGEMM( 'N', 'N', M, N, N, -ONE, C, M, Q, N, ONE, CF, M )
|
||||
RESID = SLANGE( '1', N, M, DF, N, RWORK )
|
||||
IF( CNORM.GT.ZERO ) THEN
|
||||
RESULT( 5 ) = RESID / (EPS*MAX(1,N)*CNORM)
|
||||
RESULT( 5 ) = RESID / (EPS*REAL( MAX( 1, N ) )*CNORM)
|
||||
ELSE
|
||||
RESULT( 5 ) = ZERO
|
||||
END IF
|
||||
@@ -445,7 +445,7 @@
|
||||
CALL SGEMM( 'N', 'T', M, N, N, -ONE, C, M, Q, N, ONE, CF, M )
|
||||
RESID = SLANGE( '1', M, N, CF, M, RWORK )
|
||||
IF( CNORM.GT.ZERO ) THEN
|
||||
RESULT( 6 ) = RESID / (EPS*MAX(1,N)*CNORM)
|
||||
RESULT( 6 ) = RESID / (EPS*REAL( MAX( 1, N ) )*CNORM)
|
||||
ELSE
|
||||
RESULT( 6 ) = ZERO
|
||||
END IF
|
||||
|
||||
Reference in New Issue
Block a user