diff --git a/BLAS/TESTING/cblat2.f b/BLAS/TESTING/cblat2.f index 00b6e063d..d9658785e 100644 --- a/BLAS/TESTING/cblat2.f +++ b/BLAS/TESTING/cblat2.f @@ -292,13 +292,14 @@ PROGRAM CBLAT2 N = MIN( 32, NMAX ) DO 120 J = 1, N DO 110 I = 1, N - A( I, J ) = MAX( I - J + 1, 0 ) + A( I, J ) = REAL( MAX( I - J + 1, 0 ) ) 110 CONTINUE - X( J ) = J + X( J ) = REAL( J ) Y( J ) = ZERO 120 CONTINUE DO 130 J = 1, N - YY( J ) = J*( ( J + 1 )*J )/2 - ( ( J + 1 )*J*( J - 1 ) )/3 + YY( J ) = REAL( J*( ( J + 1 )*J )/2 - + $ ( ( J + 1 )*J*( J - 1 ) )/3 ) 130 CONTINUE * YY holds the exact result. On exit from CMVCH YT holds * the result computed by CMVCH. @@ -3212,7 +3213,7 @@ COMPLEX FUNCTION CBEG( RESET ) IC = 0 GO TO 10 END IF - CBEG = CMPLX( ( I - 500 )/1001.0, ( J - 500 )/1001.0 ) + CBEG = CMPLX( REAL( I - 500 )/1001.0, REAL( J - 500 )/1001.0 ) RETURN * * End of CBEG diff --git a/BLAS/TESTING/cblat3.f b/BLAS/TESTING/cblat3.f index b4a83c76a..cd71347bf 100644 --- a/BLAS/TESTING/cblat3.f +++ b/BLAS/TESTING/cblat3.f @@ -243,14 +243,15 @@ PROGRAM CBLAT3 N = MIN( 32, NMAX ) DO 100 J = 1, N DO 90 I = 1, N - AB( I, J ) = MAX( I - J + 1, 0 ) + AB( I, J ) = REAL( MAX( I - J + 1, 0 ) ) 90 CONTINUE - AB( J, NMAX + 1 ) = J - AB( 1, NMAX + J ) = J + AB( J, NMAX + 1 ) = REAL( J ) + AB( 1, NMAX + J ) = REAL( J ) C( J, 1 ) = ZERO 100 CONTINUE DO 110 J = 1, N - CC( J ) = J*( ( J + 1 )*J )/2 - ( ( J + 1 )*J*( J - 1 ) )/3 + CC( J ) = REAL( J*( ( J + 1 )*J )/2 - + $ ( ( J + 1 )*J*( J - 1 ) )/3 ) 110 CONTINUE * CC holds the exact result. On exit from CMMCH CT holds * the result computed by CMMCH. @@ -274,12 +275,12 @@ PROGRAM CBLAT3 STOP END IF DO 120 J = 1, N - AB( J, NMAX + 1 ) = N - J + 1 - AB( 1, NMAX + J ) = N - J + 1 + AB( J, NMAX + 1 ) = REAL( N - J + 1 ) + AB( 1, NMAX + J ) = REAL( N - J + 1 ) 120 CONTINUE DO 130 J = 1, N - CC( N - J + 1 ) = J*( ( J + 1 )*J )/2 - - $ ( ( J + 1 )*J*( J - 1 ) )/3 + CC( N - J + 1 ) = REAL( J*( ( J + 1 )*J )/2 - + $ ( ( J + 1 )*J*( J - 1 ) )/3 ) 130 CONTINUE TRANSA = 'C' TRANSB = 'N' @@ -3581,7 +3582,7 @@ COMPLEX FUNCTION CBEG( RESET ) IC = 0 GO TO 10 END IF - CBEG = CMPLX( ( I - 500 )/1001.0, ( J - 500 )/1001.0 ) + CBEG = CMPLX( REAL( I - 500 )/1001.0, REAL( J - 500 )/1001.0 ) RETURN * * End of CBEG diff --git a/BLAS/TESTING/sblat1.f b/BLAS/TESTING/sblat1.f index 78008e477..ba8508a99 100644 --- a/BLAS/TESTING/sblat1.f +++ b/BLAS/TESTING/sblat1.f @@ -916,26 +916,26 @@ SUBROUTINE CHECK3(SFAC) MWPN(5) = 3 MWPN(10) = 3 DO 160 I = 1, 5 - MWPX(I) = I - MWPY(I) = I - MWPTX(1,I) = I - MWPTY(1,I) = I - MWPTX(2,I) = I - MWPTY(2,I) = -I - MWPTX(3,I) = 6 - I - MWPTY(3,I) = I - 6 - MWPTX(4,I) = I - MWPTY(4,I) = -I - MWPTX(6,I) = 6 - I - MWPTY(6,I) = I - 6 - MWPTX(7,I) = -I - MWPTY(7,I) = I - MWPTX(8,I) = I - 6 - MWPTY(8,I) = 6 - I - MWPTX(9,I) = -I - MWPTY(9,I) = I - MWPTX(11,I) = I - 6 - MWPTY(11,I) = 6 - I + MWPX(I) = REAL( I ) + MWPY(I) = REAL( I ) + MWPTX(1,I) = REAL( I ) + MWPTY(1,I) = REAL( I ) + MWPTX(2,I) = REAL( I ) + MWPTY(2,I) = REAL( -I ) + MWPTX(3,I) = REAL( 6 - I ) + MWPTY(3,I) = REAL( I - 6 ) + MWPTX(4,I) = REAL( I ) + MWPTY(4,I) = REAL( -I ) + MWPTX(6,I) = REAL( 6 - I ) + MWPTY(6,I) = REAL( I - 6 ) + MWPTX(7,I) = REAL( -I ) + MWPTY(7,I) = REAL( I ) + MWPTX(8,I) = REAL( I - 6 ) + MWPTY(8,I) = REAL( 6 - I ) + MWPTX(9,I) = REAL( -I ) + MWPTY(9,I) = REAL( I ) + MWPTX(11,I) = REAL( I - 6 ) + MWPTY(11,I) = REAL( 6 - I ) 160 CONTINUE MWPTX(5,1) = 1 MWPTX(5,2) = 3 diff --git a/BLAS/TESTING/sblat2.f b/BLAS/TESTING/sblat2.f index 9c55b7e8c..7f9a4212c 100644 --- a/BLAS/TESTING/sblat2.f +++ b/BLAS/TESTING/sblat2.f @@ -294,13 +294,14 @@ PROGRAM SBLAT2 N = MIN( 32, NMAX ) DO 120 J = 1, N DO 110 I = 1, N - A( I, J ) = MAX( I - J + 1, 0 ) + A( I, J ) = REAL( MAX( I - J + 1, 0 ) ) 110 CONTINUE - X( J ) = J + X( J ) = REAL( J ) Y( J ) = ZERO 120 CONTINUE DO 130 J = 1, N - YY( J ) = J*( ( J + 1 )*J )/2 - ( ( J + 1 )*J*( J - 1 ) )/3 + YY( J ) = REAL( J*( ( J + 1 )*J )/2 - + $ ( ( J + 1 )*J*( J - 1 ) )/3 ) 130 CONTINUE * YY holds the exact result. On exit from SMVCH YT holds * the result computed by SMVCH. diff --git a/BLAS/TESTING/sblat3.f b/BLAS/TESTING/sblat3.f index ef0bf4f67..fdc6205bd 100644 --- a/BLAS/TESTING/sblat3.f +++ b/BLAS/TESTING/sblat3.f @@ -241,14 +241,15 @@ PROGRAM SBLAT3 N = MIN( 32, NMAX ) DO 100 J = 1, N DO 90 I = 1, N - AB( I, J ) = MAX( I - J + 1, 0 ) + AB( I, J ) = REAL( MAX( I - J + 1, 0 ) ) 90 CONTINUE - AB( J, NMAX + 1 ) = J - AB( 1, NMAX + J ) = J + AB( J, NMAX + 1 ) = REAL( J ) + AB( 1, NMAX + J ) = REAL( J ) C( J, 1 ) = ZERO 100 CONTINUE DO 110 J = 1, N - CC( J ) = J*( ( J + 1 )*J )/2 - ( ( J + 1 )*J*( J - 1 ) )/3 + CC( J ) = REAL( J*( ( J + 1 )*J )/2 - + $ ( ( J + 1 )*J*( J - 1 ) )/3 ) 110 CONTINUE * CC holds the exact result. On exit from SMMCH CT holds * the result computed by SMMCH. @@ -272,12 +273,12 @@ PROGRAM SBLAT3 STOP END IF DO 120 J = 1, N - AB( J, NMAX + 1 ) = N - J + 1 - AB( 1, NMAX + J ) = N - J + 1 + AB( J, NMAX + 1 ) = REAL( N - J + 1 ) + AB( 1, NMAX + J ) = REAL( N - J + 1 ) 120 CONTINUE DO 130 J = 1, N - CC( N - J + 1 ) = J*( ( J + 1 )*J )/2 - - $ ( ( J + 1 )*J*( J - 1 ) )/3 + CC( N - J + 1 ) = REAL( J*( ( J + 1 )*J )/2 - + $ ( ( J + 1 )*J*( J - 1 ) )/3 ) 130 CONTINUE TRANSA = 'T' TRANSB = 'N' @@ -3058,7 +3059,7 @@ REAL FUNCTION SBEG( RESET ) IC = 0 GO TO 10 END IF - SBEG = ( I - 500 )/1001.0 + SBEG = REAL( I - 500 )/1001.0 RETURN * * End of SBEG diff --git a/CBLAS/testing/c_cblat2.f b/CBLAS/testing/c_cblat2.f index fce05e472..36b1d37f3 100644 --- a/CBLAS/testing/c_cblat2.f +++ b/CBLAS/testing/c_cblat2.f @@ -269,13 +269,14 @@ PROGRAM CBLAT2 N = MIN( 32, NMAX ) DO 120 J = 1, N DO 110 I = 1, N - A( I, J ) = MAX( I - J + 1, 0 ) + A( I, J ) = REAL( MAX( I - J + 1, 0 ) ) 110 CONTINUE - X( J ) = J + X( J ) = REAL( J ) Y( J ) = ZERO 120 CONTINUE DO 130 J = 1, N - YY( J ) = J*( ( J + 1 )*J )/2 - ( ( J + 1 )*J*( J - 1 ) )/3 + YY( J ) = REAL( J*( ( J + 1 )*J )/2 - + $ ( ( J + 1 )*J*( J - 1 ) )/3 ) 130 CONTINUE * YY holds the exact result. On exit from CMVCH YT holds * the result computed by CMVCH. @@ -2749,7 +2750,7 @@ COMPLEX FUNCTION CBEG( RESET ) IC = 0 GO TO 10 END IF - CBEG = CMPLX( ( I - 500 )/1001.0, ( J - 500 )/1001.0 ) + CBEG = CMPLX( REAL( I - 500 )/1001.0, REAL( J - 500 )/1001.0 ) RETURN * * End of CBEG. diff --git a/CBLAS/testing/c_cblat3.f b/CBLAS/testing/c_cblat3.f index 3575e6d8f..b0c0d4972 100644 --- a/CBLAS/testing/c_cblat3.f +++ b/CBLAS/testing/c_cblat3.f @@ -221,14 +221,15 @@ PROGRAM CBLAT3 N = MIN( 32, NMAX ) DO 100 J = 1, N DO 90 I = 1, N - AB( I, J ) = MAX( I - J + 1, 0 ) + AB( I, J ) = REAL( MAX( I - J + 1, 0 ) ) 90 CONTINUE - AB( J, NMAX + 1 ) = J - AB( 1, NMAX + J ) = J + AB( J, NMAX + 1 ) = REAL( J ) + AB( 1, NMAX + J ) = REAL( J ) C( J, 1 ) = ZERO 100 CONTINUE DO 110 J = 1, N - CC( J ) = J*( ( J + 1 )*J )/2 - ( ( J + 1 )*J*( J - 1 ) )/3 + CC( J ) = REAL( J*( ( J + 1 )*J )/2 - + $ ( ( J + 1 )*J*( J - 1 ) )/3 ) 110 CONTINUE * CC holds the exact result. On exit from CMMCH CT holds * the result computed by CMMCH. @@ -252,12 +253,12 @@ PROGRAM CBLAT3 STOP END IF DO 120 J = 1, N - AB( J, NMAX + 1 ) = N - J + 1 - AB( 1, NMAX + J ) = N - J + 1 + AB( J, NMAX + 1 ) = REAL( N - J + 1 ) + AB( 1, NMAX + J ) = REAL( N - J + 1 ) 120 CONTINUE DO 130 J = 1, N - CC( N - J + 1 ) = J*( ( J + 1 )*J )/2 - - $ ( ( J + 1 )*J*( J - 1 ) )/3 + CC( N - J + 1 ) = REAL( J*( ( J + 1 )*J )/2 - + $ ( ( J + 1 )*J*( J - 1 ) )/3 ) 130 CONTINUE TRANSA = 'C' TRANSB = 'N' @@ -2823,7 +2824,7 @@ COMPLEX FUNCTION CBEG( RESET ) IC = 0 GO TO 10 END IF - CBEG = CMPLX( ( I - 500 )/1001.0, ( J - 500 )/1001.0 ) + CBEG = CMPLX( REAL( I - 500 )/1001.0, REAL( J - 500 )/1001.0 ) RETURN * * End of CBEG. @@ -2928,7 +2929,7 @@ SUBROUTINE CCHK6( SNAME, EPS, THRESH, NOUT, NTRA, TRACE, REWI, IF( LDC.GT.NMAX ) $ GO TO 100 LCC = LDC*N - NULL = N.LE.0. + NULL = N.LE.0 * DO 90 IK = 1, NIDIM K = IDIM( IK ) diff --git a/CBLAS/testing/c_sblat1.f b/CBLAS/testing/c_sblat1.f index 44e24e5d0..805dfe83f 100644 --- a/CBLAS/testing/c_sblat1.f +++ b/CBLAS/testing/c_sblat1.f @@ -587,26 +587,26 @@ SUBROUTINE CHECK3(SFAC) MWPN(5) = 3 MWPN(10) = 3 DO 160 I = 1, 5 - MWPX(I) = I - MWPY(I) = I - MWPTX(1,I) = I - MWPTY(1,I) = I - MWPTX(2,I) = I - MWPTY(2,I) = -I - MWPTX(3,I) = 6 - I - MWPTY(3,I) = I - 6 - MWPTX(4,I) = I - MWPTY(4,I) = -I - MWPTX(6,I) = 6 - I - MWPTY(6,I) = I - 6 - MWPTX(7,I) = -I - MWPTY(7,I) = I - MWPTX(8,I) = I - 6 - MWPTY(8,I) = 6 - I - MWPTX(9,I) = -I - MWPTY(9,I) = I - MWPTX(11,I) = I - 6 - MWPTY(11,I) = 6 - I + MWPX(I) = REAL( I ) + MWPY(I) = REAL( I ) + MWPTX(1,I) = REAL( I ) + MWPTY(1,I) = REAL( I ) + MWPTX(2,I) = REAL( I ) + MWPTY(2,I) = REAL( -I ) + MWPTX(3,I) = REAL( 6 - I ) + MWPTY(3,I) = REAL( I - 6 ) + MWPTX(4,I) = REAL( I ) + MWPTY(4,I) = REAL( -I ) + MWPTX(6,I) = REAL( 6 - I ) + MWPTY(6,I) = REAL( I - 6 ) + MWPTX(7,I) = REAL( -I ) + MWPTY(7,I) = REAL( I ) + MWPTX(8,I) = REAL( I - 6 ) + MWPTY(8,I) = REAL( 6 - I ) + MWPTX(9,I) = REAL( -I ) + MWPTY(9,I) = REAL( I ) + MWPTX(11,I) = REAL( I - 6 ) + MWPTY(11,I) = REAL( 6 - I ) 160 CONTINUE MWPTX(5,1) = 1 MWPTX(5,2) = 3 diff --git a/CBLAS/testing/c_sblat2.f b/CBLAS/testing/c_sblat2.f index 5e268895f..1ea2203d9 100644 --- a/CBLAS/testing/c_sblat2.f +++ b/CBLAS/testing/c_sblat2.f @@ -279,13 +279,14 @@ PROGRAM SBLAT2 N = MIN( 32, NMAX ) DO 120 J = 1, N DO 110 I = 1, N - A( I, J ) = MAX( I - J + 1, 0 ) + A( I, J ) = REAL( MAX( I - J + 1, 0 ) ) 110 CONTINUE - X( J ) = J + X( J ) = REAL( J ) Y( J ) = ZERO 120 CONTINUE DO 130 J = 1, N - YY( J ) = J*( ( J + 1 )*J )/2 - ( ( J + 1 )*J*( J - 1 ) )/3 + YY( J ) = REAL( J*( ( J + 1 )*J )/2 - + $ ( ( J + 1 )*J*( J - 1 ) )/3 ) 130 CONTINUE * YY holds the exact result. On exit from SMVCH YT holds * the result computed by SMVCH. diff --git a/CBLAS/testing/c_sblat3.f b/CBLAS/testing/c_sblat3.f index b02491167..412a1fed5 100644 --- a/CBLAS/testing/c_sblat3.f +++ b/CBLAS/testing/c_sblat3.f @@ -223,14 +223,15 @@ PROGRAM SBLAT3 N = MIN( 32, NMAX ) DO 100 J = 1, N DO 90 I = 1, N - AB( I, J ) = MAX( I - J + 1, 0 ) + AB( I, J ) = REAL( MAX( I - J + 1, 0 ) ) 90 CONTINUE - AB( J, NMAX + 1 ) = J - AB( 1, NMAX + J ) = J + AB( J, NMAX + 1 ) = REAL( J ) + AB( 1, NMAX + J ) = REAL( J ) C( J, 1 ) = ZERO 100 CONTINUE DO 110 J = 1, N - CC( J ) = J*( ( J + 1 )*J )/2 - ( ( J + 1 )*J*( J - 1 ) )/3 + CC( J ) = REAL( J*( ( J + 1 )*J )/2 - + $ ( ( J + 1 )*J*( J - 1 ) )/3 ) 110 CONTINUE * CC holds the exact result. On exit from SMMCH CT holds * the result computed by SMMCH. @@ -254,12 +255,12 @@ PROGRAM SBLAT3 STOP END IF DO 120 J = 1, N - AB( J, NMAX + 1 ) = N - J + 1 - AB( 1, NMAX + J ) = N - J + 1 + AB( J, NMAX + 1 ) = REAL( N - J + 1 ) + AB( 1, NMAX + J ) = REAL( N - J + 1 ) 120 CONTINUE DO 130 J = 1, N - CC( N - J + 1 ) = J*( ( J + 1 )*J )/2 - - $ ( ( J + 1 )*J*( J - 1 ) )/3 + CC( N - J + 1 ) = REAL( J*( ( J + 1 )*J )/2 - + $ ( ( J + 1 )*J*( J - 1 ) )/3 ) 130 CONTINUE TRANSA = 'T' TRANSB = 'N' @@ -2581,7 +2582,7 @@ REAL FUNCTION SBEG( RESET ) IC = 0 GO TO 10 END IF - SBEG = ( I - 500 )/1001.0 + SBEG = REAL( I - 500 )/1001.0 RETURN * * End of SBEG. diff --git a/CBLAS/testing/c_zblat2.f b/CBLAS/testing/c_zblat2.f index 5347864b7..165d4533c 100644 --- a/CBLAS/testing/c_zblat2.f +++ b/CBLAS/testing/c_zblat2.f @@ -2755,7 +2755,7 @@ COMPLEX*16 FUNCTION ZBEG( RESET ) IC = 0 GO TO 10 END IF - ZBEG = DCMPLX( ( I - 500 )/1001.0, ( J - 500 )/1001.0 ) + ZBEG = DCMPLX( ( I - 500 )/1001.0D0, ( J - 500 )/1001.0D0 ) RETURN * * End of ZBEG. diff --git a/CBLAS/testing/c_zblat3.f b/CBLAS/testing/c_zblat3.f index 8e5be3072..d4b0a67c4 100644 --- a/CBLAS/testing/c_zblat3.f +++ b/CBLAS/testing/c_zblat3.f @@ -2929,7 +2929,7 @@ SUBROUTINE ZCHK6( SNAME, EPS, THRESH, NOUT, NTRA, TRACE, REWI, IF( LDC.GT.NMAX ) $ GO TO 100 LCC = LDC*N - NULL = N.LE.0. + NULL = N.LE.0 * DO 90 IK = 1, NIDIM K = IDIM( IK ) diff --git a/SRC/cgbrfsx.f b/SRC/cgbrfsx.f index ab142be46..25d24f8cc 100644 --- a/SRC/cgbrfsx.f +++ b/SRC/cgbrfsx.f @@ -513,7 +513,7 @@ SUBROUTINE CGBRFSX( TRANS, EQUED, N, KL, KU, NRHS, AB, LDAB, IF ( PARAMS( LA_LINRX_ITREF_I ) .LT. 0.0 ) THEN PARAMS( LA_LINRX_ITREF_I ) = ITREF_DEFAULT ELSE - REF_TYPE = PARAMS( LA_LINRX_ITREF_I ) + REF_TYPE = INT( PARAMS( LA_LINRX_ITREF_I ) ) END IF END IF * @@ -527,7 +527,7 @@ SUBROUTINE CGBRFSX( TRANS, EQUED, N, KL, KU, NRHS, AB, LDAB, * IF ( NPARAMS.GE.LA_LINRX_ITHRESH_I ) THEN IF ( PARAMS( LA_LINRX_ITHRESH_I ).LT.0.0 ) THEN - PARAMS( LA_LINRX_ITHRESH_I ) = ITHRESH + PARAMS( LA_LINRX_ITHRESH_I ) = REAL( ITHRESH ) ELSE ITHRESH = INT( PARAMS( LA_LINRX_ITHRESH_I ) ) END IF diff --git a/SRC/cgerfsx.f b/SRC/cgerfsx.f index e707e9cf2..624bfb31c 100644 --- a/SRC/cgerfsx.f +++ b/SRC/cgerfsx.f @@ -490,7 +490,7 @@ SUBROUTINE CGERFSX( TRANS, EQUED, N, NRHS, A, LDA, AF, LDAF, IF ( PARAMS( LA_LINRX_ITREF_I ) .LT. 0.0 ) THEN PARAMS( LA_LINRX_ITREF_I ) = ITREF_DEFAULT ELSE - REF_TYPE = PARAMS( LA_LINRX_ITREF_I ) + REF_TYPE = INT( PARAMS( LA_LINRX_ITREF_I ) ) END IF END IF * @@ -504,7 +504,7 @@ SUBROUTINE CGERFSX( TRANS, EQUED, N, NRHS, A, LDA, AF, LDAF, * IF ( NPARAMS.GE.LA_LINRX_ITHRESH_I ) THEN IF ( PARAMS( LA_LINRX_ITHRESH_I ).LT.0.0 ) THEN - PARAMS(LA_LINRX_ITHRESH_I) = ITHRESH + PARAMS(LA_LINRX_ITHRESH_I) = REAL( ITHRESH ) ELSE ITHRESH = INT( PARAMS( LA_LINRX_ITHRESH_I ) ) END IF diff --git a/SRC/cherfsx.f b/SRC/cherfsx.f index c29cd5303..da541616c 100644 --- a/SRC/cherfsx.f +++ b/SRC/cherfsx.f @@ -475,7 +475,7 @@ SUBROUTINE CHERFSX( UPLO, EQUED, N, NRHS, A, LDA, AF, LDAF, IF ( PARAMS( LA_LINRX_ITREF_I ) .LT. 0.0 ) THEN PARAMS( LA_LINRX_ITREF_I ) = ITREF_DEFAULT ELSE - REF_TYPE = PARAMS( LA_LINRX_ITREF_I ) + REF_TYPE = INT( PARAMS( LA_LINRX_ITREF_I ) ) END IF END IF * @@ -489,7 +489,7 @@ SUBROUTINE CHERFSX( UPLO, EQUED, N, NRHS, A, LDA, AF, LDAF, * IF ( NPARAMS.GE.LA_LINRX_ITHRESH_I ) THEN IF ( PARAMS( LA_LINRX_ITHRESH_I ).LT.0.0 ) THEN - PARAMS( LA_LINRX_ITHRESH_I ) = ITHRESH + PARAMS( LA_LINRX_ITHRESH_I ) = REAL( ITHRESH ) ELSE ITHRESH = INT( PARAMS( LA_LINRX_ITHRESH_I ) ) END IF diff --git a/SRC/cla_gbamv.f b/SRC/cla_gbamv.f index d57ba063a..3ae20616f 100644 --- a/SRC/cla_gbamv.f +++ b/SRC/cla_gbamv.f @@ -287,7 +287,7 @@ SUBROUTINE CLA_GBAMV( TRANS, M, N, KL, KU, ALPHA, AB, LDAB, X, * number of additions in each row. * SAFE1 = SLAMCH( 'Safe minimum' ) - SAFE1 = (N+1)*SAFE1 + SAFE1 = REAL( N+1 )*SAFE1 * * Form y := alpha*abs(A)*abs(x) + beta*abs(y). * diff --git a/SRC/cla_geamv.f b/SRC/cla_geamv.f index 6e81a989e..da3c522bb 100644 --- a/SRC/cla_geamv.f +++ b/SRC/cla_geamv.f @@ -274,7 +274,7 @@ SUBROUTINE CLA_GEAMV( TRANS, M, N, ALPHA, A, LDA, X, INCX, * number of additions in each row. * SAFE1 = SLAMCH( 'Safe minimum' ) - SAFE1 = (N+1)*SAFE1 + SAFE1 = REAL( N+1 )*SAFE1 * * Form y := alpha*abs(A)*abs(x) + beta*abs(y). * diff --git a/SRC/cla_heamv.f b/SRC/cla_heamv.f index dc7413427..83aae5017 100644 --- a/SRC/cla_heamv.f +++ b/SRC/cla_heamv.f @@ -261,7 +261,7 @@ SUBROUTINE CLA_HEAMV( UPLO, N, ALPHA, A, LDA, X, INCX, BETA, Y, * number of additions in each row. * SAFE1 = SLAMCH( 'Safe minimum' ) - SAFE1 = (N+1)*SAFE1 + SAFE1 = REAL( N+1 )*SAFE1 * * Form y := alpha*abs(A)*abs(x) + beta*abs(y). * diff --git a/SRC/cla_lin_berr.f b/SRC/cla_lin_berr.f index 6341abb7d..b9305a8b9 100644 --- a/SRC/cla_lin_berr.f +++ b/SRC/cla_lin_berr.f @@ -126,7 +126,7 @@ SUBROUTINE CLA_LIN_BERR( N, NZ, NRHS, RES, AYB, BERR ) REAL SAFE1 * .. * .. Statement Functions .. - COMPLEX CABS1 + REAL CABS1 * .. * .. Statement Function Definitions .. CABS1( CDUM ) = ABS( REAL( CDUM ) ) + ABS( AIMAG( CDUM ) ) @@ -138,7 +138,7 @@ SUBROUTINE CLA_LIN_BERR( N, NZ, NRHS, RES, AYB, BERR ) * to compute AYB. * SAFE1 = SLAMCH( 'Safe minimum' ) - SAFE1 = (NZ+1)*SAFE1 + SAFE1 = REAL( NZ+1 )*SAFE1 DO J = 1, NRHS BERR(J) = 0.0 diff --git a/SRC/cla_syamv.f b/SRC/cla_syamv.f index 36ec24d81..b793f401f 100644 --- a/SRC/cla_syamv.f +++ b/SRC/cla_syamv.f @@ -263,7 +263,7 @@ SUBROUTINE CLA_SYAMV( UPLO, N, ALPHA, A, LDA, X, INCX, BETA, Y, * number of additions in each row. * SAFE1 = SLAMCH( 'Safe minimum' ) - SAFE1 = (N+1)*SAFE1 + SAFE1 = REAL( N+1 )*SAFE1 * * Form y := alpha*abs(A)*abs(x) + beta*abs(y). * diff --git a/SRC/cporfsx.f b/SRC/cporfsx.f index 4b7c09372..7658762b3 100644 --- a/SRC/cporfsx.f +++ b/SRC/cporfsx.f @@ -467,7 +467,7 @@ SUBROUTINE CPORFSX( UPLO, EQUED, N, NRHS, A, LDA, AF, LDAF, S, IF ( PARAMS( LA_LINRX_ITREF_I ) .LT. 0.0 ) THEN PARAMS( LA_LINRX_ITREF_I ) = ITREF_DEFAULT ELSE - REF_TYPE = PARAMS( LA_LINRX_ITREF_I ) + REF_TYPE = INT( PARAMS( LA_LINRX_ITREF_I ) ) END IF END IF * @@ -481,7 +481,7 @@ SUBROUTINE CPORFSX( UPLO, EQUED, N, NRHS, A, LDA, AF, LDAF, S, * IF ( NPARAMS.GE.LA_LINRX_ITHRESH_I ) THEN IF ( PARAMS(LA_LINRX_ITHRESH_I ).LT.0.0 ) THEN - PARAMS( LA_LINRX_ITHRESH_I ) = ITHRESH + PARAMS( LA_LINRX_ITHRESH_I ) = REAL( ITHRESH ) ELSE ITHRESH = INT( PARAMS( LA_LINRX_ITHRESH_I ) ) END IF diff --git a/SRC/csyrfsx.f b/SRC/csyrfsx.f index ed38a1ed8..978fd0718 100644 --- a/SRC/csyrfsx.f +++ b/SRC/csyrfsx.f @@ -477,7 +477,7 @@ SUBROUTINE CSYRFSX( UPLO, EQUED, N, NRHS, A, LDA, AF, LDAF, IF ( PARAMS( LA_LINRX_ITREF_I ) .LT. 0.0 ) THEN PARAMS( LA_LINRX_ITREF_I ) = ITREF_DEFAULT ELSE - REF_TYPE = PARAMS( LA_LINRX_ITREF_I ) + REF_TYPE = INT( PARAMS( LA_LINRX_ITREF_I ) ) END IF END IF * @@ -491,7 +491,7 @@ SUBROUTINE CSYRFSX( UPLO, EQUED, N, NRHS, A, LDA, AF, LDAF, * IF ( NPARAMS.GE.LA_LINRX_ITHRESH_I ) THEN IF ( PARAMS( LA_LINRX_ITHRESH_I ).LT.0.0 ) THEN - PARAMS( LA_LINRX_ITHRESH_I ) = ITHRESH + PARAMS( LA_LINRX_ITHRESH_I ) = REAL( ITHRESH ) ELSE ITHRESH = INT( PARAMS( LA_LINRX_ITHRESH_I ) ) END IF diff --git a/SRC/dgbrfsx.f b/SRC/dgbrfsx.f index c601f0f59..fa1eeec6c 100644 --- a/SRC/dgbrfsx.f +++ b/SRC/dgbrfsx.f @@ -516,7 +516,7 @@ SUBROUTINE DGBRFSX( TRANS, EQUED, N, KL, KU, NRHS, AB, LDAB, IF ( PARAMS( LA_LINRX_ITREF_I ) .LT. 0.0D+0 ) THEN PARAMS( LA_LINRX_ITREF_I ) = ITREF_DEFAULT ELSE - REF_TYPE = PARAMS( LA_LINRX_ITREF_I ) + REF_TYPE = INT( PARAMS( LA_LINRX_ITREF_I ) ) END IF END IF * diff --git a/SRC/dgerfsx.f b/SRC/dgerfsx.f index 0beeff12f..4ed6b8e76 100644 --- a/SRC/dgerfsx.f +++ b/SRC/dgerfsx.f @@ -489,7 +489,7 @@ SUBROUTINE DGERFSX( TRANS, EQUED, N, NRHS, A, LDA, AF, LDAF, IF ( PARAMS( LA_LINRX_ITREF_I ) .LT. 0.0D+0 ) THEN PARAMS( LA_LINRX_ITREF_I ) = ITREF_DEFAULT ELSE - REF_TYPE = PARAMS( LA_LINRX_ITREF_I ) + REF_TYPE = INT( PARAMS( LA_LINRX_ITREF_I ) ) END IF END IF * diff --git a/SRC/dporfsx.f b/SRC/dporfsx.f index a2549e125..3404a8d9a 100644 --- a/SRC/dporfsx.f +++ b/SRC/dporfsx.f @@ -468,7 +468,7 @@ SUBROUTINE DPORFSX( UPLO, EQUED, N, NRHS, A, LDA, AF, LDAF, S, IF ( PARAMS( LA_LINRX_ITREF_I ) .LT. 0.0D+0 ) THEN PARAMS( LA_LINRX_ITREF_I ) = ITREF_DEFAULT ELSE - REF_TYPE = PARAMS( LA_LINRX_ITREF_I ) + REF_TYPE = INT( PARAMS( LA_LINRX_ITREF_I ) ) END IF END IF * diff --git a/SRC/dsyrfsx.f b/SRC/dsyrfsx.f index a0e28affb..0af3672c9 100644 --- a/SRC/dsyrfsx.f +++ b/SRC/dsyrfsx.f @@ -475,7 +475,7 @@ SUBROUTINE DSYRFSX( UPLO, EQUED, N, NRHS, A, LDA, AF, LDAF, IF ( PARAMS( LA_LINRX_ITREF_I ) .LT. 0.0D+0 ) THEN PARAMS( LA_LINRX_ITREF_I ) = ITREF_DEFAULT ELSE - REF_TYPE = PARAMS( LA_LINRX_ITREF_I ) + REF_TYPE = INT( PARAMS( LA_LINRX_ITREF_I ) ) END IF END IF * diff --git a/SRC/sgbrfsx.f b/SRC/sgbrfsx.f index bb827d31f..1a7f5598a 100644 --- a/SRC/sgbrfsx.f +++ b/SRC/sgbrfsx.f @@ -516,7 +516,7 @@ SUBROUTINE SGBRFSX( TRANS, EQUED, N, KL, KU, NRHS, AB, LDAB, IF ( PARAMS( LA_LINRX_ITREF_I ) .LT. 0.0 ) THEN PARAMS( LA_LINRX_ITREF_I ) = ITREF_DEFAULT ELSE - REF_TYPE = PARAMS( LA_LINRX_ITREF_I ) + REF_TYPE = INT( PARAMS( LA_LINRX_ITREF_I ) ) END IF END IF * @@ -530,7 +530,7 @@ SUBROUTINE SGBRFSX( TRANS, EQUED, N, KL, KU, NRHS, AB, LDAB, * IF ( NPARAMS.GE.LA_LINRX_ITHRESH_I ) THEN IF ( PARAMS( LA_LINRX_ITHRESH_I ).LT.0.0 ) THEN - PARAMS( LA_LINRX_ITHRESH_I ) = ITHRESH + PARAMS( LA_LINRX_ITHRESH_I ) = REAL( ITHRESH ) ELSE ITHRESH = INT( PARAMS( LA_LINRX_ITHRESH_I ) ) END IF diff --git a/SRC/sgerfsx.f b/SRC/sgerfsx.f index c8d518cc7..78eebacba 100644 --- a/SRC/sgerfsx.f +++ b/SRC/sgerfsx.f @@ -489,7 +489,7 @@ SUBROUTINE SGERFSX( TRANS, EQUED, N, NRHS, A, LDA, AF, LDAF, IF ( PARAMS( LA_LINRX_ITREF_I ) .LT. 0.0 ) THEN PARAMS( LA_LINRX_ITREF_I ) = ITREF_DEFAULT ELSE - REF_TYPE = PARAMS( LA_LINRX_ITREF_I ) + REF_TYPE = INT( PARAMS( LA_LINRX_ITREF_I ) ) END IF END IF * @@ -503,7 +503,7 @@ SUBROUTINE SGERFSX( TRANS, EQUED, N, NRHS, A, LDA, AF, LDAF, * IF ( NPARAMS.GE.LA_LINRX_ITHRESH_I ) THEN IF ( PARAMS( LA_LINRX_ITHRESH_I ).LT.0.0 ) THEN - PARAMS( LA_LINRX_ITHRESH_I ) = ITHRESH + PARAMS( LA_LINRX_ITHRESH_I ) = REAL( ITHRESH ) ELSE ITHRESH = INT( PARAMS( LA_LINRX_ITHRESH_I ) ) END IF diff --git a/SRC/sla_gbamv.f b/SRC/sla_gbamv.f index c1714cd18..9260ca0ae 100644 --- a/SRC/sla_gbamv.f +++ b/SRC/sla_gbamv.f @@ -277,7 +277,7 @@ SUBROUTINE SLA_GBAMV( TRANS, M, N, KL, KU, ALPHA, AB, LDAB, X, * number of additions in each row. * SAFE1 = SLAMCH( 'Safe minimum' ) - SAFE1 = (N+1)*SAFE1 + SAFE1 = REAL( N+1 )*SAFE1 * * Form y := alpha*abs(A)*abs(x) + beta*abs(y). * diff --git a/SRC/sla_geamv.f b/SRC/sla_geamv.f index 957fe3ff5..1de40cf85 100644 --- a/SRC/sla_geamv.f +++ b/SRC/sla_geamv.f @@ -264,7 +264,7 @@ SUBROUTINE SLA_GEAMV( TRANS, M, N, ALPHA, A, LDA, X, INCX, * number of additions in each row. * SAFE1 = SLAMCH( 'Safe minimum' ) - SAFE1 = (N+1)*SAFE1 + SAFE1 = REAL( N+1 )*SAFE1 * * Form y := alpha*abs(A)*abs(x) + beta*abs(y). * diff --git a/SRC/sla_lin_berr.f b/SRC/sla_lin_berr.f index 3742eb656..4c6a32e91 100644 --- a/SRC/sla_lin_berr.f +++ b/SRC/sla_lin_berr.f @@ -131,7 +131,7 @@ SUBROUTINE SLA_LIN_BERR( N, NZ, NRHS, RES, AYB, BERR ) * to compute AYB. * SAFE1 = SLAMCH( 'Safe minimum' ) - SAFE1 = (NZ+1)*SAFE1 + SAFE1 = REAL( NZ+1 )*SAFE1 DO J = 1, NRHS BERR(J) = 0.0 diff --git a/SRC/sla_syamv.f b/SRC/sla_syamv.f index 39fd3062d..ac4604a77 100644 --- a/SRC/sla_syamv.f +++ b/SRC/sla_syamv.f @@ -252,7 +252,7 @@ SUBROUTINE SLA_SYAMV( UPLO, N, ALPHA, A, LDA, X, INCX, BETA, Y, * number of additions in each row. * SAFE1 = SLAMCH( 'Safe minimum' ) - SAFE1 = (N+1)*SAFE1 + SAFE1 = REAL( N+1 )*SAFE1 * * Form y := alpha*abs(A)*abs(x) + beta*abs(y). * diff --git a/SRC/sporfsx.f b/SRC/sporfsx.f index abdbe16a1..448c66a9e 100644 --- a/SRC/sporfsx.f +++ b/SRC/sporfsx.f @@ -468,7 +468,7 @@ SUBROUTINE SPORFSX( UPLO, EQUED, N, NRHS, A, LDA, AF, LDAF, S, IF ( PARAMS( LA_LINRX_ITREF_I ) .LT. 0.0 ) THEN PARAMS( LA_LINRX_ITREF_I ) = ITREF_DEFAULT ELSE - REF_TYPE = PARAMS( LA_LINRX_ITREF_I ) + REF_TYPE = INT( PARAMS( LA_LINRX_ITREF_I ) ) END IF END IF * @@ -482,7 +482,7 @@ SUBROUTINE SPORFSX( UPLO, EQUED, N, NRHS, A, LDA, AF, LDAF, S, * IF ( NPARAMS.GE.LA_LINRX_ITHRESH_I ) THEN IF ( PARAMS( LA_LINRX_ITHRESH_I ).LT.0.0 ) THEN - PARAMS( LA_LINRX_ITHRESH_I ) = ITHRESH + PARAMS( LA_LINRX_ITHRESH_I ) = REAL( ITHRESH ) ELSE ITHRESH = INT( PARAMS( LA_LINRX_ITHRESH_I ) ) END IF diff --git a/SRC/ssyrfsx.f b/SRC/ssyrfsx.f index 6a47f1168..7dca5dea2 100644 --- a/SRC/ssyrfsx.f +++ b/SRC/ssyrfsx.f @@ -475,7 +475,7 @@ SUBROUTINE SSYRFSX( UPLO, EQUED, N, NRHS, A, LDA, AF, LDAF, IF ( PARAMS( LA_LINRX_ITREF_I ) .LT. 0.0 ) THEN PARAMS( LA_LINRX_ITREF_I ) = ITREF_DEFAULT ELSE - REF_TYPE = PARAMS( LA_LINRX_ITREF_I ) + REF_TYPE = INT( PARAMS( LA_LINRX_ITREF_I ) ) END IF END IF * @@ -489,7 +489,7 @@ SUBROUTINE SSYRFSX( UPLO, EQUED, N, NRHS, A, LDA, AF, LDAF, * IF ( NPARAMS.GE.LA_LINRX_ITHRESH_I ) THEN IF ( PARAMS( LA_LINRX_ITHRESH_I ).LT.0.0 ) THEN - PARAMS( LA_LINRX_ITHRESH_I ) = ITHRESH + PARAMS( LA_LINRX_ITHRESH_I ) = REAL( ITHRESH ) ELSE ITHRESH = INT( PARAMS( LA_LINRX_ITHRESH_I ) ) END IF diff --git a/SRC/zgbrfsx.f b/SRC/zgbrfsx.f index 2c309e694..260c27088 100644 --- a/SRC/zgbrfsx.f +++ b/SRC/zgbrfsx.f @@ -513,7 +513,7 @@ SUBROUTINE ZGBRFSX( TRANS, EQUED, N, KL, KU, NRHS, AB, LDAB, IF ( PARAMS( LA_LINRX_ITREF_I ) .LT. 0.0D+0 ) THEN PARAMS( LA_LINRX_ITREF_I ) = ITREF_DEFAULT ELSE - REF_TYPE = PARAMS( LA_LINRX_ITREF_I ) + REF_TYPE = INT( PARAMS( LA_LINRX_ITREF_I ) ) END IF END IF * diff --git a/SRC/zgerfsx.f b/SRC/zgerfsx.f index 4b7a2c439..4af17c5be 100644 --- a/SRC/zgerfsx.f +++ b/SRC/zgerfsx.f @@ -490,7 +490,7 @@ SUBROUTINE ZGERFSX( TRANS, EQUED, N, NRHS, A, LDA, AF, LDAF, IF ( PARAMS( LA_LINRX_ITREF_I ) .LT. 0.0D+0 ) THEN PARAMS( LA_LINRX_ITREF_I ) = ITREF_DEFAULT ELSE - REF_TYPE = PARAMS( LA_LINRX_ITREF_I ) + REF_TYPE = INT( PARAMS( LA_LINRX_ITREF_I ) ) END IF END IF * diff --git a/SRC/zherfsx.f b/SRC/zherfsx.f index 77a215fd5..e202b7971 100644 --- a/SRC/zherfsx.f +++ b/SRC/zherfsx.f @@ -475,7 +475,7 @@ SUBROUTINE ZHERFSX( UPLO, EQUED, N, NRHS, A, LDA, AF, LDAF, IF ( PARAMS( LA_LINRX_ITREF_I ) .LT. 0.0D+0 ) THEN PARAMS( LA_LINRX_ITREF_I ) = ITREF_DEFAULT ELSE - REF_TYPE = PARAMS( LA_LINRX_ITREF_I ) + REF_TYPE = INT( PARAMS( LA_LINRX_ITREF_I ) ) END IF END IF * diff --git a/SRC/zla_lin_berr.f b/SRC/zla_lin_berr.f index 7f96ed4fa..69b58f303 100644 --- a/SRC/zla_lin_berr.f +++ b/SRC/zla_lin_berr.f @@ -126,7 +126,7 @@ SUBROUTINE ZLA_LIN_BERR( N, NZ, NRHS, RES, AYB, BERR ) DOUBLE PRECISION SAFE1 * .. * .. Statement Functions .. - COMPLEX*16 CABS1 + DOUBLE PRECISION CABS1 * .. * .. Statement Function Definitions .. CABS1( CDUM ) = ABS( DBLE( CDUM ) ) + ABS( DIMAG( CDUM ) ) diff --git a/SRC/zporfsx.f b/SRC/zporfsx.f index 7f2a8405e..928c7b7cb 100644 --- a/SRC/zporfsx.f +++ b/SRC/zporfsx.f @@ -467,7 +467,7 @@ SUBROUTINE ZPORFSX( UPLO, EQUED, N, NRHS, A, LDA, AF, LDAF, S, IF ( PARAMS( LA_LINRX_ITREF_I ) .LT. 0.0D+0 ) THEN PARAMS( LA_LINRX_ITREF_I ) = ITREF_DEFAULT ELSE - REF_TYPE = PARAMS( LA_LINRX_ITREF_I ) + REF_TYPE = INT( PARAMS( LA_LINRX_ITREF_I ) ) END IF END IF * diff --git a/SRC/zsyrfsx.f b/SRC/zsyrfsx.f index 11e4fd1fb..196a09884 100644 --- a/SRC/zsyrfsx.f +++ b/SRC/zsyrfsx.f @@ -477,7 +477,7 @@ SUBROUTINE ZSYRFSX( UPLO, EQUED, N, NRHS, A, LDA, AF, LDAF, IF ( PARAMS( LA_LINRX_ITREF_I ) .LT. 0.0D+0 ) THEN PARAMS( LA_LINRX_ITREF_I ) = ITREF_DEFAULT ELSE - REF_TYPE = PARAMS( LA_LINRX_ITREF_I ) + REF_TYPE = INT( PARAMS( LA_LINRX_ITREF_I ) ) END IF END IF * diff --git a/TESTING/EIG/cchkbb.f b/TESTING/EIG/cchkbb.f index eca5e4d4d..6315b0a8d 100644 --- a/TESTING/EIG/cchkbb.f +++ b/TESTING/EIG/cchkbb.f @@ -568,7 +568,7 @@ SUBROUTINE CCHKBB( NSIZES, MVAL, NVAL, NWDTHS, KK, NTYPES, DOTYPE, GO TO 70 * 60 CONTINUE - ANORM = RTUNFL*MAX( M, N )*ULPINV + ANORM = RTUNFL*REAL( MAX( M, N ) )*ULPINV GO TO 70 * 70 CONTINUE diff --git a/TESTING/EIG/cchkbd.f b/TESTING/EIG/cchkbd.f index 84f5d7d9f..7b3ba3bdd 100644 --- a/TESTING/EIG/cchkbd.f +++ b/TESTING/EIG/cchkbd.f @@ -562,7 +562,7 @@ SUBROUTINE CCHKBD( NSIZES, MVAL, NVAL, NTYPES, DOTYPE, NRHS, M = MVAL( JSIZE ) N = NVAL( JSIZE ) MNMIN = MIN( M, N ) - AMNINV = ONE / MAX( M, N, 1 ) + AMNINV = ONE / REAL( MAX( M, N, 1 ) ) * IF( NSIZES.NE.1 ) THEN MTYPES = MIN( MAXTYP, NTYPES ) @@ -619,7 +619,7 @@ SUBROUTINE CCHKBD( NSIZES, MVAL, NVAL, NTYPES, DOTYPE, NRHS, GO TO 70 * 60 CONTINUE - ANORM = RTUNFL*MAX( M, N )*ULPINV + ANORM = RTUNFL*REAL( MAX( M, N ) )*ULPINV GO TO 70 * 70 CONTINUE diff --git a/TESTING/EIG/cchkdmd.f90 b/TESTING/EIG/cchkdmd.f90 index f8aa19a30..2e3681a93 100644 --- a/TESTING/EIG/cchkdmd.f90 +++ b/TESTING/EIG/cchkdmd.f90 @@ -190,8 +190,8 @@ PROGRAM DMD_TEST ALLOCATE( SINGVX(N) ) ALLOCATE( SINGVQX(N) ) - TOL = 10*M*EPS - TOL2 = 10*M*N*EPS + TOL = 10.0_WP*REAL( M, KIND=WP )*EPS + TOL2 = 10.0_WP*REAL( M, KIND=WP )*REAL( N, KIND=WP )*EPS !............. diff --git a/TESTING/EIG/cchkgg.f b/TESTING/EIG/cchkgg.f index 5bd766eae..f21c37949 100644 --- a/TESTING/EIG/cchkgg.f +++ b/TESTING/EIG/cchkgg.f @@ -657,7 +657,7 @@ SUBROUTINE CCHKGG( NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, N = NN( JSIZE ) N1 = MAX( 1, N ) RMAGN( 2 ) = SAFMAX*ULP / REAL( N1 ) - RMAGN( 3 ) = SAFMIN*ULPINV*N1 + RMAGN( 3 ) = SAFMIN*ULPINV*REAL( N1 ) * IF( NSIZES.NE.1 ) THEN MTYPES = MIN( MAXTYP, NTYPES ) diff --git a/TESTING/EIG/cchkhb.f b/TESTING/EIG/cchkhb.f index 5d6a4780b..13da2c0bd 100644 --- a/TESTING/EIG/cchkhb.f +++ b/TESTING/EIG/cchkhb.f @@ -489,7 +489,7 @@ SUBROUTINE CCHKHB( NSIZES, NN, NWDTHS, KK, NTYPES, DOTYPE, ISEED, GO TO 70 * 60 CONTINUE - ANORM = RTUNFL*N*ULPINV + ANORM = RTUNFL*REAL( N )*ULPINV GO TO 70 * 70 CONTINUE diff --git a/TESTING/EIG/cchkhb2stg.f b/TESTING/EIG/cchkhb2stg.f index a8f7e5895..5bc2da44a 100644 --- a/TESTING/EIG/cchkhb2stg.f +++ b/TESTING/EIG/cchkhb2stg.f @@ -533,7 +533,7 @@ SUBROUTINE CCHKHB2STG( NSIZES, NN, NWDTHS, KK, NTYPES, DOTYPE, GO TO 70 * 60 CONTINUE - ANORM = RTUNFL*N*ULPINV + ANORM = RTUNFL*REAL( N )*ULPINV GO TO 70 * 70 CONTINUE diff --git a/TESTING/EIG/cchkhs.f b/TESTING/EIG/cchkhs.f index 07eed07e1..71af6f970 100644 --- a/TESTING/EIG/cchkhs.f +++ b/TESTING/EIG/cchkhs.f @@ -612,7 +612,7 @@ SUBROUTINE CCHKHS( NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, GO TO 70 * 60 CONTINUE - ANORM = RTUNFL*N*ULPINV + ANORM = RTUNFL*REAL( N )*ULPINV GO TO 70 * 70 CONTINUE diff --git a/TESTING/EIG/cchkst.f b/TESTING/EIG/cchkst.f index ee98bc9b5..6cb796648 100644 --- a/TESTING/EIG/cchkst.f +++ b/TESTING/EIG/cchkst.f @@ -817,7 +817,7 @@ SUBROUTINE CCHKST( NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, GO TO 70 * 60 CONTINUE - ANORM = RTUNFL*N*ULPINV + ANORM = RTUNFL*REAL( N )*ULPINV GO TO 70 * 70 CONTINUE @@ -1301,8 +1301,8 @@ SUBROUTINE CCHKST( NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, * * Do test 17 * - TEMP2 = TWO*( TWO*N-ONE )*ULP*( ONE+EIGHT*HALF**2 ) / - $ ( ONE-HALF )**4 + TEMP2 = TWO*( TWO*REAL( N )-ONE )*ULP* + $ ( ONE+EIGHT*HALF**2 ) / ( ONE-HALF )**4 * TEMP1 = ZERO DO 190 J = 1, N @@ -1605,7 +1605,8 @@ SUBROUTINE CCHKST( NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, * * Do test 27 * - TEMP2 = TWO*( TWO*N-ONE )*ULP*( ONE+EIGHT*HALF**2 ) / + TEMP2 = TWO*( TWO*REAL( N )-ONE )*ULP* + $ ( ONE+EIGHT*HALF**2 ) / $ ( ONE-HALF )**4 * TEMP1 = ZERO @@ -1647,7 +1648,7 @@ SUBROUTINE CCHKST( NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, * * Do test 28 * - TEMP2 = TWO*( TWO*N-ONE )*ULP* + TEMP2 = TWO*( TWO*REAL( N )-ONE )*ULP* $ ( ONE+EIGHT*HALF**2 ) / ( ONE-HALF )**4 * TEMP1 = ZERO diff --git a/TESTING/EIG/cchkst2stg.f b/TESTING/EIG/cchkst2stg.f index 06c7569a4..3258575a4 100644 --- a/TESTING/EIG/cchkst2stg.f +++ b/TESTING/EIG/cchkst2stg.f @@ -839,7 +839,7 @@ SUBROUTINE CCHKST2STG( NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, GO TO 70 * 60 CONTINUE - ANORM = RTUNFL*N*ULPINV + ANORM = RTUNFL*REAL( N )*ULPINV GO TO 70 * 70 CONTINUE @@ -1391,7 +1391,8 @@ SUBROUTINE CCHKST2STG( NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, * * Do test 17 * - TEMP2 = TWO*( TWO*N-ONE )*ULP*( ONE+EIGHT*HALF**2 ) / + TEMP2 = TWO*( TWO*REAL( N )-ONE )*ULP* + $ ( ONE+EIGHT*HALF**2 ) / $ ( ONE-HALF )**4 * TEMP1 = ZERO @@ -1695,8 +1696,8 @@ SUBROUTINE CCHKST2STG( NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, * * Do test 27 * - TEMP2 = TWO*( TWO*N-ONE )*ULP*( ONE+EIGHT*HALF**2 ) / - $ ( ONE-HALF )**4 + TEMP2 = TWO*( TWO*REAL( N )-ONE )*ULP* + $ ( ONE+EIGHT*HALF**2 ) / ( ONE-HALF )**4 * TEMP1 = ZERO DO 220 J = 1, N @@ -1736,7 +1737,7 @@ SUBROUTINE CCHKST2STG( NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, * * Do test 28 * - TEMP2 = TWO*( TWO*N-ONE )*ULP* + TEMP2 = TWO*( TWO*REAL( N )-ONE )*ULP* $ ( ONE+EIGHT*HALF**2 ) / ( ONE-HALF )**4 * TEMP1 = ZERO diff --git a/TESTING/EIG/cckcsd.f b/TESTING/EIG/cckcsd.f index 3c19827b2..050dbf1d5 100644 --- a/TESTING/EIG/cckcsd.f +++ b/TESTING/EIG/cckcsd.f @@ -302,7 +302,7 @@ SUBROUTINE CCKCSD( NM, MVAL, PVAL, QVAL, NMATS, ISEED, THRESH, ELSE CALL CLASET( 'F', M, M, ZERO, ONE, X, LDX ) DO I = 1, M - J = INT( SLARAN( ISEED ) * M ) + 1 + J = INT( SLARAN( ISEED ) * REAL( M ) ) + 1 IF( J .NE. I ) THEN CALL CSROT( M, X(1+(I-1)*LDX), 1, X(1+(J-1)*LDX), $ 1, REALZERO, REALONE ) diff --git a/TESTING/EIG/cdrges.f b/TESTING/EIG/cdrges.f index 77e4c6d60..b592e0dd0 100644 --- a/TESTING/EIG/cdrges.f +++ b/TESTING/EIG/cdrges.f @@ -514,7 +514,7 @@ SUBROUTINE CDRGES( NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, $ ILAENV( 1, 'CUNMQR', 'LC', NMAX, NMAX, NMAX, -1 ), $ ILAENV( 1, 'CUNGQR', ' ', NMAX, NMAX, NMAX, -1 ) ) MAXWRK = MAX( NMAX+NMAX*NB, 3*NMAX*NMAX ) - WORK( 1 ) = MAXWRK + WORK( 1 ) = CMPLX( REAL( MAXWRK ) ) END IF * IF( LWORK.LT.MINWRK ) @@ -874,7 +874,7 @@ SUBROUTINE CDRGES( NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, * CALL ALASVM( 'CGS', NOUNIT, NERRS, NTESTT, 0 ) * - WORK( 1 ) = MAXWRK + WORK( 1 ) = CMPLX( REAL( MAXWRK ) ) * RETURN * diff --git a/TESTING/EIG/cdrges3.f b/TESTING/EIG/cdrges3.f index 2aaaaaeba..0fb535ff9 100644 --- a/TESTING/EIG/cdrges3.f +++ b/TESTING/EIG/cdrges3.f @@ -515,7 +515,7 @@ SUBROUTINE CDRGES3( NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, $ ILAENV( 1, 'CUNMQR', 'LC', NMAX, NMAX, NMAX, -1 ), $ ILAENV( 1, 'CUNGQR', ' ', NMAX, NMAX, NMAX, -1 ) ) MAXWRK = MAX( NMAX+NMAX*NB, 3*NMAX*NMAX) - WORK( 1 ) = MAXWRK + WORK( 1 ) = CMPLX( REAL( MAXWRK ) ) END IF * IF( LWORK.LT.MINWRK ) @@ -883,7 +883,7 @@ SUBROUTINE CDRGES3( NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, * CALL ALASVM( 'CGS', NOUNIT, NERRS, NTESTT, 0 ) * - WORK( 1 ) = MAXWRK + WORK( 1 ) = CMPLX( REAL( MAXWRK ) ) * RETURN * diff --git a/TESTING/EIG/cdrgev.f b/TESTING/EIG/cdrgev.f index 9c7c57cf4..9e06c20e4 100644 --- a/TESTING/EIG/cdrgev.f +++ b/TESTING/EIG/cdrgev.f @@ -527,7 +527,7 @@ SUBROUTINE CDRGEV( NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, $ ILAENV( 1, 'CUNMQR', 'LC', NMAX, NMAX, NMAX, -1 ), $ ILAENV( 1, 'CUNGQR', ' ', NMAX, NMAX, NMAX, -1 ) ) MAXWRK = MAX( 2*NMAX, NMAX*( NB+1 ), NMAX*( NMAX+1 ) ) - WORK( 1 ) = MAXWRK + WORK( 1 ) = CMPLX( REAL( MAXWRK ) ) END IF * IF( LWORK.LT.MINWRK ) @@ -564,7 +564,7 @@ SUBROUTINE CDRGEV( NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, N = NN( JSIZE ) N1 = MAX( 1, N ) RMAGN( 2 ) = SAFMAX*ULP / REAL( N1 ) - RMAGN( 3 ) = SAFMIN*ULPINV*N1 + RMAGN( 3 ) = SAFMIN*ULPINV*REAL( N1 ) * IF( NSIZES.NE.1 ) THEN MTYPES = MIN( MAXTYP, NTYPES ) @@ -884,7 +884,7 @@ SUBROUTINE CDRGEV( NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, * CALL ALASVM( 'CGV', NOUNIT, NERRS, NTESTT, 0 ) * - WORK( 1 ) = MAXWRK + WORK( 1 ) = CMPLX( REAL( MAXWRK ) ) * RETURN * diff --git a/TESTING/EIG/cdrgev3.f b/TESTING/EIG/cdrgev3.f index 5836890d3..fd1d316e5 100644 --- a/TESTING/EIG/cdrgev3.f +++ b/TESTING/EIG/cdrgev3.f @@ -527,7 +527,7 @@ SUBROUTINE CDRGEV3( NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, $ ILAENV( 1, 'CUNMQR', 'LC', NMAX, NMAX, NMAX, -1 ), $ ILAENV( 1, 'CUNGQR', ' ', NMAX, NMAX, NMAX, -1 ) ) MAXWRK = MAX( 2*NMAX, NMAX*( NB+1 ), NMAX*( NMAX+1 ) ) - WORK( 1 ) = MAXWRK + WORK( 1 ) = CMPLX( REAL( MAXWRK ) ) END IF * IF( LWORK.LT.MINWRK ) @@ -564,7 +564,7 @@ SUBROUTINE CDRGEV3( NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, N = NN( JSIZE ) N1 = MAX( 1, N ) RMAGN( 2 ) = SAFMAX*ULP / REAL( N1 ) - RMAGN( 3 ) = SAFMIN*ULPINV*N1 + RMAGN( 3 ) = SAFMIN*ULPINV*REAL( N1 ) * IF( NSIZES.NE.1 ) THEN MTYPES = MIN( MAXTYP, NTYPES ) @@ -896,7 +896,7 @@ SUBROUTINE CDRGEV3( NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, * CALL ALASVM( 'CGV3', NOUNIT, NERRS, NTESTT, 0 ) * - WORK( 1 ) = MAXWRK + WORK( 1 ) = CMPLX( REAL( MAXWRK ) ) * RETURN * diff --git a/TESTING/EIG/cdrgsx.f b/TESTING/EIG/cdrgsx.f index be68b8812..95b2a7456 100644 --- a/TESTING/EIG/cdrgsx.f +++ b/TESTING/EIG/cdrgsx.f @@ -462,7 +462,7 @@ SUBROUTINE CDRGSX( NSIZE, NCMAX, THRESH, NIN, NOUT, A, LDA, B, * MAXWRK = MAX( MAXWRK, MINWRK ) * - WORK( 1 ) = MAXWRK + WORK( 1 ) = CMPLX( REAL( MAXWRK ) ) END IF * IF( LWORK.LT.MINWRK ) @@ -895,7 +895,7 @@ SUBROUTINE CDRGSX( NSIZE, NCMAX, THRESH, NIN, NOUT, A, LDA, B, * CALL ALASVM( 'CGX', NOUT, NERRS, NTESTT, 0 ) * - WORK( 1 ) = MAXWRK + WORK( 1 ) = CMPLX( REAL( MAXWRK ) ) * RETURN * diff --git a/TESTING/EIG/cdrgvx.f b/TESTING/EIG/cdrgvx.f index 8eab34e58..3f3ff9039 100644 --- a/TESTING/EIG/cdrgvx.f +++ b/TESTING/EIG/cdrgvx.f @@ -379,7 +379,7 @@ SUBROUTINE CDRGVX( NSIZE, THRESH, NIN, NOUT, A, LDA, B, AI, BI, MAXWRK = NMAX*( 1+ILAENV( 1, 'CGEQRF', ' ', NMAX, 1, NMAX, $ 0 ) ) MAXWRK = MAX( MAXWRK, 2*NMAX*( NMAX+1 ) ) - WORK( 1 ) = MAXWRK + WORK( 1 ) = CMPLX( REAL( MAXWRK ) ) END IF * IF( LWORK.LT.MINWRK ) @@ -699,7 +699,7 @@ SUBROUTINE CDRGVX( NSIZE, THRESH, NIN, NOUT, A, LDA, B, AI, BI, * CALL ALASVM( 'CXV', NOUT, NERRS, NTESTT, 0 ) * - WORK( 1 ) = MAXWRK + WORK( 1 ) = CMPLX( REAL( MAXWRK ) ) * RETURN * diff --git a/TESTING/EIG/cdrvbd.f b/TESTING/EIG/cdrvbd.f index 97ee21728..2feb4abef 100644 --- a/TESTING/EIG/cdrvbd.f +++ b/TESTING/EIG/cdrvbd.f @@ -1140,8 +1140,8 @@ SUBROUTINE CDRVBD( NSIZES, MM, NN, NTYPES, DOTYPE, ISEED, THRESH, IL = 1 IU = MAX( 1, MNMIN ) ELSE - IL = 1 + INT( ( MNMIN-1 )*SLARND( 1, ISEED2 ) ) - IU = 1 + INT( ( MNMIN-1 )*SLARND( 1, ISEED2 ) ) + IL = 1 + INT( REAL( MNMIN-1 )*SLARND( 1, ISEED2 ) ) + IU = 1 + INT( REAL( MNMIN-1 )*SLARND( 1, ISEED2 ) ) IF( IU.LT.IL ) THEN ITEMP = IU IU = IL diff --git a/TESTING/EIG/cdrvsg.f b/TESTING/EIG/cdrvsg.f index c4c29f5f3..3a45deafd 100644 --- a/TESTING/EIG/cdrvsg.f +++ b/TESTING/EIG/cdrvsg.f @@ -552,7 +552,7 @@ SUBROUTINE CDRVSG( NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, GO TO 70 * 60 CONTINUE - ANORM = RTUNFL*N*ULPINV + ANORM = RTUNFL*REAL( N )*ULPINV GO TO 70 * 70 CONTINUE @@ -663,8 +663,8 @@ SUBROUTINE CDRVSG( NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, IL = 1 IU = N ELSE - IL = 1 + INT( ( N-1 )*SLARND( 1, ISEED2 ) ) - IU = 1 + INT( ( N-1 )*SLARND( 1, ISEED2 ) ) + IL = 1 + INT( REAL( N-1 )*SLARND( 1, ISEED2 ) ) + IU = 1 + INT( REAL( N-1 )*SLARND( 1, ISEED2 ) ) IF( IL.GT.IU ) THEN ITEMP = IL IL = IU diff --git a/TESTING/EIG/cdrvsg2stg.f b/TESTING/EIG/cdrvsg2stg.f index 77f3865e0..3cba68731 100644 --- a/TESTING/EIG/cdrvsg2stg.f +++ b/TESTING/EIG/cdrvsg2stg.f @@ -560,7 +560,7 @@ SUBROUTINE CDRVSG2STG( NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, GO TO 70 * 60 CONTINUE - ANORM = RTUNFL*N*ULPINV + ANORM = RTUNFL*REAL( N )*ULPINV GO TO 70 * 70 CONTINUE @@ -671,8 +671,8 @@ SUBROUTINE CDRVSG2STG( NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, IL = 1 IU = N ELSE - IL = 1 + INT( ( N-1 )*SLARND( 1, ISEED2 ) ) - IU = 1 + INT( ( N-1 )*SLARND( 1, ISEED2 ) ) + IL = 1 + INT( REAL( N-1 )*SLARND( 1, ISEED2 ) ) + IU = 1 + INT( REAL( N-1 )*SLARND( 1, ISEED2 ) ) IF( IL.GT.IU ) THEN ITEMP = IL IL = IU diff --git a/TESTING/EIG/cdrvst.f b/TESTING/EIG/cdrvst.f index 934b8e02b..62cbcbced 100644 --- a/TESTING/EIG/cdrvst.f +++ b/TESTING/EIG/cdrvst.f @@ -535,7 +535,7 @@ SUBROUTINE CDRVST( NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, GO TO 70 * 60 CONTINUE - ANORM = RTUNFL*N*ULPINV + ANORM = RTUNFL*REAL( N )*ULPINV GO TO 70 * 70 CONTINUE @@ -595,7 +595,7 @@ SUBROUTINE CDRVST( NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, * * Hermitian banded, eigenvalues specified * - IHBW = INT( ( N-1 )*SLARND( 1, ISEED3 ) ) + IHBW = INT( REAL( N-1 )*SLARND( 1, ISEED3 ) ) CALL CLATMS( N, N, 'S', ISEED, 'H', RWORK, IMODE, COND, $ ANORM, IHBW, IHBW, 'Z', U, LDU, WORK, $ IINFO ) @@ -630,8 +630,8 @@ SUBROUTINE CDRVST( NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, IL = 1 IU = N ELSE - IL = 1 + INT( ( N-1 )*SLARND( 1, ISEED2 ) ) - IU = 1 + INT( ( N-1 )*SLARND( 1, ISEED2 ) ) + IL = 1 + INT( REAL( N-1 )*SLARND( 1, ISEED2 ) ) + IU = 1 + INT( REAL( N-1 )*SLARND( 1, ISEED2 ) ) IF( IL.GT.IU ) THEN ITEMP = IL IL = IU diff --git a/TESTING/EIG/cdrvst2stg.f b/TESTING/EIG/cdrvst2stg.f index c436783f7..319424af6 100644 --- a/TESTING/EIG/cdrvst2stg.f +++ b/TESTING/EIG/cdrvst2stg.f @@ -537,7 +537,7 @@ SUBROUTINE CDRVST2STG( NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, GO TO 70 * 60 CONTINUE - ANORM = RTUNFL*N*ULPINV + ANORM = RTUNFL*REAL( N )*ULPINV GO TO 70 * 70 CONTINUE @@ -597,7 +597,7 @@ SUBROUTINE CDRVST2STG( NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, * * Hermitian banded, eigenvalues specified * - IHBW = INT( ( N-1 )*SLARND( 1, ISEED3 ) ) + IHBW = INT( REAL( N-1 )*SLARND( 1, ISEED3 ) ) CALL CLATMS( N, N, 'S', ISEED, 'H', RWORK, IMODE, COND, $ ANORM, IHBW, IHBW, 'Z', U, LDU, WORK, $ IINFO ) @@ -632,8 +632,8 @@ SUBROUTINE CDRVST2STG( NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, IL = 1 IU = N ELSE - IL = 1 + INT( ( N-1 )*SLARND( 1, ISEED2 ) ) - IU = 1 + INT( ( N-1 )*SLARND( 1, ISEED2 ) ) + IL = 1 + INT( REAL( N-1 )*SLARND( 1, ISEED2 ) ) + IU = 1 + INT( REAL( N-1 )*SLARND( 1, ISEED2 ) ) IF( IL.GT.IU ) THEN ITEMP = IL IL = IU diff --git a/TESTING/EIG/cget10.f b/TESTING/EIG/cget10.f index 448f87819..b92a58703 100644 --- a/TESTING/EIG/cget10.f +++ b/TESTING/EIG/cget10.f @@ -153,12 +153,14 @@ SUBROUTINE CGET10( M, N, A, LDA, B, LDB, WORK, RWORK, RESULT ) ANORM = MAX( CLANGE( '1', M, N, A, LDA, RWORK ), UNFL ) * IF( ANORM.GT.WNORM ) THEN - RESULT = ( WNORM / ANORM ) / ( M*EPS ) + RESULT = ( WNORM / ANORM ) / ( REAL( M )*EPS ) ELSE IF( ANORM.LT.ONE ) THEN - RESULT = ( MIN( WNORM, M*ANORM ) / ANORM ) / ( M*EPS ) + RESULT = ( MIN( WNORM, REAL( M )*ANORM ) / ANORM ) / + $ ( REAL( M )*EPS ) ELSE - RESULT = MIN( WNORM / ANORM, REAL( M ) ) / ( M*EPS ) + RESULT = MIN( WNORM / ANORM, REAL( M ) ) / + $ ( REAL( M )*EPS ) END IF END IF * diff --git a/TESTING/EIG/cget24.f b/TESTING/EIG/cget24.f index 82c77006b..dfd1129e5 100644 --- a/TESTING/EIG/cget24.f +++ b/TESTING/EIG/cget24.f @@ -500,14 +500,14 @@ SUBROUTINE CGET24( COMP, JTYPE, THRESH, ISEED, NOUNIT, N, A, LDA, WNORM = CLANGE( '1', N, N, VS1, LDVS, RWORK ) * IF( ANORM.GT.WNORM ) THEN - RESULT( 2+RSUB ) = ( WNORM / ANORM ) / ( N*ULP ) + RESULT( 2+RSUB ) = ( WNORM / ANORM ) / ( REAL( N )*ULP ) ELSE IF( ANORM.LT.ONE ) THEN - RESULT( 2+RSUB ) = ( MIN( WNORM, N*ANORM ) / ANORM ) / - $ ( N*ULP ) + RESULT( 2+RSUB ) = ( MIN( WNORM, REAL( N )*ANORM ) / + $ ANORM ) / ( REAL( N )*ULP ) ELSE RESULT( 2+RSUB ) = MIN( WNORM / ANORM, REAL( N ) ) / - $ ( N*ULP ) + $ ( REAL( N )*ULP ) END IF END IF * diff --git a/TESTING/EIG/cget51.f b/TESTING/EIG/cget51.f index 5cffc356c..45966b646 100644 --- a/TESTING/EIG/cget51.f +++ b/TESTING/EIG/cget51.f @@ -245,12 +245,14 @@ SUBROUTINE CGET51( ITYPE, N, A, LDA, B, LDB, U, LDU, V, LDV, WORK, WNORM = CLANGE( '1', N, N, WORK, N, RWORK ) * IF( ANORM.GT.WNORM ) THEN - RESULT = ( WNORM / ANORM ) / ( N*ULP ) + RESULT = ( WNORM / ANORM ) / ( REAL( N )*ULP ) ELSE IF( ANORM.LT.ONE ) THEN - RESULT = ( MIN( WNORM, N*ANORM ) / ANORM ) / ( N*ULP ) + RESULT = ( MIN( WNORM, REAL( N )*ANORM ) / ANORM ) / + $ ( REAL( N )*ULP ) ELSE - RESULT = MIN( WNORM / ANORM, REAL( N ) ) / ( N*ULP ) + RESULT = MIN( WNORM / ANORM, REAL( N ) ) / + $ ( REAL( N )*ULP ) END IF END IF * @@ -269,7 +271,7 @@ SUBROUTINE CGET51( ITYPE, N, A, LDA, B, LDB, U, LDU, V, LDV, WORK, 30 CONTINUE * RESULT = MIN( CLANGE( '1', N, N, WORK, N, RWORK ), - $ REAL( N ) ) / ( N*ULP ) + $ REAL( N ) ) / ( REAL( N )*ULP ) END IF * RETURN diff --git a/TESTING/EIG/cget54.f b/TESTING/EIG/cget54.f index 19222a7b2..1132b5162 100644 --- a/TESTING/EIG/cget54.f +++ b/TESTING/EIG/cget54.f @@ -234,12 +234,14 @@ SUBROUTINE CGET54( N, A, LDA, B, LDB, S, LDS, T, LDT, U, LDU, V, WNORM = CLANGE( '1', N, 2*N, WORK, N, DUM ) * IF( ABNORM.GT.WNORM ) THEN - RESULT = ( WNORM / ABNORM ) / ( 2*N*ULP ) + RESULT = ( WNORM / ABNORM ) / ( REAL( 2*N )*ULP ) ELSE IF( ABNORM.LT.ONE ) THEN - RESULT = ( MIN( WNORM, 2*N*ABNORM ) / ABNORM ) / ( 2*N*ULP ) + RESULT = ( MIN( WNORM, REAL( 2*N )*ABNORM ) / ABNORM ) / + $ ( REAL( 2*N )*ULP ) ELSE - RESULT = MIN( WNORM / ABNORM, REAL( 2*N ) ) / ( 2*N*ULP ) + RESULT = MIN( WNORM / ABNORM, REAL( 2*N ) ) / + $ ( REAL( 2*N )*ULP ) END IF END IF * diff --git a/TESTING/EIG/chbt21.f b/TESTING/EIG/chbt21.f index 1e29d5960..64dd18be2 100644 --- a/TESTING/EIG/chbt21.f +++ b/TESTING/EIG/chbt21.f @@ -260,12 +260,14 @@ SUBROUTINE CHBT21( UPLO, N, KA, KS, A, LDA, D, E, U, LDU, WORK, WNORM = CLANHP( '1', CUPLO, N, WORK, RWORK ) * IF( ANORM.GT.WNORM ) THEN - RESULT( 1 ) = ( WNORM / ANORM ) / ( N*ULP ) + RESULT( 1 ) = ( WNORM / ANORM ) / ( REAL( N )*ULP ) ELSE IF( ANORM.LT.ONE ) THEN - RESULT( 1 ) = ( MIN( WNORM, N*ANORM ) / ANORM ) / ( N*ULP ) + RESULT( 1 ) = ( MIN( WNORM, REAL( N )*ANORM ) / ANORM ) / + $ ( REAL( N )*ULP ) ELSE - RESULT( 1 ) = MIN( WNORM / ANORM, REAL( N ) ) / ( N*ULP ) + RESULT( 1 ) = MIN( WNORM / ANORM, REAL( N ) ) / + $ ( REAL( N )*ULP ) END IF END IF * @@ -281,7 +283,7 @@ SUBROUTINE CHBT21( UPLO, N, KA, KS, A, LDA, D, E, U, LDU, WORK, 80 CONTINUE * RESULT( 2 ) = MIN( CLANGE( '1', N, N, WORK, N, RWORK ), - $ REAL( N ) ) / ( N*ULP ) + $ REAL( N ) ) / ( REAL( N )*ULP ) * RETURN * diff --git a/TESTING/EIG/chet21.f b/TESTING/EIG/chet21.f index 0fe30d25a..2016b1cc6 100644 --- a/TESTING/EIG/chet21.f +++ b/TESTING/EIG/chet21.f @@ -396,12 +396,14 @@ SUBROUTINE CHET21( ITYPE, UPLO, N, KBAND, A, LDA, D, E, U, LDU, V, END IF * IF( ANORM.GT.WNORM ) THEN - RESULT( 1 ) = ( WNORM / ANORM ) / ( N*ULP ) + RESULT( 1 ) = ( WNORM / ANORM ) / ( REAL( N )*ULP ) ELSE IF( ANORM.LT.ONE ) THEN - RESULT( 1 ) = ( MIN( WNORM, N*ANORM ) / ANORM ) / ( N*ULP ) + RESULT( 1 ) = ( MIN( WNORM, REAL( N )*ANORM ) / ANORM ) / + $ ( REAL( N )*ULP ) ELSE - RESULT( 1 ) = MIN( WNORM / ANORM, REAL( N ) ) / ( N*ULP ) + RESULT( 1 ) = MIN( WNORM / ANORM, REAL( N ) ) / + $ ( REAL( N )*ULP ) END IF END IF * @@ -417,8 +419,8 @@ SUBROUTINE CHET21( ITYPE, UPLO, N, KBAND, A, LDA, D, E, U, LDU, V, WORK( ( N+1 )*( J-1 )+1 ) = WORK( ( N+1 )*( J-1 )+1 ) - CONE 110 CONTINUE * - RESULT( 2 ) = MIN( CLANGE( '1', N, N, WORK, N, RWORK ), - $ REAL( N ) ) / ( N*ULP ) + RESULT( 2 ) = MIN( CLANGE( '1', N, N, WORK, N, RWORK ), + $ REAL( N ) ) / ( REAL( N )*ULP ) END IF * RETURN diff --git a/TESTING/EIG/chet22.f b/TESTING/EIG/chet22.f index 6ad378ad7..973f42679 100644 --- a/TESTING/EIG/chet22.f +++ b/TESTING/EIG/chet22.f @@ -238,12 +238,14 @@ SUBROUTINE CHET22( ITYPE, UPLO, N, M, KBAND, A, LDA, D, E, U, LDU, WNORM = CLANHE( '1', UPLO, M, WORK( NNP1 ), N, RWORK ) * IF( ANORM.GT.WNORM ) THEN - RESULT( 1 ) = ( WNORM / ANORM ) / ( M*ULP ) + RESULT( 1 ) = ( WNORM / ANORM ) / ( REAL( M )*ULP ) ELSE IF( ANORM.LT.ONE ) THEN - RESULT( 1 ) = ( MIN( WNORM, M*ANORM ) / ANORM ) / ( M*ULP ) + RESULT( 1 ) = ( MIN( WNORM, REAL( M )*ANORM ) / ANORM ) / + $ ( REAL( M )*ULP ) ELSE - RESULT( 1 ) = MIN( WNORM / ANORM, REAL( M ) ) / ( M*ULP ) + RESULT( 1 ) = MIN( WNORM / ANORM, REAL( M ) ) / + $ ( REAL( M )*ULP ) END IF END IF * diff --git a/TESTING/EIG/chpt21.f b/TESTING/EIG/chpt21.f index 7a891abaf..90b963df2 100644 --- a/TESTING/EIG/chpt21.f +++ b/TESTING/EIG/chpt21.f @@ -423,12 +423,14 @@ SUBROUTINE CHPT21( ITYPE, UPLO, N, KBAND, AP, D, E, U, LDU, VP, END IF * IF( ANORM.GT.WNORM ) THEN - RESULT( 1 ) = ( WNORM / ANORM ) / ( N*ULP ) + RESULT( 1 ) = ( WNORM / ANORM ) / ( REAL( N )*ULP ) ELSE IF( ANORM.LT.ONE ) THEN - RESULT( 1 ) = ( MIN( WNORM, N*ANORM ) / ANORM ) / ( N*ULP ) + RESULT( 1 ) = ( MIN( WNORM, REAL( N )*ANORM ) / ANORM ) / + $ ( REAL( N )*ULP ) ELSE - RESULT( 1 ) = MIN( WNORM / ANORM, REAL( N ) ) / ( N*ULP ) + RESULT( 1 ) = MIN( WNORM / ANORM, REAL( N ) ) / + $ ( REAL( N )*ULP ) END IF END IF * @@ -445,7 +447,7 @@ SUBROUTINE CHPT21( ITYPE, UPLO, N, KBAND, AP, D, E, U, LDU, VP, 90 CONTINUE * RESULT( 2 ) = MIN( CLANGE( '1', N, N, WORK, N, RWORK ), - $ REAL( N ) ) / ( N*ULP ) + $ REAL( N ) ) / ( REAL( N )*ULP ) END IF * RETURN diff --git a/TESTING/EIG/chst01.f b/TESTING/EIG/chst01.f index cf5022ca6..a7c316cd6 100644 --- a/TESTING/EIG/chst01.f +++ b/TESTING/EIG/chst01.f @@ -185,7 +185,7 @@ SUBROUTINE CHST01( N, ILO, IHI, A, LDA, H, LDH, Q, LDQ, WORK, UNFL = SLAMCH( 'Safe minimum' ) EPS = SLAMCH( 'Precision' ) OVFL = ONE / UNFL - SMLNUM = UNFL*N / EPS + SMLNUM = UNFL*REAL( N ) / EPS * * Test 1: Compute norm( A - Q*H*Q' ) / ( norm(A) * N * EPS ) * @@ -211,7 +211,8 @@ SUBROUTINE CHST01( N, ILO, IHI, A, LDA, H, LDH, Q, LDQ, WORK, * * Note that RESULT(1) cannot overflow and is bounded by 1/(N*EPS) * - RESULT( 1 ) = MIN( WNORM, ANORM ) / MAX( SMLNUM, ANORM*EPS ) / N + RESULT( 1 ) = MIN( WNORM, ANORM ) / MAX( SMLNUM, ANORM*EPS ) / + $ REAL( N ) * * Test 2: Compute norm( I - Q'*Q ) / ( N * EPS ) * diff --git a/TESTING/EIG/csgt01.f b/TESTING/EIG/csgt01.f index 15ed7887d..de00caaf0 100644 --- a/TESTING/EIG/csgt01.f +++ b/TESTING/EIG/csgt01.f @@ -213,7 +213,7 @@ SUBROUTINE CSGT01( ITYPE, UPLO, N, M, A, LDA, B, LDB, Z, LDZ, D, $ WORK, N ) * RESULT( 1 ) = ( CLANGE( '1', N, M, WORK, N, RWORK ) / ANORM ) / - $ ( N*ULP ) + $ ( REAL( N )*ULP ) * ELSE IF( ITYPE.EQ.2 ) THEN * @@ -228,7 +228,7 @@ SUBROUTINE CSGT01( ITYPE, UPLO, N, M, A, LDA, B, LDB, Z, LDZ, D, $ Z, LDZ ) * RESULT( 1 ) = ( CLANGE( '1', N, M, Z, LDZ, RWORK ) / ANORM ) / - $ ( N*ULP ) + $ ( REAL( N )*ULP ) * ELSE IF( ITYPE.EQ.3 ) THEN * @@ -243,7 +243,7 @@ SUBROUTINE CSGT01( ITYPE, UPLO, N, M, A, LDA, B, LDB, Z, LDZ, D, $ Z, LDZ ) * RESULT( 1 ) = ( CLANGE( '1', N, M, Z, LDZ, RWORK ) / ANORM ) / - $ ( N*ULP ) + $ ( REAL( N )*ULP ) END IF * RETURN diff --git a/TESTING/EIG/cstt21.f b/TESTING/EIG/cstt21.f index 52e14c6fb..5146273a6 100644 --- a/TESTING/EIG/cstt21.f +++ b/TESTING/EIG/cstt21.f @@ -216,12 +216,14 @@ SUBROUTINE CSTT21( N, KBAND, AD, AE, SD, SE, U, LDU, WORK, RWORK, WNORM = CLANHE( '1', 'L', N, WORK, N, RWORK ) * IF( ANORM.GT.WNORM ) THEN - RESULT( 1 ) = ( WNORM / ANORM ) / ( N*ULP ) + RESULT( 1 ) = ( WNORM / ANORM ) / ( REAL( N )*ULP ) ELSE IF( ANORM.LT.ONE ) THEN - RESULT( 1 ) = ( MIN( WNORM, N*ANORM ) / ANORM ) / ( N*ULP ) + RESULT( 1 ) = ( MIN( WNORM, REAL( N )*ANORM ) / ANORM ) / + $ ( REAL( N )*ULP ) ELSE - RESULT( 1 ) = MIN( WNORM / ANORM, REAL( N ) ) / ( N*ULP ) + RESULT( 1 ) = MIN( WNORM / ANORM, REAL( N ) ) / + $ ( REAL( N )*ULP ) END IF END IF * @@ -237,7 +239,7 @@ SUBROUTINE CSTT21( N, KBAND, AD, AE, SD, SE, U, LDU, WORK, RWORK, 40 CONTINUE * RESULT( 2 ) = MIN( REAL( N ), CLANGE( '1', N, N, WORK, N, - $ RWORK ) ) / ( N*ULP ) + $ RWORK ) ) / ( REAL( N )*ULP ) * RETURN * diff --git a/TESTING/EIG/cstt22.f b/TESTING/EIG/cstt22.f index ebc2e789e..e74bf10ef 100644 --- a/TESTING/EIG/cstt22.f +++ b/TESTING/EIG/cstt22.f @@ -233,12 +233,14 @@ SUBROUTINE CSTT22( N, M, KBAND, AD, AE, SD, SE, U, LDU, WORK, WNORM = CLANSY( '1', 'L', M, WORK, M, RWORK ) * IF( ANORM.GT.WNORM ) THEN - RESULT( 1 ) = ( WNORM / ANORM ) / ( M*ULP ) + RESULT( 1 ) = ( WNORM / ANORM ) / ( REAL( M )*ULP ) ELSE IF( ANORM.LT.ONE ) THEN - RESULT( 1 ) = ( MIN( WNORM, M*ANORM ) / ANORM ) / ( M*ULP ) + RESULT( 1 ) = ( MIN( WNORM, REAL( M )*ANORM ) / ANORM ) / + $ ( REAL( M )*ULP ) ELSE - RESULT( 1 ) = MIN( WNORM / ANORM, REAL( M ) ) / ( M*ULP ) + RESULT( 1 ) = MIN( WNORM / ANORM, REAL( M ) ) / + $ ( REAL( M )*ULP ) END IF END IF * @@ -254,7 +256,7 @@ SUBROUTINE CSTT22( N, M, KBAND, AD, AE, SD, SE, U, LDU, WORK, 50 CONTINUE * RESULT( 2 ) = MIN( REAL( M ), CLANGE( '1', M, M, WORK, M, - $ RWORK ) ) / ( M*ULP ) + $ RWORK ) ) / ( REAL( M )*ULP ) * RETURN * diff --git a/TESTING/EIG/schkbb.f b/TESTING/EIG/schkbb.f index 3d214b04b..0029be593 100644 --- a/TESTING/EIG/schkbb.f +++ b/TESTING/EIG/schkbb.f @@ -558,7 +558,7 @@ SUBROUTINE SCHKBB( NSIZES, MVAL, NVAL, NWDTHS, KK, NTYPES, DOTYPE, GO TO 70 * 60 CONTINUE - ANORM = RTUNFL*MAX( M, N )*ULPINV + ANORM = RTUNFL*REAL( MAX( M, N ) )*ULPINV GO TO 70 * 70 CONTINUE diff --git a/TESTING/EIG/schkbd.f b/TESTING/EIG/schkbd.f index 9fd4f3480..33f6d9252 100644 --- a/TESTING/EIG/schkbd.f +++ b/TESTING/EIG/schkbd.f @@ -642,7 +642,7 @@ SUBROUTINE SCHKBD( NSIZES, MVAL, NVAL, NTYPES, DOTYPE, NRHS, M = MVAL( JSIZE ) N = NVAL( JSIZE ) MNMIN = MIN( M, N ) - AMNINV = ONE / MAX( M, N, 1 ) + AMNINV = ONE / REAL( MAX( M, N, 1 ) ) * IF( NSIZES.NE.1 ) THEN MTYPES = MIN( MAXTYP, NTYPES ) @@ -699,7 +699,7 @@ SUBROUTINE SCHKBD( NSIZES, MVAL, NVAL, NTYPES, DOTYPE, NRHS, GO TO 70 * 60 CONTINUE - ANORM = RTUNFL*MAX( M, N )*ULPINV + ANORM = RTUNFL*REAL( MAX( M, N ) )*ULPINV GO TO 70 * 70 CONTINUE @@ -1261,8 +1261,8 @@ SUBROUTINE SCHKBD( NSIZES, MVAL, NVAL, NTYPES, DOTYPE, NRHS, IL = 1 IU = MNMIN ELSE - IL = 1 + INT( ( MNMIN-1 )*SLARND( 1, ISEED2 ) ) - IU = 1 + INT( ( MNMIN-1 )*SLARND( 1, ISEED2 ) ) + IL = 1 + INT( REAL( MNMIN-1 )*SLARND( 1, ISEED2 ) ) + IU = 1 + INT( REAL( MNMIN-1 )*SLARND( 1, ISEED2 ) ) IF( IU.LT.IL ) THEN ITEMP = IU IU = IL diff --git a/TESTING/EIG/schkdmd.f90 b/TESTING/EIG/schkdmd.f90 index ce0166763..13a2139c2 100644 --- a/TESTING/EIG/schkdmd.f90 +++ b/TESTING/EIG/schkdmd.f90 @@ -218,10 +218,10 @@ PROGRAM DMD_TEST ALLOCATE( AU(LDAU,N) ) ALLOCATE( S(N,N) ) - TOL = M*EPS + TOL = REAL( M, KIND=WP )*EPS ! This mimics O(M*N)*EPS bound for accumulated roundoff error. ! The factor 10 is somewhat arbitrary. - TOL2 = 10*M*N*EPS + TOL2 = 10.0_WP*REAL( M, KIND=WP )*REAL( N, KIND=WP )*EPS !............. @@ -398,7 +398,7 @@ PROGRAM DMD_TEST END DO TMP_ZXW = MAX(TMP_ZXW, TMP ) - IF ( TMP_ZXW > 10*M*EPS ) THEN + IF ( TMP_ZXW > 10.0_WP*REAL( M, KIND=WP )*EPS ) THEN NFAIL_Z_XV = NFAIL_Z_XV + 1 END IF @@ -571,7 +571,7 @@ PROGRAM DMD_TEST SINGVX(1) ) END DO SVDIFF = MAX( SVDIFF, TMP ) - IF ( TMP > M*N*EPS ) THEN + IF ( TMP > REAL( M, KIND=WP )*REAL( N, KIND=WP )*EPS ) THEN NFAIL_SVDIFF = NFAIL_SVDIFF + 1 END IF diff --git a/TESTING/EIG/schkgg.f b/TESTING/EIG/schkgg.f index 573695441..6f194c485 100644 --- a/TESTING/EIG/schkgg.f +++ b/TESTING/EIG/schkgg.f @@ -659,7 +659,7 @@ SUBROUTINE SCHKGG( NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, N = NN( JSIZE ) N1 = MAX( 1, N ) RMAGN( 2 ) = SAFMAX*ULP / REAL( N1 ) - RMAGN( 3 ) = SAFMIN*ULPINV*N1 + RMAGN( 3 ) = SAFMIN*ULPINV*REAL( N1 ) * IF( NSIZES.NE.1 ) THEN MTYPES = MIN( MAXTYP, NTYPES ) diff --git a/TESTING/EIG/schkhs.f b/TESTING/EIG/schkhs.f index 1ac07ac97..cdbc3f932 100644 --- a/TESTING/EIG/schkhs.f +++ b/TESTING/EIG/schkhs.f @@ -609,7 +609,7 @@ SUBROUTINE SCHKHS( NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, GO TO 70 * 60 CONTINUE - ANORM = RTUNFL*N*ULPINV + ANORM = RTUNFL*REAL( N )*ULPINV GO TO 70 * 70 CONTINUE diff --git a/TESTING/EIG/schksb.f b/TESTING/EIG/schksb.f index 096d57247..7bcacbe0a 100644 --- a/TESTING/EIG/schksb.f +++ b/TESTING/EIG/schksb.f @@ -481,7 +481,7 @@ SUBROUTINE SCHKSB( NSIZES, NN, NWDTHS, KK, NTYPES, DOTYPE, ISEED, GO TO 70 * 60 CONTINUE - ANORM = RTUNFL*N*ULPINV + ANORM = RTUNFL*REAL( N )*ULPINV GO TO 70 * 70 CONTINUE diff --git a/TESTING/EIG/schksb2stg.f b/TESTING/EIG/schksb2stg.f index d9ec6db29..605bf1a1e 100644 --- a/TESTING/EIG/schksb2stg.f +++ b/TESTING/EIG/schksb2stg.f @@ -521,7 +521,7 @@ SUBROUTINE SCHKSB2STG( NSIZES, NN, NWDTHS, KK, NTYPES, DOTYPE, GO TO 70 * 60 CONTINUE - ANORM = RTUNFL*N*ULPINV + ANORM = RTUNFL*REAL( N )*ULPINV GO TO 70 * 70 CONTINUE diff --git a/TESTING/EIG/schkst.f b/TESTING/EIG/schkst.f index 91b9db668..91c0eefe7 100644 --- a/TESTING/EIG/schkst.f +++ b/TESTING/EIG/schkst.f @@ -798,7 +798,7 @@ SUBROUTINE SCHKST( NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, GO TO 70 * 60 CONTINUE - ANORM = RTUNFL*N*ULPINV + ANORM = RTUNFL*REAL( N )*ULPINV GO TO 70 * 70 CONTINUE @@ -1285,8 +1285,8 @@ SUBROUTINE SCHKST( NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, * * Do test 17 * - TEMP2 = TWO*( TWO*N-ONE )*ULP*( ONE+EIGHT*HALF**2 ) / - $ ( ONE-HALF )**4 + TEMP2 = TWO*( TWO*REAL( N )-ONE )*ULP* + $ ( ONE+EIGHT*HALF**2 ) / ( ONE-HALF )**4 * TEMP1 = ZERO DO 190 J = 1, N @@ -1587,8 +1587,8 @@ SUBROUTINE SCHKST( NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, * * Do test 27 * - TEMP2 = TWO*( TWO*N-ONE )*ULP*( ONE+EIGHT*HALF**2 ) / - $ ( ONE-HALF )**4 + TEMP2 = TWO*( TWO*REAL( N )-ONE )*ULP* + $ ( ONE+EIGHT*HALF**2 ) / ( ONE-HALF )**4 * TEMP1 = ZERO DO 220 J = 1, N @@ -1629,7 +1629,7 @@ SUBROUTINE SCHKST( NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, * * Do test 28 * - TEMP2 = TWO*( TWO*N-ONE )*ULP* + TEMP2 = TWO*( TWO*REAL( N )-ONE )*ULP* $ ( ONE+EIGHT*HALF**2 ) / ( ONE-HALF )**4 * TEMP1 = ZERO diff --git a/TESTING/EIG/schkst2stg.f b/TESTING/EIG/schkst2stg.f index 1e65fa2fa..fa834c6de 100644 --- a/TESTING/EIG/schkst2stg.f +++ b/TESTING/EIG/schkst2stg.f @@ -820,7 +820,7 @@ SUBROUTINE SCHKST2STG( NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, GO TO 70 * 60 CONTINUE - ANORM = RTUNFL*N*ULPINV + ANORM = RTUNFL*REAL( N )*ULPINV GO TO 70 * 70 CONTINUE @@ -1373,7 +1373,8 @@ SUBROUTINE SCHKST2STG( NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, * * Do test 17 * - TEMP2 = TWO*( TWO*N-ONE )*ULP*( ONE+EIGHT*HALF**2 ) / + TEMP2 = TWO*( TWO*REAL( N )-ONE )*ULP* + $ ( ONE+EIGHT*HALF**2 ) / $ ( ONE-HALF )**4 * TEMP1 = ZERO @@ -1675,7 +1676,8 @@ SUBROUTINE SCHKST2STG( NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, * * Do test 27 * - TEMP2 = TWO*( TWO*N-ONE )*ULP*( ONE+EIGHT*HALF**2 ) / + TEMP2 = TWO*( TWO*REAL( N )-ONE )*ULP* + $ ( ONE+EIGHT*HALF**2 ) / $ ( ONE-HALF )**4 * TEMP1 = ZERO @@ -1716,7 +1718,7 @@ SUBROUTINE SCHKST2STG( NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, * * Do test 28 * - TEMP2 = TWO*( TWO*N-ONE )*ULP* + TEMP2 = TWO*( TWO*REAL( N )-ONE )*ULP* $ ( ONE+EIGHT*HALF**2 ) / ( ONE-HALF )**4 * TEMP1 = ZERO diff --git a/TESTING/EIG/sckcsd.f b/TESTING/EIG/sckcsd.f index d8158779b..bc2332752 100644 --- a/TESTING/EIG/sckcsd.f +++ b/TESTING/EIG/sckcsd.f @@ -299,7 +299,7 @@ SUBROUTINE SCKCSD( NM, MVAL, PVAL, QVAL, NMATS, ISEED, THRESH, ELSE CALL SLASET( 'F', M, M, ZERO, ONE, X, LDX ) DO I = 1, M - J = INT( SLARAN( ISEED ) * M ) + 1 + J = INT( SLARAN( ISEED ) * REAL( M ) ) + 1 IF( J .NE. I ) THEN CALL SROT( M, X(1+(I-1)*LDX), 1, X(1+(J-1)*LDX), 1, $ ZERO, ONE ) diff --git a/TESTING/EIG/sdrges.f b/TESTING/EIG/sdrges.f index fda8b5644..796789916 100644 --- a/TESTING/EIG/sdrges.f +++ b/TESTING/EIG/sdrges.f @@ -522,7 +522,7 @@ SUBROUTINE SDRGES( NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, $ ILAENV( 1, 'SORMQR', 'LT', NMAX, NMAX, NMAX, -1 ), $ ILAENV( 1, 'SORGQR', ' ', NMAX, NMAX, NMAX, -1 ) ) MAXWRK = MAX( 10*( NMAX+1 ), 2*NMAX+NMAX*NB, 3*NMAX*NMAX ) - WORK( 1 ) = MAXWRK + WORK( 1 ) = REAL( MAXWRK ) END IF * IF( LWORK.LT.MINWRK ) @@ -929,7 +929,7 @@ SUBROUTINE SDRGES( NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, * CALL ALASVM( 'SGS', NOUNIT, NERRS, NTESTT, 0 ) * - WORK( 1 ) = MAXWRK + WORK( 1 ) = REAL( MAXWRK ) * RETURN * diff --git a/TESTING/EIG/sdrges3.f b/TESTING/EIG/sdrges3.f index b9abc64fd..3e775568f 100644 --- a/TESTING/EIG/sdrges3.f +++ b/TESTING/EIG/sdrges3.f @@ -522,7 +522,7 @@ SUBROUTINE SDRGES3( NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, $ ILAENV( 1, 'SORMQR', 'LT', NMAX, NMAX, NMAX, -1 ), $ ILAENV( 1, 'SORGQR', ' ', NMAX, NMAX, NMAX, -1 ) ) MAXWRK = MAX( 10*( NMAX+1 ), 2*NMAX+NMAX*NB, 3*NMAX*NMAX ) - WORK( 1 ) = MAXWRK + WORK( 1 ) = REAL( MAXWRK ) END IF * IF( LWORK.LT.MINWRK ) @@ -937,7 +937,7 @@ SUBROUTINE SDRGES3( NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, * CALL ALASVM( 'SGS', NOUNIT, NERRS, NTESTT, 0 ) * - WORK( 1 ) = MAXWRK + WORK( 1 ) = REAL( MAXWRK ) * RETURN * diff --git a/TESTING/EIG/sdrgev.f b/TESTING/EIG/sdrgev.f index 24dd20f04..04418bd5b 100644 --- a/TESTING/EIG/sdrgev.f +++ b/TESTING/EIG/sdrgev.f @@ -527,7 +527,7 @@ SUBROUTINE SDRGEV( NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, MAXWRK = 7*NMAX + NMAX*ILAENV( 1, 'SGEQRF', ' ', NMAX, 1, NMAX, $ 0 ) MAXWRK = MAX( MAXWRK, NMAX*( NMAX+1 ) ) - WORK( 1 ) = MAXWRK + WORK( 1 ) = REAL( MAXWRK ) END IF * IF( LWORK.LT.MINWRK ) @@ -564,7 +564,7 @@ SUBROUTINE SDRGEV( NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, N = NN( JSIZE ) N1 = MAX( 1, N ) RMAGN( 2 ) = SAFMAX*ULP / REAL( N1 ) - RMAGN( 3 ) = SAFMIN*ULPINV*N1 + RMAGN( 3 ) = SAFMIN*ULPINV*REAL( N1 ) * IF( NSIZES.NE.1 ) THEN MTYPES = MIN( MAXTYP, NTYPES ) @@ -885,7 +885,7 @@ SUBROUTINE SDRGEV( NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, * CALL ALASVM( 'SGV', NOUNIT, NERRS, NTESTT, 0 ) * - WORK( 1 ) = MAXWRK + WORK( 1 ) = REAL( MAXWRK ) * RETURN * diff --git a/TESTING/EIG/sdrgev3.f b/TESTING/EIG/sdrgev3.f index 772e47a55..ff3a7665e 100644 --- a/TESTING/EIG/sdrgev3.f +++ b/TESTING/EIG/sdrgev3.f @@ -527,7 +527,7 @@ SUBROUTINE SDRGEV3( NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, MAXWRK = 7*NMAX + NMAX*ILAENV( 1, 'SGEQRF', ' ', NMAX, 1, NMAX, $ 0 ) MAXWRK = MAX( MAXWRK, NMAX*( NMAX+1 ) ) - WORK( 1 ) = MAXWRK + WORK( 1 ) = REAL( MAXWRK ) END IF * IF( LWORK.LT.MINWRK ) @@ -564,7 +564,7 @@ SUBROUTINE SDRGEV3( NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, N = NN( JSIZE ) N1 = MAX( 1, N ) RMAGN( 2 ) = SAFMAX*ULP / REAL( N1 ) - RMAGN( 3 ) = SAFMIN*ULPINV*N1 + RMAGN( 3 ) = SAFMIN*ULPINV*REAL( N1 ) * IF( NSIZES.NE.1 ) THEN MTYPES = MIN( MAXTYP, NTYPES ) @@ -894,7 +894,7 @@ SUBROUTINE SDRGEV3( NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, * CALL ALASVM( 'SGV', NOUNIT, NERRS, NTESTT, 0 ) * - WORK( 1 ) = MAXWRK + WORK( 1 ) = REAL( MAXWRK ) * RETURN * diff --git a/TESTING/EIG/sdrgsx.f b/TESTING/EIG/sdrgsx.f index daf118a05..b45f4b1bf 100644 --- a/TESTING/EIG/sdrgsx.f +++ b/TESTING/EIG/sdrgsx.f @@ -463,7 +463,7 @@ SUBROUTINE SDRGSX( NSIZE, NCMAX, THRESH, NIN, NOUT, A, LDA, B, * MAXWRK = MAX( MAXWRK, MINWRK ) * - WORK( 1 ) = MAXWRK + WORK( 1 ) = REAL( MAXWRK ) END IF * IF( LWORK.LT.MINWRK ) @@ -958,7 +958,7 @@ SUBROUTINE SDRGSX( NSIZE, NCMAX, THRESH, NIN, NOUT, A, LDA, B, * CALL ALASVM( 'SGX', NOUT, NERRS, NTESTT, 0 ) * - WORK( 1 ) = MAXWRK + WORK( 1 ) = REAL( MAXWRK ) * RETURN * diff --git a/TESTING/EIG/sdrgvx.f b/TESTING/EIG/sdrgvx.f index 59a0c67cc..efe7dce88 100644 --- a/TESTING/EIG/sdrgvx.f +++ b/TESTING/EIG/sdrgvx.f @@ -382,7 +382,7 @@ SUBROUTINE SDRGVX( NSIZE, THRESH, NIN, NOUT, A, LDA, B, AI, BI, MAXWRK = 6*NMAX + NMAX*ILAENV( 1, 'SGEQRF', ' ', NMAX, 1, NMAX, $ 0 ) MAXWRK = MAX( MAXWRK, 2*NMAX*NMAX+12*NMAX+16 ) - WORK( 1 ) = MAXWRK + WORK( 1 ) = REAL( MAXWRK ) END IF * IF( LWORK.LT.MINWRK ) @@ -704,7 +704,7 @@ SUBROUTINE SDRGVX( NSIZE, THRESH, NIN, NOUT, A, LDA, B, AI, BI, * CALL ALASVM( 'SXV', NOUT, NERRS, NTESTT, 0 ) * - WORK( 1 ) = MAXWRK + WORK( 1 ) = REAL( MAXWRK ) * RETURN * diff --git a/TESTING/EIG/sdrvbd.f b/TESTING/EIG/sdrvbd.f index 77abb532f..2613324d3 100644 --- a/TESTING/EIG/sdrvbd.f +++ b/TESTING/EIG/sdrvbd.f @@ -673,7 +673,7 @@ SUBROUTINE SDRVBD( NSIZES, MM, NN, NTYPES, DOTYPE, ISEED, THRESH, * Compare S * DIF = ZERO - DIV = MAX( MNMIN*ULP*S( 1 ), UNFL ) + DIV = MAX( REAL( MNMIN )*ULP*S( 1 ), UNFL ) DO 60 I = 1, MNMIN - 1 IF( SSAV( I ).LT.SSAV( I+1 ) ) $ DIF = ULPINV @@ -785,7 +785,7 @@ SUBROUTINE SDRVBD( NSIZES, MM, NN, NTYPES, DOTYPE, ISEED, THRESH, * Compare S * DIF = ZERO - DIV = MAX( MNMIN*ULP*S( 1 ), UNFL ) + DIV = MAX( REAL( MNMIN )*ULP*S( 1 ), UNFL ) DO 100 I = 1, MNMIN - 1 IF( SSAV( I ).LT.SSAV( I+1 ) ) $ DIF = ULPINV @@ -1054,7 +1054,7 @@ SUBROUTINE SDRVBD( NSIZES, MM, NN, NTYPES, DOTYPE, ISEED, THRESH, * Compare S * DIF = ZERO - DIV = MAX( MNMIN*ULP*S( 1 ), UNFL ) + DIV = MAX( REAL( MNMIN )*ULP*S( 1 ), UNFL ) DO 190 I = 1, MNMIN - 1 IF( SSAV( I ).LT.SSAV( I+1 ) ) $ DIF = ULPINV @@ -1075,8 +1075,8 @@ SUBROUTINE SDRVBD( NSIZES, MM, NN, NTYPES, DOTYPE, ISEED, THRESH, IL = 1 IU = MAX( 1, MNMIN ) ELSE - IL = 1 + INT( ( MNMIN-1 )*SLARND( 1, ISEED2 ) ) - IU = 1 + INT( ( MNMIN-1 )*SLARND( 1, ISEED2 ) ) + IL = 1 + INT( REAL( MNMIN-1 )*SLARND( 1, ISEED2 ) ) + IU = 1 + INT( REAL( MNMIN-1 )*SLARND( 1, ISEED2 ) ) IF( IU.LT.IL ) THEN ITEMP = IU IU = IL diff --git a/TESTING/EIG/sdrvsg.f b/TESTING/EIG/sdrvsg.f index de7ce12f7..69bef8ba2 100644 --- a/TESTING/EIG/sdrvsg.f +++ b/TESTING/EIG/sdrvsg.f @@ -531,7 +531,7 @@ SUBROUTINE SDRVSG( NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, GO TO 70 * 60 CONTINUE - ANORM = RTUNFL*N*ULPINV + ANORM = RTUNFL*REAL( N )*ULPINV GO TO 70 * 70 CONTINUE @@ -645,8 +645,8 @@ SUBROUTINE SDRVSG( NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, IL = 1 IU = N ELSE - IL = 1 + INT( ( N-1 )*SLARND( 1, ISEED2 ) ) - IU = 1 + INT( ( N-1 )*SLARND( 1, ISEED2 ) ) + IL = 1 + INT( REAL( N-1 )*SLARND( 1, ISEED2 ) ) + IU = 1 + INT( REAL( N-1 )*SLARND( 1, ISEED2 ) ) IF( IL.GT.IU ) THEN ITEMP = IL IL = IU diff --git a/TESTING/EIG/sdrvsg2stg.f b/TESTING/EIG/sdrvsg2stg.f index 5a5e9d8da..30a69ad4a 100644 --- a/TESTING/EIG/sdrvsg2stg.f +++ b/TESTING/EIG/sdrvsg2stg.f @@ -540,7 +540,7 @@ SUBROUTINE SDRVSG2STG( NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, GO TO 70 * 60 CONTINUE - ANORM = RTUNFL*N*ULPINV + ANORM = RTUNFL*REAL( N )*ULPINV GO TO 70 * 70 CONTINUE @@ -654,8 +654,8 @@ SUBROUTINE SDRVSG2STG( NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, IL = 1 IU = N ELSE - IL = 1 + INT( ( N-1 )*SLARND( 1, ISEED2 ) ) - IU = 1 + INT( ( N-1 )*SLARND( 1, ISEED2 ) ) + IL = 1 + INT( REAL( N-1 )*SLARND( 1, ISEED2 ) ) + IU = 1 + INT( REAL( N-1 )*SLARND( 1, ISEED2 ) ) IF( IL.GT.IU ) THEN ITEMP = IL IL = IU diff --git a/TESTING/EIG/sdrvst.f b/TESTING/EIG/sdrvst.f index 34bd053c3..46e5c210f 100644 --- a/TESTING/EIG/sdrvst.f +++ b/TESTING/EIG/sdrvst.f @@ -660,7 +660,7 @@ SUBROUTINE SDRVST( NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, GO TO 70 * 60 CONTINUE - ANORM = RTUNFL*N*ULPINV + ANORM = RTUNFL*REAL( N )*ULPINV GO TO 70 * 70 CONTINUE @@ -724,7 +724,7 @@ SUBROUTINE SDRVST( NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, * * Symmetric banded, eigenvalues specified * - IHBW = INT( ( N-1 )*SLARND( 1, ISEED3 ) ) + IHBW = INT( REAL( N-1 )*SLARND( 1, ISEED3 ) ) CALL SLATMS( N, N, 'S', ISEED, 'S', WORK, IMODE, COND, $ ANORM, IHBW, IHBW, 'Z', U, LDU, WORK( N+1 ), $ IINFO ) @@ -759,8 +759,8 @@ SUBROUTINE SDRVST( NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, IL = 1 IU = N ELSE - IL = 1 + INT( ( N-1 )*SLARND( 1, ISEED2 ) ) - IU = 1 + INT( ( N-1 )*SLARND( 1, ISEED2 ) ) + IL = 1 + INT( REAL( N-1 )*SLARND( 1, ISEED2 ) ) + IU = 1 + INT( REAL( N-1 )*SLARND( 1, ISEED2 ) ) IF( IL.GT.IU ) THEN ITEMP = IL IL = IU diff --git a/TESTING/EIG/sdrvst2stg.f b/TESTING/EIG/sdrvst2stg.f index f20d9fdf3..349ea1cd4 100644 --- a/TESTING/EIG/sdrvst2stg.f +++ b/TESTING/EIG/sdrvst2stg.f @@ -663,7 +663,7 @@ SUBROUTINE SDRVST2STG( NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, GO TO 70 * 60 CONTINUE - ANORM = RTUNFL*N*ULPINV + ANORM = RTUNFL*REAL( N )*ULPINV GO TO 70 * 70 CONTINUE @@ -727,7 +727,7 @@ SUBROUTINE SDRVST2STG( NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, * * Symmetric banded, eigenvalues specified * - IHBW = INT( ( N-1 )*SLARND( 1, ISEED3 ) ) + IHBW = INT( REAL( N-1 )*SLARND( 1, ISEED3 ) ) CALL SLATMS( N, N, 'S', ISEED, 'S', WORK, IMODE, COND, $ ANORM, IHBW, IHBW, 'Z', U, LDU, WORK( N+1 ), $ IINFO ) @@ -762,8 +762,8 @@ SUBROUTINE SDRVST2STG( NSIZES, NN, NTYPES, DOTYPE, ISEED, THRESH, IL = 1 IU = N ELSE - IL = 1 + INT( ( N-1 )*SLARND( 1, ISEED2 ) ) - IU = 1 + INT( ( N-1 )*SLARND( 1, ISEED2 ) ) + IL = 1 + INT( REAL( N-1 )*SLARND( 1, ISEED2 ) ) + IU = 1 + INT( REAL( N-1 )*SLARND( 1, ISEED2 ) ) IF( IL.GT.IU ) THEN ITEMP = IL IL = IU diff --git a/TESTING/EIG/sget10.f b/TESTING/EIG/sget10.f index e8b8d9ea6..142fb009a 100644 --- a/TESTING/EIG/sget10.f +++ b/TESTING/EIG/sget10.f @@ -146,12 +146,14 @@ SUBROUTINE SGET10( M, N, A, LDA, B, LDB, WORK, RESULT ) ANORM = MAX( SLANGE( '1', M, N, A, LDA, WORK ), UNFL ) * IF( ANORM.GT.WNORM ) THEN - RESULT = ( WNORM / ANORM ) / ( M*EPS ) + RESULT = ( WNORM / ANORM ) / ( REAL( M )*EPS ) ELSE IF( ANORM.LT.ONE ) THEN - RESULT = ( MIN( WNORM, M*ANORM ) / ANORM ) / ( M*EPS ) + RESULT = ( MIN( WNORM, REAL( M )*ANORM ) / ANORM ) / + $ ( REAL( M )*EPS ) ELSE - RESULT = MIN( WNORM / ANORM, REAL( M ) ) / ( M*EPS ) + RESULT = MIN( WNORM / ANORM, REAL( M ) ) / + $ ( REAL( M )*EPS ) END IF END IF * diff --git a/TESTING/EIG/sget24.f b/TESTING/EIG/sget24.f index 2ca65a82a..0eaa5b6e9 100644 --- a/TESTING/EIG/sget24.f +++ b/TESTING/EIG/sget24.f @@ -516,14 +516,15 @@ SUBROUTINE SGET24( COMP, JTYPE, THRESH, ISEED, NOUNIT, N, A, LDA, WNORM = SLANGE( '1', N, N, VS1, LDVS, WORK ) * IF( ANORM.GT.WNORM ) THEN - RESULT( 2+RSUB ) = ( WNORM / ANORM ) / ( N*ULP ) + RESULT( 2+RSUB ) = ( WNORM / ANORM ) / + $ ( REAL( N )*ULP ) ELSE IF( ANORM.LT.ONE ) THEN - RESULT( 2+RSUB ) = ( MIN( WNORM, N*ANORM ) / ANORM ) / - $ ( N*ULP ) + RESULT( 2+RSUB ) = ( MIN( WNORM, REAL( N )*ANORM ) / + $ ANORM ) / ( REAL( N )*ULP ) ELSE RESULT( 2+RSUB ) = MIN( WNORM / ANORM, REAL( N ) ) / - $ ( N*ULP ) + $ ( REAL( N )*ULP ) END IF END IF * diff --git a/TESTING/EIG/sget32.f b/TESTING/EIG/sget32.f index aae64fc42..21e793972 100644 --- a/TESTING/EIG/sget32.f +++ b/TESTING/EIG/sget32.f @@ -149,7 +149,7 @@ SUBROUTINE SGET32( RMAX, LMAX, NINFO, KNT ) DO 230 ITRANL = 0, 1 DO 220 ITRANR = 0, 1 DO 210 ISGN = -1, 1, 2 - SGN = ISGN + SGN = REAL( ISGN ) LTRANL = ITRANL.EQ.1 LTRANR = ITRANR.EQ.1 * @@ -200,13 +200,13 @@ SUBROUTINE SGET32( RMAX, LMAX, NINFO, KNT ) DO 40 IB2 = 1, 3 B( 1, 1 ) = VAL( IB1 ) B( 2, 1 ) = -FOUR*VAL( IB2 ) - TL( 1, 1 ) = ITVAL( 1, 1, ITL )* + TL( 1, 1 ) = REAL( ITVAL( 1, 1, ITL ) )* $ VAL( ITLSCL ) - TL( 2, 1 ) = ITVAL( 2, 1, ITL )* + TL( 2, 1 ) = REAL( ITVAL( 2, 1, ITL ) )* $ VAL( ITLSCL ) - TL( 1, 2 ) = ITVAL( 1, 2, ITL )* + TL( 1, 2 ) = REAL( ITVAL( 1, 2, ITL ) )* $ VAL( ITLSCL ) - TL( 2, 2 ) = ITVAL( 2, 2, ITL )* + TL( 2, 2 ) = REAL( ITVAL( 2, 2, ITL ) )* $ VAL( ITLSCL ) TR( 1, 1 ) = VAL( ITR ) KNT = KNT + 1 @@ -259,13 +259,13 @@ SUBROUTINE SGET32( RMAX, LMAX, NINFO, KNT ) DO 90 IB2 = 1, 3 B( 1, 1 ) = VAL( IB1 ) B( 1, 2 ) = -TWO*VAL( IB2 ) - TR( 1, 1 ) = ITVAL( 1, 1, ITR )* + TR( 1, 1 ) = REAL( ITVAL( 1, 1, ITR ) )* $ VAL( ITRSCL ) - TR( 2, 1 ) = ITVAL( 2, 1, ITR )* + TR( 2, 1 ) = REAL( ITVAL( 2, 1, ITR ) )* $ VAL( ITRSCL ) - TR( 1, 2 ) = ITVAL( 1, 2, ITR )* + TR( 1, 2 ) = REAL( ITVAL( 1, 2, ITR ) )* $ VAL( ITRSCL ) - TR( 2, 2 ) = ITVAL( 2, 2, ITR )* + TR( 2, 2 ) = REAL( ITVAL( 2, 2, ITR ) )* $ VAL( ITRSCL ) TL( 1, 1 ) = VAL( ITL ) KNT = KNT + 1 @@ -325,22 +325,30 @@ SUBROUTINE SGET32( RMAX, LMAX, NINFO, KNT ) B( 2, 2 ) = EIGHT* $ MIN( VAL( IB1 ), VAL $ ( IB2 ), VAL( IB3 ) ) - TR( 1, 1 ) = ITVAL( 1, 1, ITR )* - $ VAL( ITRSCL ) - TR( 2, 1 ) = ITVAL( 2, 1, ITR )* - $ VAL( ITRSCL ) - TR( 1, 2 ) = ITVAL( 1, 2, ITR )* - $ VAL( ITRSCL ) - TR( 2, 2 ) = ITVAL( 2, 2, ITR )* - $ VAL( ITRSCL ) - TL( 1, 1 ) = ITVAL( 1, 1, ITL )* - $ VAL( ITLSCL ) - TL( 2, 1 ) = ITVAL( 2, 1, ITL )* - $ VAL( ITLSCL ) - TL( 1, 2 ) = ITVAL( 1, 2, ITL )* - $ VAL( ITLSCL ) - TL( 2, 2 ) = ITVAL( 2, 2, ITL )* - $ VAL( ITLSCL ) + TR( 1, 1 ) = + $ REAL( ITVAL( 1, 1, ITR ) )* + $ VAL( ITRSCL ) + TR( 2, 1 ) = + $ REAL( ITVAL( 2, 1, ITR ) )* + $ VAL( ITRSCL ) + TR( 1, 2 ) = + $ REAL( ITVAL( 1, 2, ITR ) )* + $ VAL( ITRSCL ) + TR( 2, 2 ) = + $ REAL( ITVAL( 2, 2, ITR ) )* + $ VAL( ITRSCL ) + TL( 1, 1 ) = + $ REAL( ITVAL( 1, 1, ITL ) )* + $ VAL( ITLSCL ) + TL( 2, 1 ) = + $ REAL( ITVAL( 2, 1, ITL ) )* + $ VAL( ITLSCL ) + TL( 1, 2 ) = + $ REAL( ITVAL( 1, 2, ITL ) )* + $ VAL( ITLSCL ) + TL( 2, 2 ) = + $ REAL( ITVAL( 2, 2, ITL ) )* + $ VAL( ITLSCL ) KNT = KNT + 1 CALL SLASY2( LTRANL, LTRANR, ISGN, $ N1, N2, TL, 2, TR, 2, diff --git a/TESTING/EIG/sget35.f b/TESTING/EIG/sget35.f index 1b9fb7741..d10de1e95 100644 --- a/TESTING/EIG/sget35.f +++ b/TESTING/EIG/sget35.f @@ -173,7 +173,8 @@ SUBROUTINE SGET35( RMAX, LMAX, NINFO, KNT ) TNRM = ZERO DO 20 I = 1, M DO 10 J = 1, M - A( I, J ) = IVAL( I, J, IMA ) + A( I, J ) = + $ REAL( IVAL( I, J, IMA ) ) IF( ABS( I-J ).LE.1 ) THEN A( I, J ) = A( I, J )* $ VM1( IMLDA1 ) @@ -189,7 +190,8 @@ SUBROUTINE SGET35( RMAX, LMAX, NINFO, KNT ) 20 CONTINUE DO 40 I = 1, N DO 30 J = 1, N - B( I, J ) = IVAL( I, J, IMB ) + B( I, J ) = + $ REAL( IVAL( I, J, IMB ) ) IF( ABS( I-J ).LE.1 ) THEN B( I, J ) = B( I, J )* $ VM1( IMLDB1 ) diff --git a/TESTING/EIG/sget51.f b/TESTING/EIG/sget51.f index c60129827..209a87a7a 100644 --- a/TESTING/EIG/sget51.f +++ b/TESTING/EIG/sget51.f @@ -235,12 +235,14 @@ SUBROUTINE SGET51( ITYPE, N, A, LDA, B, LDB, U, LDU, V, LDV, WORK, WNORM = SLANGE( '1', N, N, WORK, N, WORK( N**2+1 ) ) * IF( ANORM.GT.WNORM ) THEN - RESULT = ( WNORM / ANORM ) / ( N*ULP ) + RESULT = ( WNORM / ANORM ) / ( REAL( N )*ULP ) ELSE IF( ANORM.LT.ONE ) THEN - RESULT = ( MIN( WNORM, N*ANORM ) / ANORM ) / ( N*ULP ) + RESULT = ( MIN( WNORM, REAL( N )*ANORM ) / ANORM ) / + $ ( REAL( N )*ULP ) ELSE - RESULT = MIN( WNORM / ANORM, REAL( N ) ) / ( N*ULP ) + RESULT = MIN( WNORM / ANORM, REAL( N ) ) / + $ ( REAL( N )*ULP ) END IF END IF * @@ -258,8 +260,8 @@ SUBROUTINE SGET51( ITYPE, N, A, LDA, B, LDB, U, LDU, V, LDV, WORK, $ 1 ) - ONE 30 CONTINUE * - RESULT = MIN( SLANGE( '1', N, N, WORK, N, WORK( N**2+1 ) ), - $ REAL( N ) ) / ( N*ULP ) + RESULT = MIN( SLANGE( '1', N, N, WORK, N, WORK( N**2+1 ) ), + $ REAL( N ) ) / ( REAL( N )*ULP ) END IF * RETURN diff --git a/TESTING/EIG/sget54.f b/TESTING/EIG/sget54.f index 540a909bd..4281f43d9 100644 --- a/TESTING/EIG/sget54.f +++ b/TESTING/EIG/sget54.f @@ -231,12 +231,14 @@ SUBROUTINE SGET54( N, A, LDA, B, LDB, S, LDS, T, LDT, U, LDU, V, WNORM = SLANGE( '1', N, 2*N, WORK, N, DUM ) * IF( ABNORM.GT.WNORM ) THEN - RESULT = ( WNORM / ABNORM ) / ( 2*N*ULP ) + RESULT = ( WNORM / ABNORM ) / ( REAL( 2*N )*ULP ) ELSE IF( ABNORM.LT.ONE ) THEN - RESULT = ( MIN( WNORM, 2*N*ABNORM ) / ABNORM ) / ( 2*N*ULP ) + RESULT = ( MIN( WNORM, REAL( 2*N )*ABNORM ) / + $ ABNORM ) / ( REAL( 2*N )*ULP ) ELSE - RESULT = MIN( WNORM / ABNORM, REAL( 2*N ) ) / ( 2*N*ULP ) + RESULT = MIN( WNORM / ABNORM, REAL( 2*N ) ) / + $ ( REAL( 2*N )*ULP ) END IF END IF * diff --git a/TESTING/EIG/shst01.f b/TESTING/EIG/shst01.f index f0884772e..391fc6d85 100644 --- a/TESTING/EIG/shst01.f +++ b/TESTING/EIG/shst01.f @@ -178,7 +178,7 @@ SUBROUTINE SHST01( N, ILO, IHI, A, LDA, H, LDH, Q, LDQ, WORK, UNFL = SLAMCH( 'Safe minimum' ) EPS = SLAMCH( 'Precision' ) OVFL = ONE / UNFL - SMLNUM = UNFL*N / EPS + SMLNUM = UNFL*REAL( N ) / EPS * * Test 1: Compute norm( A - Q*H*Q' ) / ( norm(A) * N * EPS ) * @@ -204,7 +204,8 @@ SUBROUTINE SHST01( N, ILO, IHI, A, LDA, H, LDH, Q, LDQ, WORK, * * Note that RESULT(1) cannot overflow and is bounded by 1/(N*EPS) * - RESULT( 1 ) = MIN( WNORM, ANORM ) / MAX( SMLNUM, ANORM*EPS ) / N + RESULT( 1 ) = MIN( WNORM, ANORM ) / MAX( SMLNUM, ANORM*EPS ) / + $ REAL( N ) * * Test 2: Compute norm( I - Q'*Q ) / ( N * EPS ) * diff --git a/TESTING/EIG/ssbt21.f b/TESTING/EIG/ssbt21.f index 63256ad8b..7aa0a96ee 100644 --- a/TESTING/EIG/ssbt21.f +++ b/TESTING/EIG/ssbt21.f @@ -253,12 +253,14 @@ SUBROUTINE SSBT21( UPLO, N, KA, KS, A, LDA, D, E, U, LDU, WORK, WNORM = SLANSP( '1', CUPLO, N, WORK, WORK( LW+1 ) ) * IF( ANORM.GT.WNORM ) THEN - RESULT( 1 ) = ( WNORM / ANORM ) / ( N*ULP ) + RESULT( 1 ) = ( WNORM / ANORM ) / ( REAL( N )*ULP ) ELSE IF( ANORM.LT.ONE ) THEN - RESULT( 1 ) = ( MIN( WNORM, N*ANORM ) / ANORM ) / ( N*ULP ) + RESULT( 1 ) = ( MIN( WNORM, REAL( N )*ANORM ) / + $ ANORM ) / ( REAL( N )*ULP ) ELSE - RESULT( 1 ) = MIN( WNORM / ANORM, REAL( N ) ) / ( N*ULP ) + RESULT( 1 ) = MIN( WNORM / ANORM, REAL( N ) ) / + $ ( REAL( N )*ULP ) END IF END IF * @@ -274,7 +276,7 @@ SUBROUTINE SSBT21( UPLO, N, KA, KS, A, LDA, D, E, U, LDU, WORK, 80 CONTINUE * RESULT( 2 ) = MIN( SLANGE( '1', N, N, WORK, N, WORK( N**2+1 ) ), - $ REAL( N ) ) / ( N*ULP ) + $ REAL( N ) ) / ( REAL( N )*ULP ) * RETURN * diff --git a/TESTING/EIG/ssgt01.f b/TESTING/EIG/ssgt01.f index adebef44d..96b2aa4be 100644 --- a/TESTING/EIG/ssgt01.f +++ b/TESTING/EIG/ssgt01.f @@ -202,8 +202,8 @@ SUBROUTINE SSGT01( ITYPE, UPLO, N, M, A, LDA, B, LDB, Z, LDZ, D, CALL SSYMM( 'Left', UPLO, N, M, ONE, B, LDB, Z, LDZ, -ONE, $ WORK, N ) * - RESULT( 1 ) = ( SLANGE( '1', N, M, WORK, N, WORK ) / ANORM ) / - $ ( N*ULP ) + RESULT( 1 ) = ( SLANGE( '1', N, M, WORK, N, WORK ) / + $ ANORM ) / ( REAL( N )*ULP ) * ELSE IF( ITYPE.EQ.2 ) THEN * @@ -217,8 +217,8 @@ SUBROUTINE SSGT01( ITYPE, UPLO, N, M, A, LDA, B, LDB, Z, LDZ, D, CALL SSYMM( 'Left', UPLO, N, M, ONE, A, LDA, WORK, N, -ONE, Z, $ LDZ ) * - RESULT( 1 ) = ( SLANGE( '1', N, M, Z, LDZ, WORK ) / ANORM ) / - $ ( N*ULP ) + RESULT( 1 ) = ( SLANGE( '1', N, M, Z, LDZ, WORK ) / + $ ANORM ) / ( REAL( N )*ULP ) * ELSE IF( ITYPE.EQ.3 ) THEN * @@ -232,8 +232,8 @@ SUBROUTINE SSGT01( ITYPE, UPLO, N, M, A, LDA, B, LDB, Z, LDZ, D, CALL SSYMM( 'Left', UPLO, N, M, ONE, B, LDB, WORK, N, -ONE, Z, $ LDZ ) * - RESULT( 1 ) = ( SLANGE( '1', N, M, Z, LDZ, WORK ) / ANORM ) / - $ ( N*ULP ) + RESULT( 1 ) = ( SLANGE( '1', N, M, Z, LDZ, WORK ) / + $ ANORM ) / ( REAL( N )*ULP ) END IF * RETURN diff --git a/TESTING/EIG/sspt21.f b/TESTING/EIG/sspt21.f index 7330e36e0..ae84c6f0c 100644 --- a/TESTING/EIG/sspt21.f +++ b/TESTING/EIG/sspt21.f @@ -409,12 +409,14 @@ SUBROUTINE SSPT21( ITYPE, UPLO, N, KBAND, AP, D, E, U, LDU, VP, END IF * IF( ANORM.GT.WNORM ) THEN - RESULT( 1 ) = ( WNORM / ANORM ) / ( N*ULP ) + RESULT( 1 ) = ( WNORM / ANORM ) / ( REAL( N )*ULP ) ELSE IF( ANORM.LT.ONE ) THEN - RESULT( 1 ) = ( MIN( WNORM, N*ANORM ) / ANORM ) / ( N*ULP ) + RESULT( 1 ) = ( MIN( WNORM, REAL( N )*ANORM ) / + $ ANORM ) / ( REAL( N )*ULP ) ELSE - RESULT( 1 ) = MIN( WNORM / ANORM, REAL( N ) ) / ( N*ULP ) + RESULT( 1 ) = MIN( WNORM / ANORM, REAL( N ) ) / + $ ( REAL( N )*ULP ) END IF END IF * @@ -431,7 +433,8 @@ SUBROUTINE SSPT21( ITYPE, UPLO, N, KBAND, AP, D, E, U, LDU, VP, 90 CONTINUE * RESULT( 2 ) = MIN( SLANGE( '1', N, N, WORK, N, - $ WORK( N**2+1 ) ), REAL( N ) ) / ( N*ULP ) + $ WORK( N**2+1 ) ), REAL( N ) ) / + $ ( REAL( N )*ULP ) END IF * RETURN diff --git a/TESTING/EIG/sstt21.f b/TESTING/EIG/sstt21.f index 6aca3061c..b8c392911 100644 --- a/TESTING/EIG/sstt21.f +++ b/TESTING/EIG/sstt21.f @@ -206,12 +206,14 @@ SUBROUTINE SSTT21( N, KBAND, AD, AE, SD, SE, U, LDU, WORK, WNORM = SLANSY( '1', 'L', N, WORK, N, WORK( N**2+1 ) ) * IF( ANORM.GT.WNORM ) THEN - RESULT( 1 ) = ( WNORM / ANORM ) / ( N*ULP ) + RESULT( 1 ) = ( WNORM / ANORM ) / ( REAL( N )*ULP ) ELSE IF( ANORM.LT.ONE ) THEN - RESULT( 1 ) = ( MIN( WNORM, N*ANORM ) / ANORM ) / ( N*ULP ) + RESULT( 1 ) = ( MIN( WNORM, REAL( N )*ANORM ) / ANORM ) / + $ ( REAL( N )*ULP ) ELSE - RESULT( 1 ) = MIN( WNORM / ANORM, REAL( N ) ) / ( N*ULP ) + RESULT( 1 ) = MIN( WNORM / ANORM, REAL( N ) ) / + $ ( REAL( N )*ULP ) END IF END IF * @@ -227,7 +229,7 @@ SUBROUTINE SSTT21( N, KBAND, AD, AE, SD, SE, U, LDU, WORK, 40 CONTINUE * RESULT( 2 ) = MIN( REAL( N ), SLANGE( '1', N, N, WORK, N, - $ WORK( N**2+1 ) ) ) / ( N*ULP ) + $ WORK( N**2+1 ) ) ) / ( REAL( N )*ULP ) * RETURN * diff --git a/TESTING/EIG/sstt22.f b/TESTING/EIG/sstt22.f index f6b21da8b..7f9f377e2 100644 --- a/TESTING/EIG/sstt22.f +++ b/TESTING/EIG/sstt22.f @@ -222,12 +222,14 @@ SUBROUTINE SSTT22( N, M, KBAND, AD, AE, SD, SE, U, LDU, WORK, WNORM = SLANSY( '1', 'L', M, WORK, M, WORK( 1, M+1 ) ) * IF( ANORM.GT.WNORM ) THEN - RESULT( 1 ) = ( WNORM / ANORM ) / ( M*ULP ) + RESULT( 1 ) = ( WNORM / ANORM ) / ( REAL( M )*ULP ) ELSE IF( ANORM.LT.ONE ) THEN - RESULT( 1 ) = ( MIN( WNORM, M*ANORM ) / ANORM ) / ( M*ULP ) + RESULT( 1 ) = ( MIN( WNORM, REAL( M )*ANORM ) / ANORM ) / + $ ( REAL( M )*ULP ) ELSE - RESULT( 1 ) = MIN( WNORM / ANORM, REAL( M ) ) / ( M*ULP ) + RESULT( 1 ) = MIN( WNORM / ANORM, REAL( M ) ) / + $ ( REAL( M )*ULP ) END IF END IF * @@ -243,7 +245,7 @@ SUBROUTINE SSTT22( N, M, KBAND, AD, AE, SD, SE, U, LDU, WORK, 50 CONTINUE * RESULT( 2 ) = MIN( REAL( M ), SLANGE( '1', M, M, WORK, M, WORK( 1, - $ M+1 ) ) ) / ( M*ULP ) + $ M+1 ) ) ) / ( REAL( M )*ULP ) * RETURN * diff --git a/TESTING/EIG/ssvdch.f b/TESTING/EIG/ssvdch.f index 4e6bfb249..978c5ce2a 100644 --- a/TESTING/EIG/ssvdch.f +++ b/TESTING/EIG/ssvdch.f @@ -150,7 +150,7 @@ SUBROUTINE SSVDCH( N, S, E, SVD, TOL, INFO ) * * The value of EPS works best when TOL .GE. 10. * - EPS = TOL*MAX( N / 10, 1 )*EPS + EPS = TOL*REAL( MAX( N / 10, 1 ) )*EPS * * TPNT points to singular value at right endpoint of interval * BPNT points to singular value at left endpoint of interval diff --git a/TESTING/EIG/ssyt21.f b/TESTING/EIG/ssyt21.f index ba3194fc6..9bdaca19d 100644 --- a/TESTING/EIG/ssyt21.f +++ b/TESTING/EIG/ssyt21.f @@ -384,12 +384,14 @@ SUBROUTINE SSYT21( ITYPE, UPLO, N, KBAND, A, LDA, D, E, U, LDU, V, END IF * IF( ANORM.GT.WNORM ) THEN - RESULT( 1 ) = ( WNORM / ANORM ) / ( N*ULP ) + RESULT( 1 ) = ( WNORM / ANORM ) / ( REAL( N )*ULP ) ELSE IF( ANORM.LT.ONE ) THEN - RESULT( 1 ) = ( MIN( WNORM, N*ANORM ) / ANORM ) / ( N*ULP ) + RESULT( 1 ) = ( MIN( WNORM, REAL( N )*ANORM ) / ANORM ) / + $ ( REAL( N )*ULP ) ELSE - RESULT( 1 ) = MIN( WNORM / ANORM, REAL( N ) ) / ( N*ULP ) + RESULT( 1 ) = MIN( WNORM / ANORM, REAL( N ) ) / + $ ( REAL( N )*ULP ) END IF END IF * @@ -405,8 +407,9 @@ SUBROUTINE SSYT21( ITYPE, UPLO, N, KBAND, A, LDA, D, E, U, LDU, V, WORK( ( N+1 )*( J-1 )+1 ) = WORK( ( N+1 )*( J-1 )+1 ) - ONE 110 CONTINUE * - RESULT( 2 ) = MIN( SLANGE( '1', N, N, WORK, N, - $ WORK( N**2+1 ) ), REAL( N ) ) / ( N*ULP ) + RESULT( 2 ) = MIN( SLANGE( '1', N, N, WORK, N, + $ WORK( N**2+1 ) ), REAL( N ) ) / + $ ( REAL( N )*ULP ) END IF * RETURN diff --git a/TESTING/EIG/ssyt22.f b/TESTING/EIG/ssyt22.f index ea88687c3..944bfd162 100644 --- a/TESTING/EIG/ssyt22.f +++ b/TESTING/EIG/ssyt22.f @@ -229,12 +229,14 @@ SUBROUTINE SSYT22( ITYPE, UPLO, N, M, KBAND, A, LDA, D, E, U, LDU, WNORM = SLANSY( '1', UPLO, M, WORK( NNP1 ), N, WORK( 1 ) ) * IF( ANORM.GT.WNORM ) THEN - RESULT( 1 ) = ( WNORM / ANORM ) / ( M*ULP ) + RESULT( 1 ) = ( WNORM / ANORM ) / ( REAL( M )*ULP ) ELSE IF( ANORM.LT.ONE ) THEN - RESULT( 1 ) = ( MIN( WNORM, M*ANORM ) / ANORM ) / ( M*ULP ) + RESULT( 1 ) = ( MIN( WNORM, REAL( M )*ANORM ) / ANORM ) / + $ ( REAL( M )*ULP ) ELSE - RESULT( 1 ) = MIN( WNORM / ANORM, REAL( M ) ) / ( M*ULP ) + RESULT( 1 ) = MIN( WNORM / ANORM, REAL( M ) ) / + $ ( REAL( M )*ULP ) END IF END IF * diff --git a/TESTING/LIN/cchkeq.f b/TESTING/LIN/cchkeq.f index 7e5cfad17..d08ae4235 100644 --- a/TESTING/LIN/cchkeq.f +++ b/TESTING/LIN/cchkeq.f @@ -120,7 +120,7 @@ SUBROUTINE CCHKEQ( THRESH, NOUT ) 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 ) = CZERO END IF @@ -193,7 +193,7 @@ SUBROUTINE CCHKEQ( THRESH, NOUT ) 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 @@ -273,7 +273,7 @@ SUBROUTINE CCHKEQ( THRESH, NOUT ) 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 ) = CZERO END IF diff --git a/TESTING/LIN/cchkhe_rk.f b/TESTING/LIN/cchkhe_rk.f index a606af3ff..a11ff4cdd 100644 --- a/TESTING/LIN/cchkhe_rk.f +++ b/TESTING/LIN/cchkhe_rk.f @@ -546,7 +546,7 @@ SUBROUTINE CCHKHE_RK( DOTYPE, NN, NVAL, NNB, NBVAL, NNS, NSVAL, 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 U @@ -584,7 +584,7 @@ SUBROUTINE CCHKHE_RK( DOTYPE, NN, NVAL, NNB, NBVAL, NNS, NSVAL, 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 L @@ -635,7 +635,7 @@ SUBROUTINE CCHKHE_RK( DOTYPE, NN, NVAL, NNB, NBVAL, NNS, NSVAL, 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, @@ -679,7 +679,7 @@ SUBROUTINE CCHKHE_RK( DOTYPE, NN, NVAL, NNB, NBVAL, NNS, NSVAL, 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, diff --git a/TESTING/LIN/cchkhe_rook.f b/TESTING/LIN/cchkhe_rook.f index 34692d215..8be4bf15a 100644 --- a/TESTING/LIN/cchkhe_rook.f +++ b/TESTING/LIN/cchkhe_rook.f @@ -534,7 +534,7 @@ SUBROUTINE CCHKHE_ROOK( DOTYPE, NN, NVAL, NNB, NBVAL, NNS, NSVAL, 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 U @@ -572,7 +572,7 @@ SUBROUTINE CCHKHE_ROOK( DOTYPE, NN, NVAL, NNB, NBVAL, NNS, NSVAL, 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 L @@ -623,7 +623,7 @@ SUBROUTINE CCHKHE_ROOK( DOTYPE, NN, NVAL, NNB, NBVAL, NNS, NSVAL, 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, @@ -667,7 +667,7 @@ SUBROUTINE CCHKHE_ROOK( DOTYPE, NN, NVAL, NNB, NBVAL, NNS, NSVAL, 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, diff --git a/TESTING/LIN/cchkps.f b/TESTING/LIN/cchkps.f index c7e364fb9..7c48f0647 100644 --- a/TESTING/LIN/cchkps.f +++ b/TESTING/LIN/cchkps.f @@ -255,7 +255,7 @@ SUBROUTINE CCHKPS( DOTYPE, NN, NVAL, NNB, NBVAL, NRANK, RANKVAL, 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 ) * * diff --git a/TESTING/LIN/cchksy_rk.f b/TESTING/LIN/cchksy_rk.f index 0f7c43a31..75d23b747 100644 --- a/TESTING/LIN/cchksy_rk.f +++ b/TESTING/LIN/cchksy_rk.f @@ -558,7 +558,7 @@ SUBROUTINE CCHKSY_RK( DOTYPE, NN, NVAL, NNB, NBVAL, NNS, NSVAL, 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 @@ -596,7 +596,7 @@ SUBROUTINE CCHKSY_RK( DOTYPE, NN, NVAL, NNB, NBVAL, NNS, NSVAL, 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 @@ -646,7 +646,7 @@ SUBROUTINE CCHKSY_RK( DOTYPE, NN, NVAL, NNB, NBVAL, NNS, NSVAL, 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, @@ -690,7 +690,7 @@ SUBROUTINE CCHKSY_RK( DOTYPE, NN, NVAL, NNB, NBVAL, NNS, NSVAL, 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, diff --git a/TESTING/LIN/cchksy_rook.f b/TESTING/LIN/cchksy_rook.f index 81e7450e0..1fd58ac8f 100644 --- a/TESTING/LIN/cchksy_rook.f +++ b/TESTING/LIN/cchksy_rook.f @@ -546,7 +546,7 @@ SUBROUTINE CCHKSY_ROOK( DOTYPE, NN, NVAL, NNB, NBVAL, NNS, NSVAL, 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 @@ -584,7 +584,7 @@ SUBROUTINE CCHKSY_ROOK( DOTYPE, NN, NVAL, NNB, NBVAL, NNS, NSVAL, 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 @@ -634,7 +634,7 @@ SUBROUTINE CCHKSY_ROOK( DOTYPE, NN, NVAL, NNB, NBVAL, NNS, NSVAL, 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, @@ -678,7 +678,7 @@ SUBROUTINE CCHKSY_ROOK( DOTYPE, NN, NVAL, NNB, NBVAL, NNS, NSVAL, 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, diff --git a/TESTING/LIN/cdrvrf1.f b/TESTING/LIN/cdrvrf1.f index 428361a55..0f2bf7de1 100644 --- a/TESTING/LIN/cdrvrf1.f +++ b/TESTING/LIN/cdrvrf1.f @@ -162,8 +162,8 @@ SUBROUTINE CDRVRF1( NOUT, NN, NVAL, THRESH, A, LDA, ARF, WORK ) 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 * diff --git a/TESTING/LIN/cdrvrf3.f b/TESTING/LIN/cdrvrf3.f index 3f4375893..864d64e89 100644 --- a/TESTING/LIN/cdrvrf3.f +++ b/TESTING/LIN/cdrvrf3.f @@ -372,7 +372,7 @@ SUBROUTINE CDRVRF3( NOUT, NN, NVAL, THRESH, A, LDA, ARF, B1, B2, + S_WORK_CLANGE ) * 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 diff --git a/TESTING/LIN/cdrvrf4.f b/TESTING/LIN/cdrvrf4.f index d00513dd8..8ee96beba 100644 --- a/TESTING/LIN/cdrvrf4.f +++ b/TESTING/LIN/cdrvrf4.f @@ -312,7 +312,7 @@ SUBROUTINE CDRVRF4( NOUT, NN, NVAL, THRESH, C1, C2, LDC, CRF, A, RESULT(1) = RESULT(1) + / MAX( ABS( ALPHA ) * NORMA * NORMA + + ABS( BETA ) * NORMC, ONE ) - + / MAX( N , 1 ) / EPS + + / REAL( MAX( N, 1 ) ) / EPS * IF( RESULT(1).GE.THRESH ) THEN IF( NFAIL.EQ.0 ) THEN diff --git a/TESTING/LIN/cebchvxx.f b/TESTING/LIN/cebchvxx.f index a10a8f6f7..55206c645 100644 --- a/TESTING/LIN/cebchvxx.f +++ b/TESTING/LIN/cebchvxx.f @@ -120,7 +120,6 @@ SUBROUTINE CEBCHVXX( THRESH, PATH ) * .. Local Arrays .. REAL TSTRAT(NTESTS), RINV(NMAX), PARAMS(NPARAMS), $ S(NMAX), R(NMAX),C(NMAX),RWORK(3*NMAX), - $ DIFF(NMAX, NMAX), $ ERRBND_N(NMAX*3), ERRBND_C(NMAX*3) INTEGER IPIV(NMAX) COMPLEX A(NMAX,NMAX),INVHILB(NMAX,NMAX),X(NMAX,NMAX), @@ -254,13 +253,6 @@ SUBROUTINE CEBCHVXX( THRESH, PATH ) END IF END IF -* Calculating the difference between C**SVXX's X and the true X. - DO I = 1,N - DO J =1,NRHS - DIFF(I,J) = X(I,J) - INVHILB(I,J) - END DO - END DO - * Calculating the RCOND RNORM = 0 RINORM = 0 diff --git a/TESTING/LIN/cgbt05.f b/TESTING/LIN/cgbt05.f index ec359d654..c7ef3bf30 100644 --- a/TESTING/LIN/cgbt05.f +++ b/TESTING/LIN/cgbt05.f @@ -286,7 +286,8 @@ SUBROUTINE CGBT05( TRANS, N, KL, KU, NRHS, AB, LDAB, B, LDB, X, 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 diff --git a/TESTING/LIN/cget07.f b/TESTING/LIN/cget07.f index f3b43a2e9..81f4a8731 100644 --- a/TESTING/LIN/cget07.f +++ b/TESTING/LIN/cget07.f @@ -276,8 +276,8 @@ SUBROUTINE CGET07( TRANS, N, NRHS, A, LDA, B, LDB, X, LDX, XACT, 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 diff --git a/TESTING/LIN/cgtt05.f b/TESTING/LIN/cgtt05.f index cd80c931c..cf6090804 100644 --- a/TESTING/LIN/cgtt05.f +++ b/TESTING/LIN/cgtt05.f @@ -297,7 +297,8 @@ SUBROUTINE CGTT05( TRANS, N, NRHS, DL, D, DU, B, LDB, X, LDX, 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 diff --git a/TESTING/LIN/clattb.f b/TESTING/LIN/clattb.f index 0385bbe82..56c1b377f 100644 --- a/TESTING/LIN/clattb.f +++ b/TESTING/LIN/clattb.f @@ -241,11 +241,11 @@ SUBROUTINE CLATTB( IMAT, UPLO, TRANS, DIAG, ISEED, N, KD, AB, DO 10 I = MAX( 1, KD+2-J ), KD AB( I, J ) = ZERO 10 CONTINUE - AB( KD+1, J ) = J + AB( KD+1, J ) = CMPLX( REAL( J ) ) 20 CONTINUE ELSE DO 40 J = 1, N - AB( 1, J ) = J + AB( 1, J ) = CMPLX( REAL( J ) ) DO 30 I = 2, MIN( KD+1, N-J+1 ) AB( I, J ) = ZERO 30 CONTINUE diff --git a/TESTING/LIN/clattp.f b/TESTING/LIN/clattp.f index 010697033..3b0b2bc57 100644 --- a/TESTING/LIN/clattp.f +++ b/TESTING/LIN/clattp.f @@ -226,13 +226,13 @@ SUBROUTINE CLATTP( IMAT, UPLO, TRANS, DIAG, ISEED, N, AP, B, WORK, DO 10 I = 1, J - 1 AP( JC+I-1 ) = ZERO 10 CONTINUE - AP( JC+J-1 ) = J + AP( JC+J-1 ) = CMPLX( REAL( J ) ) JC = JC + J 20 CONTINUE ELSE JC = 1 DO 40 J = 1, N - AP( JC ) = J + AP( JC ) = CMPLX( REAL( J ) ) DO 30 I = J + 1, N AP( JC+I-J ) = ZERO 30 CONTINUE @@ -253,13 +253,13 @@ SUBROUTINE CLATTP( IMAT, UPLO, TRANS, DIAG, ISEED, N, AP, B, WORK, DO 50 I = 1, J - 1 AP( JC+I ) = ZERO 50 CONTINUE - AP( JC+J ) = J + AP( JC+J ) = CMPLX( REAL( J ) ) JC = JC + J 60 CONTINUE ELSE JC = 1 DO 80 J = 1, N - AP( JC ) = J + AP( JC ) = CMPLX( REAL( J ) ) DO 70 I = J + 1, N AP( JC+I-J ) = ZERO 70 CONTINUE diff --git a/TESTING/LIN/clattr.f b/TESTING/LIN/clattr.f index 275c1d702..294229533 100644 --- a/TESTING/LIN/clattr.f +++ b/TESTING/LIN/clattr.f @@ -229,11 +229,11 @@ SUBROUTINE CLATTR( IMAT, UPLO, TRANS, DIAG, ISEED, N, A, LDA, B, DO 10 I = 1, J - 1 A( I, J ) = ZERO 10 CONTINUE - A( J, J ) = J + A( J, J ) = CMPLX( REAL( J ) ) 20 CONTINUE ELSE DO 40 J = 1, N - A( J, J ) = J + A( J, J ) = CMPLX( REAL( J ) ) DO 30 I = J + 1, N A( I, J ) = ZERO 30 CONTINUE @@ -252,11 +252,11 @@ SUBROUTINE CLATTR( IMAT, UPLO, TRANS, DIAG, ISEED, N, A, LDA, B, DO 50 I = 1, J - 1 A( I, J ) = ZERO 50 CONTINUE - A( J, J ) = J + A( J, J ) = CMPLX( REAL( J ) ) 60 CONTINUE ELSE DO 80 J = 1, N - A( J, J ) = J + A( J, J ) = CMPLX( REAL( J ) ) DO 70 I = J + 1, N A( I, J ) = ZERO 70 CONTINUE @@ -343,7 +343,7 @@ SUBROUTINE CLATTR( IMAT, UPLO, TRANS, DIAG, ISEED, N, A, LDA, B, * 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 diff --git a/TESTING/LIN/clqt04.f b/TESTING/LIN/clqt04.f index c444ce44c..f374cd584 100644 --- a/TESTING/LIN/clqt04.f +++ b/TESTING/LIN/clqt04.f @@ -155,7 +155,7 @@ SUBROUTINE CLQT04(M,N,NB,RESULT) ANORM = CLANGE( '1', M, N, A, M, RWORK ) RESID = CLANGE( '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 @@ -165,7 +165,7 @@ SUBROUTINE CLQT04(M,N,NB,RESULT) CALL CLASET( 'Full', N, N, CZERO, ONE, L, LL ) CALL CHERK( 'U', 'C', N, N, REAL(-ONE), Q, N, REAL(ONE), L, LL) RESID = CLANSY( '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 * @@ -185,7 +185,7 @@ SUBROUTINE CLQT04(M,N,NB,RESULT) CALL CGEMM( 'N', 'N', N, M, N, -ONE, Q, N, D, N, ONE, DF, N ) RESID = CLANGE( '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 @@ -204,7 +204,7 @@ SUBROUTINE CLQT04(M,N,NB,RESULT) CALL CGEMM( 'C', 'N', N, M, N, -ONE, Q, N, D, N, ONE, DF, N ) RESID = CLANGE( '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 @@ -227,7 +227,7 @@ SUBROUTINE CLQT04(M,N,NB,RESULT) CALL CGEMM( 'N', 'N', M, N, N, -ONE, C, M, Q, N, ONE, CF, M ) RESID = CLANGE( '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 @@ SUBROUTINE CLQT04(M,N,NB,RESULT) CALL CGEMM( 'N', 'C', M, N, N, -ONE, C, M, Q, N, ONE, CF, M ) RESID = CLANGE( '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 @@ -257,4 +257,3 @@ SUBROUTINE CLQT04(M,N,NB,RESULT) * RETURN END - diff --git a/TESTING/LIN/clqt05.f b/TESTING/LIN/clqt05.f index 387b19d02..c36cc01b5 100644 --- a/TESTING/LIN/clqt05.f +++ b/TESTING/LIN/clqt05.f @@ -179,7 +179,7 @@ SUBROUTINE CLQT05(M,N,L,NB,RESULT) ANORM = CLANGE( '1', M, N2, A, M, RWORK ) RESID = CLANGE( '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 @@ -190,7 +190,7 @@ SUBROUTINE CLQT05(M,N,L,NB,RESULT) CALL CHERK( 'U', 'N', N2, N2, REAL(-ONE), Q, N2, REAL(ONE), $ R, N2 ) RESID = CLANSY( '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 * @@ -211,7 +211,7 @@ SUBROUTINE CLQT05(M,N,L,NB,RESULT) CALL CGEMM( 'N', 'N', N2, M, N2, -ONE, Q, N2, C, N2, ONE, CF, N2 ) RESID = CLANGE( '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 @@ -232,7 +232,7 @@ SUBROUTINE CLQT05(M,N,L,NB,RESULT) RESID = CLANGE( '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 @@ -255,7 +255,7 @@ SUBROUTINE CLQT05(M,N,L,NB,RESULT) CALL CGEMM('N','N',M,N2,N2,-ONE,D,M,Q,N2,ONE,DF,M) RESID = CLANGE('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 @@ -275,7 +275,7 @@ SUBROUTINE CLQT05(M,N,L,NB,RESULT) CALL CGEMM( 'N', 'C', M, N2, N2, -ONE, D, M, Q, N2, ONE, DF, M ) RESID = CLANGE( '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 diff --git a/TESTING/LIN/cpbt05.f b/TESTING/LIN/cpbt05.f index 8403f94be..a45ca6288 100644 --- a/TESTING/LIN/cpbt05.f +++ b/TESTING/LIN/cpbt05.f @@ -290,7 +290,8 @@ SUBROUTINE CPBT05( UPLO, N, KD, NRHS, AB, LDAB, B, LDB, X, LDX, 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 diff --git a/TESTING/LIN/cpot05.f b/TESTING/LIN/cpot05.f index 641bca2f5..55932d326 100644 --- a/TESTING/LIN/cpot05.f +++ b/TESTING/LIN/cpot05.f @@ -280,8 +280,8 @@ SUBROUTINE CPOT05( UPLO, N, NRHS, A, LDA, B, LDB, X, LDX, XACT, 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 diff --git a/TESTING/LIN/cppt05.f b/TESTING/LIN/cppt05.f index af668a926..c7e0a5fc1 100644 --- a/TESTING/LIN/cppt05.f +++ b/TESTING/LIN/cppt05.f @@ -277,8 +277,8 @@ SUBROUTINE CPPT05( UPLO, N, NRHS, AP, B, LDB, X, LDX, XACT, 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 diff --git a/TESTING/LIN/cptt05.f b/TESTING/LIN/cptt05.f index feae0cc3c..ec3591c60 100644 --- a/TESTING/LIN/cptt05.f +++ b/TESTING/LIN/cptt05.f @@ -252,7 +252,8 @@ SUBROUTINE CPTT05( N, NRHS, D, E, B, LDB, X, LDX, XACT, LDXACT, $ CABS1( X( N-1, K ) ) + CABS1( 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 diff --git a/TESTING/LIN/cqrt04.f b/TESTING/LIN/cqrt04.f index 711bf70cf..558f1ec2e 100644 --- a/TESTING/LIN/cqrt04.f +++ b/TESTING/LIN/cqrt04.f @@ -154,7 +154,7 @@ SUBROUTINE CQRT04(M,N,NB,RESULT) ANORM = CLANGE( '1', M, N, A, M, RWORK ) RESID = CLANGE( '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 @@ -164,7 +164,7 @@ SUBROUTINE CQRT04(M,N,NB,RESULT) CALL CLASET( 'Full', M, M, CZERO, ONE, R, M ) CALL CHERK( 'U', 'C', M, M, REAL(-ONE), Q, M, REAL(ONE), R, M ) RESID = CLANSY( '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 * @@ -184,7 +184,7 @@ SUBROUTINE CQRT04(M,N,NB,RESULT) CALL CGEMM( 'N', 'N', M, N, M, -ONE, Q, M, C, M, ONE, CF, M ) RESID = CLANGE( '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 @@ -203,7 +203,7 @@ SUBROUTINE CQRT04(M,N,NB,RESULT) CALL CGEMM( 'C', 'N', M, N, M, -ONE, Q, M, C, M, ONE, CF, M ) RESID = CLANGE( '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 @@ -226,7 +226,7 @@ SUBROUTINE CQRT04(M,N,NB,RESULT) CALL CGEMM( 'N', 'N', N, M, M, -ONE, D, N, Q, M, ONE, DF, N ) RESID = CLANGE( '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 @@ -245,7 +245,7 @@ SUBROUTINE CQRT04(M,N,NB,RESULT) CALL CGEMM( 'N', 'C', N, M, M, -ONE, D, N, Q, M, ONE, DF, N ) RESID = CLANGE( '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 @@ -256,4 +256,3 @@ SUBROUTINE CQRT04(M,N,NB,RESULT) * RETURN END - diff --git a/TESTING/LIN/cqrt05.f b/TESTING/LIN/cqrt05.f index d33ecc7c8..eacfae82d 100644 --- a/TESTING/LIN/cqrt05.f +++ b/TESTING/LIN/cqrt05.f @@ -178,7 +178,7 @@ SUBROUTINE CQRT05(M,N,L,NB,RESULT) ANORM = CLANGE( '1', M2, N, A, M2, RWORK ) RESID = CLANGE( '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 @@ -189,7 +189,7 @@ SUBROUTINE CQRT05(M,N,L,NB,RESULT) CALL CHERK( 'U', 'C', M2, M2, REAL(-ONE), Q, M2, REAL(ONE), $ R, M2 ) RESID = CLANSY( '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 * @@ -209,7 +209,7 @@ SUBROUTINE CQRT05(M,N,L,NB,RESULT) CALL CGEMM( 'N', 'N', M2, N, M2, -ONE, Q, M2, C, M2, ONE, CF, M2 ) RESID = CLANGE( '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 @@ -228,7 +228,7 @@ SUBROUTINE CQRT05(M,N,L,NB,RESULT) CALL CGEMM('C','N',M2,N,M2,-ONE,Q,M2,C,M2,ONE,CF,M2) RESID = CLANGE( '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 @@ -251,7 +251,7 @@ SUBROUTINE CQRT05(M,N,L,NB,RESULT) CALL CGEMM('N','N',N,M2,M2,-ONE,D,N,Q,M2,ONE,DF,N) RESID = CLANGE('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 @@ -271,7 +271,7 @@ SUBROUTINE CQRT05(M,N,L,NB,RESULT) CALL CGEMM( 'N', 'C', N, M2, M2, -ONE, D, N, Q, M2, ONE, DF, N ) RESID = CLANGE( '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 @@ -281,4 +281,3 @@ SUBROUTINE CQRT05(M,N,L,NB,RESULT) DEALLOCATE ( A, AF, Q, R, RWORK, WORK, T, C, D, CF, DF) RETURN END - diff --git a/TESTING/LIN/cqrt12.f b/TESTING/LIN/cqrt12.f index 77ba06eb2..95af8adb5 100644 --- a/TESTING/LIN/cqrt12.f +++ b/TESTING/LIN/cqrt12.f @@ -146,7 +146,7 @@ REAL FUNCTION CQRT12( M, N, A, LDA, S, WORK, LWORK, * Quick return if possible * MN = MIN( M, N ) - IF( MN.LE.ZERO ) + IF( MN.LE.0 ) $ RETURN * NRMSVL = SNRM2( MN, S, 1 ) diff --git a/TESTING/LIN/cqrt16.f b/TESTING/LIN/cqrt16.f index 5aa56ffb7..7f1917a0f 100644 --- a/TESTING/LIN/cqrt16.f +++ b/TESTING/LIN/cqrt16.f @@ -208,7 +208,7 @@ SUBROUTINE CQRT16( TRANS, M, N, NRHS, A, LDA, X, LDX, B, LDB, RESID = ONE / EPS ELSE RESID = MAX( RESID, ( ( BNORM / ANORM ) / XNORM ) / - $ ( MAX( M, N )*EPS ) ) + $ ( REAL( MAX( M, N ) )*EPS ) ) END IF 10 CONTINUE * diff --git a/TESTING/LIN/ctbt05.f b/TESTING/LIN/ctbt05.f index 6e5022782..742f3a354 100644 --- a/TESTING/LIN/ctbt05.f +++ b/TESTING/LIN/ctbt05.f @@ -326,7 +326,8 @@ SUBROUTINE CTBT05( UPLO, TRANS, DIAG, N, KD, NRHS, AB, LDAB, B, 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 diff --git a/TESTING/LIN/ctpt05.f b/TESTING/LIN/ctpt05.f index 281e57747..9b383e040 100644 --- a/TESTING/LIN/ctpt05.f +++ b/TESTING/LIN/ctpt05.f @@ -316,8 +316,8 @@ SUBROUTINE CTPT05( UPLO, TRANS, DIAG, N, NRHS, AP, B, LDB, X, LDX, 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 diff --git a/TESTING/LIN/ctrt05.f b/TESTING/LIN/ctrt05.f index 08f1b46e8..8067808e1 100644 --- a/TESTING/LIN/ctrt05.f +++ b/TESTING/LIN/ctrt05.f @@ -314,8 +314,8 @@ SUBROUTINE CTRT05( UPLO, TRANS, DIAG, N, NRHS, A, LDA, B, LDB, X, 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 diff --git a/TESTING/LIN/ctsqr01.f b/TESTING/LIN/ctsqr01.f index ca1bf5230..968934d19 100644 --- a/TESTING/LIN/ctsqr01.f +++ b/TESTING/LIN/ctsqr01.f @@ -210,7 +210,7 @@ SUBROUTINE CTSQR01(TSSW, M, N, MB, NB, RESULT) ANORM = CLANGE( '1', M, N, A, M, RWORK ) RESID = CLANGE( '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 @@ SUBROUTINE CTSQR01(TSSW, M, N, MB, NB, RESULT) CALL CLASET( 'Full', M, M, CZERO, ONE, R, M ) CALL CHERK( 'U', 'C', M, M, REAL(-ONE), Q, M, REAL(ONE), R, M ) RESID = CLANSY( '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 @@ SUBROUTINE CTSQR01(TSSW, M, N, MB, NB, RESULT) CALL CGEMM( 'N', 'N', M, N, M, -ONE, Q, M, C, M, ONE, CF, M ) RESID = CLANGE( '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 @@ SUBROUTINE CTSQR01(TSSW, M, N, MB, NB, RESULT) CALL CGEMM( 'C', 'N', M, N, M, -ONE, Q, M, C, M, ONE, CF, M ) RESID = CLANGE( '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 @@ SUBROUTINE CTSQR01(TSSW, M, N, MB, NB, RESULT) CALL CGEMM( 'N', 'N', N, M, M, -ONE, D, N, Q, M, ONE, DF, N ) RESID = CLANGE( '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 @@ SUBROUTINE CTSQR01(TSSW, M, N, MB, NB, RESULT) CALL CGEMM( 'N', 'C', N, M, M, -ONE, D, N, Q, M, ONE, DF, N ) RESID = CLANGE( '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 @@ SUBROUTINE CTSQR01(TSSW, M, N, MB, NB, RESULT) ANORM = CLANGE( '1', M, N, A, M, RWORK ) RESID = CLANGE( '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 @@ SUBROUTINE CTSQR01(TSSW, M, N, MB, NB, RESULT) CALL CLASET( 'Full', N, N, CZERO, ONE, LQ, L ) CALL CHERK( 'U', 'C', N, N, REAL(-ONE), Q, N, REAL(ONE), LQ, L) RESID = CLANSY( '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 @@ SUBROUTINE CTSQR01(TSSW, M, N, MB, NB, RESULT) CALL CGEMM( 'N', 'N', N, M, N, -ONE, Q, N, D, N, ONE, DF, N ) RESID = CLANGE( '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 @@ SUBROUTINE CTSQR01(TSSW, M, N, MB, NB, RESULT) CALL CGEMM( 'C', 'N', N, M, N, -ONE, Q, N, D, N, ONE, DF, N ) RESID = CLANGE( '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 @@ SUBROUTINE CTSQR01(TSSW, M, N, MB, NB, RESULT) CALL CGEMM( 'N', 'N', M, N, N, -ONE, C, M, Q, N, ONE, CF, M ) RESID = CLANGE( '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 @@ SUBROUTINE CTSQR01(TSSW, M, N, MB, NB, RESULT) CALL CGEMM( 'N', 'C', M, N, N, -ONE, C, M, Q, N, ONE, CF, M ) RESID = CLANGE( '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 diff --git a/TESTING/LIN/cunhr_col01.f b/TESTING/LIN/cunhr_col01.f index 056a5a7c6..1d8513b76 100644 --- a/TESTING/LIN/cunhr_col01.f +++ b/TESTING/LIN/cunhr_col01.f @@ -302,7 +302,7 @@ SUBROUTINE CUNHR_COL01( M, N, MB1, NB1, NB2, RESULT ) ANORM = CLANGE( '1', M, N, A, M, RWORK ) RESID = CLANGE( '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 @@ -313,7 +313,7 @@ SUBROUTINE CUNHR_COL01( M, N, MB1, NB1, NB2, RESULT ) CALL CLASET( 'Full', M, M, CZERO, CONE, R, M ) CALL CHERK( 'U', 'C', M, M, REAL(-CONE), Q, M, REAL(CONE), R, M ) RESID = CLANSY( '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 * @@ -335,7 +335,7 @@ SUBROUTINE CUNHR_COL01( M, N, MB1, NB1, NB2, RESULT ) CALL CGEMM( 'N', 'N', M, N, M, -CONE, Q, M, C, M, CONE, CF, M ) RESID = CLANGE( '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 @@ -356,7 +356,7 @@ SUBROUTINE CUNHR_COL01( M, N, MB1, NB1, NB2, RESULT ) CALL CGEMM( 'C', 'N', M, N, M, -CONE, Q, M, C, M, CONE, CF, M ) RESID = CLANGE( '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 @@ -381,7 +381,7 @@ SUBROUTINE CUNHR_COL01( M, N, MB1, NB1, NB2, RESULT ) CALL CGEMM( 'N', 'N', N, M, M, -CONE, D, N, Q, M, CONE, DF, N ) RESID = CLANGE( '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 @@ -402,7 +402,7 @@ SUBROUTINE CUNHR_COL01( M, N, MB1, NB1, NB2, RESULT ) CALL CGEMM( 'N', 'C', N, M, M, -CONE, D, N, Q, M, CONE, DF, N ) RESID = CLANGE( '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 diff --git a/TESTING/LIN/cunhr_col02.f b/TESTING/LIN/cunhr_col02.f index 4a4f67791..aa3dcbc50 100644 --- a/TESTING/LIN/cunhr_col02.f +++ b/TESTING/LIN/cunhr_col02.f @@ -264,7 +264,7 @@ SUBROUTINE CUNHR_COL02( M, N, MB1, NB1, NB2, RESULT ) ANORM = CLANGE( '1', M, N, A, M, RWORK ) RESID = CLANGE( '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 @@ -275,7 +275,7 @@ SUBROUTINE CUNHR_COL02( M, N, MB1, NB1, NB2, RESULT ) CALL CLASET( 'Full', M, M, CZERO, CONE, R, M ) CALL CHERK( 'U', 'C', M, M, REAL(-CONE), Q, M, REAL(CONE), R, M ) RESID = CLANSY( '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 * @@ -297,7 +297,7 @@ SUBROUTINE CUNHR_COL02( M, N, MB1, NB1, NB2, RESULT ) CALL CGEMM( 'N', 'N', M, N, M, -CONE, Q, M, C, M, CONE, CF, M ) RESID = CLANGE( '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 @@ -318,7 +318,7 @@ SUBROUTINE CUNHR_COL02( M, N, MB1, NB1, NB2, RESULT ) CALL CGEMM( 'C', 'N', M, N, M, -CONE, Q, M, C, M, CONE, CF, M ) RESID = CLANGE( '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 @@ -343,7 +343,7 @@ SUBROUTINE CUNHR_COL02( M, N, MB1, NB1, NB2, RESULT ) CALL CGEMM( 'N', 'N', N, M, M, -CONE, D, N, Q, M, CONE, DF, N ) RESID = CLANGE( '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 @@ -364,7 +364,7 @@ SUBROUTINE CUNHR_COL02( M, N, MB1, NB1, NB2, RESULT ) CALL CGEMM( 'N', 'C', N, M, M, -CONE, D, N, Q, M, CONE, DF, N ) RESID = CLANGE( '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 diff --git a/TESTING/LIN/schkeq.f b/TESTING/LIN/schkeq.f index f31673dcd..836b546b2 100644 --- a/TESTING/LIN/schkeq.f +++ b/TESTING/LIN/schkeq.f @@ -116,7 +116,7 @@ SUBROUTINE SCHKEQ( THRESH, NOUT ) 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 @@ SUBROUTINE SCHKEQ( THRESH, NOUT ) 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 @@ SUBROUTINE SCHKEQ( THRESH, NOUT ) 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 diff --git a/TESTING/LIN/schkps.f b/TESTING/LIN/schkps.f index 1801be3dc..73f6e0f5b 100644 --- a/TESTING/LIN/schkps.f +++ b/TESTING/LIN/schkps.f @@ -256,7 +256,7 @@ SUBROUTINE SCHKPS( DOTYPE, NN, NVAL, NNB, NBVAL, NRANK, RANKVAL, 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 ) * * diff --git a/TESTING/LIN/schksy_rk.f b/TESTING/LIN/schksy_rk.f index 6e2d9c93d..d4e8a5570 100644 --- a/TESTING/LIN/schksy_rk.f +++ b/TESTING/LIN/schksy_rk.f @@ -538,7 +538,7 @@ SUBROUTINE SCHKSY_RK( DOTYPE, NN, NVAL, NNB, NBVAL, NNS, NSVAL, 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 @@ SUBROUTINE SCHKSY_RK( DOTYPE, NN, NVAL, NNB, NBVAL, NNS, NSVAL, 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 @@ SUBROUTINE SCHKSY_RK( DOTYPE, NN, NVAL, NNB, NBVAL, NNS, NSVAL, 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 @@ SUBROUTINE SCHKSY_RK( DOTYPE, NN, NVAL, NNB, NBVAL, NNS, NSVAL, 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, diff --git a/TESTING/LIN/schksy_rook.f b/TESTING/LIN/schksy_rook.f index 865af3ffb..0092fdd88 100644 --- a/TESTING/LIN/schksy_rook.f +++ b/TESTING/LIN/schksy_rook.f @@ -526,7 +526,7 @@ SUBROUTINE SCHKSY_ROOK( DOTYPE, NN, NVAL, NNB, NBVAL, NNS, NSVAL, 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 @@ SUBROUTINE SCHKSY_ROOK( DOTYPE, NN, NVAL, NNB, NBVAL, NNS, NSVAL, 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 @@ SUBROUTINE SCHKSY_ROOK( DOTYPE, NN, NVAL, NNB, NBVAL, NNS, NSVAL, 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 @@ SUBROUTINE SCHKSY_ROOK( DOTYPE, NN, NVAL, NNB, NBVAL, NNS, NSVAL, 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, diff --git a/TESTING/LIN/sdrvrf1.f b/TESTING/LIN/sdrvrf1.f index 17843ad80..fa1630dc5 100644 --- a/TESTING/LIN/sdrvrf1.f +++ b/TESTING/LIN/sdrvrf1.f @@ -159,8 +159,8 @@ SUBROUTINE SDRVRF1( NOUT, NN, NVAL, THRESH, A, LDA, ARF, WORK ) 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 * diff --git a/TESTING/LIN/sdrvrf3.f b/TESTING/LIN/sdrvrf3.f index ba2461113..9717a58d4 100644 --- a/TESTING/LIN/sdrvrf3.f +++ b/TESTING/LIN/sdrvrf3.f @@ -357,7 +357,7 @@ SUBROUTINE SDRVRF3( NOUT, NN, NVAL, THRESH, A, LDA, ARF, B1, B2, + 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 diff --git a/TESTING/LIN/sdrvrf4.f b/TESTING/LIN/sdrvrf4.f index b08d5c7d0..ffc305203 100644 --- a/TESTING/LIN/sdrvrf4.f +++ b/TESTING/LIN/sdrvrf4.f @@ -314,7 +314,7 @@ SUBROUTINE SDRVRF4( NOUT, NN, NVAL, THRESH, C1, C2, LDC, CRF, A, 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 diff --git a/TESTING/LIN/sgbt05.f b/TESTING/LIN/sgbt05.f index b5068c625..8ec2edc5d 100644 --- a/TESTING/LIN/sgbt05.f +++ b/TESTING/LIN/sgbt05.f @@ -277,7 +277,8 @@ SUBROUTINE SGBT05( TRANS, N, KL, KU, NRHS, AB, LDAB, B, LDB, X, 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 diff --git a/TESTING/LIN/sget07.f b/TESTING/LIN/sget07.f index 3b3b86b96..271fb9beb 100644 --- a/TESTING/LIN/sget07.f +++ b/TESTING/LIN/sget07.f @@ -267,8 +267,8 @@ SUBROUTINE SGET07( TRANS, N, NRHS, A, LDA, B, LDB, X, LDX, XACT, 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 diff --git a/TESTING/LIN/sgtt05.f b/TESTING/LIN/sgtt05.f index 0c96321f9..4a312a685 100644 --- a/TESTING/LIN/sgtt05.f +++ b/TESTING/LIN/sgtt05.f @@ -282,7 +282,8 @@ SUBROUTINE SGTT05( TRANS, N, NRHS, DL, D, DU, B, LDB, X, LDX, 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 diff --git a/TESTING/LIN/slattb.f b/TESTING/LIN/slattb.f index 600a4da61..e9b31f9df 100644 --- a/TESTING/LIN/slattb.f +++ b/TESTING/LIN/slattb.f @@ -230,11 +230,11 @@ SUBROUTINE SLATTB( IMAT, UPLO, TRANS, DIAG, ISEED, N, KD, AB, 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 diff --git a/TESTING/LIN/slattp.f b/TESTING/LIN/slattp.f index f7b692596..7dbe3d039 100644 --- a/TESTING/LIN/slattp.f +++ b/TESTING/LIN/slattp.f @@ -217,13 +217,13 @@ SUBROUTINE SLATTP( IMAT, UPLO, TRANS, DIAG, ISEED, N, A, B, WORK, 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 @@ SUBROUTINE SLATTP( IMAT, UPLO, TRANS, DIAG, ISEED, N, A, B, WORK, 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 diff --git a/TESTING/LIN/slattr.f b/TESTING/LIN/slattr.f index 2e7ddd3ac..df6015721 100644 --- a/TESTING/LIN/slattr.f +++ b/TESTING/LIN/slattr.f @@ -221,11 +221,11 @@ SUBROUTINE SLATTR( IMAT, UPLO, TRANS, DIAG, ISEED, N, A, LDA, B, 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 @@ SUBROUTINE SLATTR( IMAT, UPLO, TRANS, DIAG, ISEED, N, A, LDA, B, 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 @@ SUBROUTINE SLATTR( IMAT, UPLO, TRANS, DIAG, ISEED, N, A, LDA, B, * 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 diff --git a/TESTING/LIN/slqt04.f b/TESTING/LIN/slqt04.f index c0ba81f74..d173d64ab 100644 --- a/TESTING/LIN/slqt04.f +++ b/TESTING/LIN/slqt04.f @@ -151,7 +151,7 @@ SUBROUTINE SLQT04(M,N,NB,RESULT) 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 @@ SUBROUTINE SLQT04(M,N,NB,RESULT) 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 @@ SUBROUTINE SLQT04(M,N,NB,RESULT) 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 @@ SUBROUTINE SLQT04(M,N,NB,RESULT) 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 @@ SUBROUTINE SLQT04(M,N,NB,RESULT) 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 @@ SUBROUTINE SLQT04(M,N,NB,RESULT) 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 diff --git a/TESTING/LIN/slqt05.f b/TESTING/LIN/slqt05.f index 9afc37ef7..8d95a58bd 100644 --- a/TESTING/LIN/slqt05.f +++ b/TESTING/LIN/slqt05.f @@ -175,7 +175,7 @@ SUBROUTINE SLQT05(M,N,L,NB,RESULT) 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 @@ SUBROUTINE SLQT05(M,N,L,NB,RESULT) 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 @@ SUBROUTINE SLQT05(M,N,L,NB,RESULT) 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 @@ SUBROUTINE SLQT05(M,N,L,NB,RESULT) 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 @@ SUBROUTINE SLQT05(M,N,L,NB,RESULT) 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 @@ SUBROUTINE SLQT05(M,N,L,NB,RESULT) 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 diff --git a/TESTING/LIN/sorhr_col01.f b/TESTING/LIN/sorhr_col01.f index dcc2c1cae..bd22c7b24 100644 --- a/TESTING/LIN/sorhr_col01.f +++ b/TESTING/LIN/sorhr_col01.f @@ -298,7 +298,7 @@ SUBROUTINE SORHR_COL01( M, N, MB1, NB1, NB2, RESULT ) 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 @@ SUBROUTINE SORHR_COL01( M, N, MB1, NB1, NB2, RESULT ) 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 @@ SUBROUTINE SORHR_COL01( M, N, MB1, NB1, NB2, RESULT ) 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 @@ SUBROUTINE SORHR_COL01( M, N, MB1, NB1, NB2, RESULT ) 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 @@ SUBROUTINE SORHR_COL01( M, N, MB1, NB1, NB2, RESULT ) 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 @@ SUBROUTINE SORHR_COL01( M, N, MB1, NB1, NB2, RESULT ) 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 diff --git a/TESTING/LIN/sorhr_col02.f b/TESTING/LIN/sorhr_col02.f index 1cbe40577..4f4094d6c 100644 --- a/TESTING/LIN/sorhr_col02.f +++ b/TESTING/LIN/sorhr_col02.f @@ -259,7 +259,7 @@ SUBROUTINE SORHR_COL02( M, N, MB1, NB1, NB2, RESULT ) 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 @@ SUBROUTINE SORHR_COL02( M, N, MB1, NB1, NB2, RESULT ) 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 @@ SUBROUTINE SORHR_COL02( M, N, MB1, NB1, NB2, RESULT ) 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 @@ SUBROUTINE SORHR_COL02( M, N, MB1, NB1, NB2, RESULT ) 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 @@ SUBROUTINE SORHR_COL02( M, N, MB1, NB1, NB2, RESULT ) 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 @@ SUBROUTINE SORHR_COL02( M, N, MB1, NB1, NB2, RESULT ) 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 diff --git a/TESTING/LIN/spbt05.f b/TESTING/LIN/spbt05.f index 8ea013f4c..b25be02fe 100644 --- a/TESTING/LIN/spbt05.f +++ b/TESTING/LIN/spbt05.f @@ -278,7 +278,8 @@ SUBROUTINE SPBT05( UPLO, N, KD, NRHS, AB, LDAB, B, LDB, X, LDX, 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 diff --git a/TESTING/LIN/spot05.f b/TESTING/LIN/spot05.f index 00aa2bd2c..3cfdeb197 100644 --- a/TESTING/LIN/spot05.f +++ b/TESTING/LIN/spot05.f @@ -269,8 +269,8 @@ SUBROUTINE SPOT05( UPLO, N, NRHS, A, LDA, B, LDB, X, LDX, XACT, 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 diff --git a/TESTING/LIN/sppt05.f b/TESTING/LIN/sppt05.f index de0824025..e12968801 100644 --- a/TESTING/LIN/sppt05.f +++ b/TESTING/LIN/sppt05.f @@ -266,8 +266,8 @@ SUBROUTINE SPPT05( UPLO, N, NRHS, AP, B, LDB, X, LDX, XACT, 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 diff --git a/TESTING/LIN/sptt05.f b/TESTING/LIN/sptt05.f index 3b73f41ee..f18f9c98b 100644 --- a/TESTING/LIN/sptt05.f +++ b/TESTING/LIN/sptt05.f @@ -244,7 +244,8 @@ SUBROUTINE SPTT05( N, NRHS, D, E, B, LDB, X, LDX, XACT, LDXACT, $ 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 diff --git a/TESTING/LIN/sqrt04.f b/TESTING/LIN/sqrt04.f index b088ba43e..b54c4c7c4 100644 --- a/TESTING/LIN/sqrt04.f +++ b/TESTING/LIN/sqrt04.f @@ -155,7 +155,7 @@ SUBROUTINE SQRT04(M,N,NB,RESULT) 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 @@ SUBROUTINE SQRT04(M,N,NB,RESULT) 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 @@ SUBROUTINE SQRT04(M,N,NB,RESULT) 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 @@ SUBROUTINE SQRT04(M,N,NB,RESULT) 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 @@ SUBROUTINE SQRT04(M,N,NB,RESULT) 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 @@ SUBROUTINE SQRT04(M,N,NB,RESULT) 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 diff --git a/TESTING/LIN/sqrt05.f b/TESTING/LIN/sqrt05.f index 21ec97c1f..4998c0896 100644 --- a/TESTING/LIN/sqrt05.f +++ b/TESTING/LIN/sqrt05.f @@ -180,7 +180,7 @@ SUBROUTINE SQRT05(M,N,L,NB,RESULT) 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 @@ SUBROUTINE SQRT05(M,N,L,NB,RESULT) 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 @@ SUBROUTINE SQRT05(M,N,L,NB,RESULT) 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 @@ SUBROUTINE SQRT05(M,N,L,NB,RESULT) 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 @@ SUBROUTINE SQRT05(M,N,L,NB,RESULT) 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 @@ SUBROUTINE SQRT05(M,N,L,NB,RESULT) 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 diff --git a/TESTING/LIN/sqrt12.f b/TESTING/LIN/sqrt12.f index 128481fdf..afd6b0add 100644 --- a/TESTING/LIN/sqrt12.f +++ b/TESTING/LIN/sqrt12.f @@ -137,7 +137,7 @@ REAL FUNCTION SQRT12( M, N, A, LDA, S, WORK, LWORK ) * Quick return if possible * MN = MIN( M, N ) - IF( MN.LE.ZERO ) + IF( MN.LE.0 ) $ RETURN * NRMSVL = SNRM2( MN, S, 1 ) diff --git a/TESTING/LIN/sqrt16.f b/TESTING/LIN/sqrt16.f index 0c6620e42..49c817095 100644 --- a/TESTING/LIN/sqrt16.f +++ b/TESTING/LIN/sqrt16.f @@ -206,7 +206,7 @@ SUBROUTINE SQRT16( TRANS, M, N, NRHS, A, LDA, X, LDX, B, LDB, RESID = ONE / EPS ELSE RESID = MAX( RESID, ( ( BNORM / ANORM ) / XNORM ) / - $ ( MAX( M, N )*EPS ) ) + $ ( REAL( MAX( M, N ) )*EPS ) ) END IF 10 CONTINUE * diff --git a/TESTING/LIN/stbt05.f b/TESTING/LIN/stbt05.f index 96c0f04d0..c782fb490 100644 --- a/TESTING/LIN/stbt05.f +++ b/TESTING/LIN/stbt05.f @@ -317,7 +317,8 @@ SUBROUTINE STBT05( UPLO, TRANS, DIAG, N, KD, NRHS, AB, LDAB, B, 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 diff --git a/TESTING/LIN/stpt05.f b/TESTING/LIN/stpt05.f index c8c767504..d075148f4 100644 --- a/TESTING/LIN/stpt05.f +++ b/TESTING/LIN/stpt05.f @@ -306,8 +306,8 @@ SUBROUTINE STPT05( UPLO, TRANS, DIAG, N, NRHS, AP, B, LDB, X, LDX, 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 diff --git a/TESTING/LIN/strt05.f b/TESTING/LIN/strt05.f index 7ffb8b6e7..09d54f524 100644 --- a/TESTING/LIN/strt05.f +++ b/TESTING/LIN/strt05.f @@ -305,8 +305,8 @@ SUBROUTINE STRT05( UPLO, TRANS, DIAG, N, NRHS, A, LDA, B, LDB, X, 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 diff --git a/TESTING/LIN/stsqr01.f b/TESTING/LIN/stsqr01.f index 683c165ae..4e2f375af 100644 --- a/TESTING/LIN/stsqr01.f +++ b/TESTING/LIN/stsqr01.f @@ -210,7 +210,7 @@ SUBROUTINE STSQR01(TSSW, M, N, MB, NB, RESULT) 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 @@ SUBROUTINE STSQR01(TSSW, M, N, MB, NB, RESULT) 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 @@ SUBROUTINE STSQR01(TSSW, M, N, MB, NB, RESULT) 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 @@ SUBROUTINE STSQR01(TSSW, M, N, MB, NB, RESULT) 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 @@ SUBROUTINE STSQR01(TSSW, M, N, MB, NB, RESULT) 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 @@ SUBROUTINE STSQR01(TSSW, M, N, MB, NB, RESULT) 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 @@ SUBROUTINE STSQR01(TSSW, M, N, MB, NB, RESULT) 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 @@ SUBROUTINE STSQR01(TSSW, M, N, MB, NB, RESULT) 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 @@ SUBROUTINE STSQR01(TSSW, M, N, MB, NB, RESULT) 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 @@ SUBROUTINE STSQR01(TSSW, M, N, MB, NB, RESULT) 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 @@ SUBROUTINE STSQR01(TSSW, M, N, MB, NB, RESULT) 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 @@ SUBROUTINE STSQR01(TSSW, M, N, MB, NB, RESULT) 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 diff --git a/TESTING/LIN/zebchvxx.f b/TESTING/LIN/zebchvxx.f index b57ce88ec..b2f18bc29 100644 --- a/TESTING/LIN/zebchvxx.f +++ b/TESTING/LIN/zebchvxx.f @@ -120,7 +120,6 @@ SUBROUTINE ZEBCHVXX( THRESH, PATH ) * .. Local Arrays .. DOUBLE PRECISION TSTRAT(NTESTS), RINV(NMAX), PARAMS(NPARAMS), $ S(NMAX),R(NMAX),C(NMAX),RWORK(3*NMAX), - $ DIFF(NMAX, NMAX), $ ERRBND_N(NMAX*3), ERRBND_C(NMAX*3) INTEGER IPIV(NMAX) COMPLEX*16 A(NMAX,NMAX),INVHILB(NMAX,NMAX),X(NMAX,NMAX), @@ -254,13 +253,6 @@ SUBROUTINE ZEBCHVXX( THRESH, PATH ) END IF END IF -* Calculating the difference between Z**SVXX's X and the true X. - DO I = 1,N - DO J =1,NRHS - DIFF(I,J) = X(I,J) - INVHILB(I,J) - END DO - END DO - * Calculating the RCOND RNORM = 0 RINORM = 0