| @@ -319,15 +319,15 @@ | |||
| * elements. | |||
| * | |||
| IF( IZERO.EQ.1 ) THEN | |||
| D( 1 ) = Z( 2 ) | |||
| D( 1 ) = REAL( Z( 2 ) ) | |||
| IF( N.GT.1 ) | |||
| $ E( 1 ) = Z( 3 ) | |||
| ELSE IF( IZERO.EQ.N ) THEN | |||
| E( N-1 ) = Z( 1 ) | |||
| D( N ) = Z( 2 ) | |||
| D( N ) = REAL( Z( 2 ) ) | |||
| ELSE | |||
| E( IZERO-1 ) = Z( 1 ) | |||
| D( IZERO ) = Z( 2 ) | |||
| D( IZERO ) = REAL( Z( 2 ) ) | |||
| E( IZERO ) = Z( 3 ) | |||
| END IF | |||
| END IF | |||
| @@ -31,7 +31,7 @@ | |||
| *> | |||
| *> \verbatim | |||
| *> | |||
| *> CCHKTR tests CTRTRI, -TRS, -RFS, and -CON, and CLATRS | |||
| *> CCHKTR tests CTRTRI, -TRS, -RFS, and -CON, and CLATRS(3) | |||
| *> \endverbatim | |||
| * | |||
| * Arguments: | |||
| @@ -184,7 +184,7 @@ | |||
| INTEGER NTYPE1, NTYPES | |||
| PARAMETER ( NTYPE1 = 10, NTYPES = 18 ) | |||
| INTEGER NTESTS | |||
| PARAMETER ( NTESTS = 9 ) | |||
| PARAMETER ( NTESTS = 10 ) | |||
| INTEGER NTRAN | |||
| PARAMETER ( NTRAN = 3 ) | |||
| REAL ONE, ZERO | |||
| @@ -195,13 +195,13 @@ | |||
| CHARACTER*3 PATH | |||
| INTEGER I, IDIAG, IMAT, IN, INB, INFO, IRHS, ITRAN, | |||
| $ IUPLO, K, LDA, N, NB, NERRS, NFAIL, NRHS, NRUN | |||
| REAL AINVNM, ANORM, DUMMY, RCOND, RCONDC, RCONDI, | |||
| $ RCONDO, SCALE | |||
| REAL AINVNM, ANORM, BIGNUM, DUMMY, RCOND, RCONDC, | |||
| $ RCONDI, RCONDO, RES, SCALE, SLAMCH | |||
| * .. | |||
| * .. Local Arrays .. | |||
| CHARACTER TRANSS( NTRAN ), UPLOS( 2 ) | |||
| INTEGER ISEED( 4 ), ISEEDY( 4 ) | |||
| REAL RESULT( NTESTS ) | |||
| REAL RESULT( NTESTS ), SCALE3( 2 ) | |||
| * .. | |||
| * .. External Functions .. | |||
| LOGICAL LSAME | |||
| @@ -210,9 +210,9 @@ | |||
| * .. | |||
| * .. External Subroutines .. | |||
| EXTERNAL ALAERH, ALAHD, ALASUM, CCOPY, CERRTR, CGET04, | |||
| $ CLACPY, CLARHS, CLATRS, CLATTR, CTRCON, CTRRFS, | |||
| $ CTRT01, CTRT02, CTRT03, CTRT05, CTRT06, CTRTRI, | |||
| $ CTRTRS, XLAENV | |||
| $ CLACPY, CLARHS, CLATRS, CLATRS3, CLATTR, | |||
| $ CSSCAL, CTRCON, CTRRFS, CTRT01, CTRT02, CTRT03, | |||
| $ CTRT05, CTRT06, CTRTRI, CTRTRS, XLAENV, SLAMCH | |||
| * .. | |||
| * .. Scalars in Common .. | |||
| LOGICAL LERR, OK | |||
| @@ -236,6 +236,7 @@ | |||
| * | |||
| PATH( 1: 1 ) = 'Complex precision' | |||
| PATH( 2: 3 ) = 'TR' | |||
| BIGNUM = SLAMCH('Overflow') / SLAMCH('Precision') | |||
| NRUN = 0 | |||
| NFAIL = 0 | |||
| NERRS = 0 | |||
| @@ -380,7 +381,7 @@ | |||
| * This line is needed on a Sun SPARCstation. | |||
| * | |||
| IF( N.GT.0 ) | |||
| $ DUMMY = A( 1 ) | |||
| $ DUMMY = REAL( A( 1 ) ) | |||
| * | |||
| CALL CTRT02( UPLO, TRANS, DIAG, N, NRHS, A, LDA, | |||
| $ X, LDA, B, LDA, WORK, RWORK, | |||
| @@ -535,6 +536,32 @@ | |||
| $ RWORK, ONE, B( N+1 ), LDA, X, LDA, WORK, | |||
| $ RESULT( 9 ) ) | |||
| * | |||
| *+ TEST 10 | |||
| * Solve op(A)*X = B. | |||
| * | |||
| SRNAMT = 'CLATRS3' | |||
| CALL CCOPY( N, X, 1, B, 1 ) | |||
| CALL CCOPY( N, X, 1, B, 1 ) | |||
| CALL CSCAL( N, BIGNUM, B( N+1 ), 1 ) | |||
| CALL CLATRS3( UPLO, TRANS, DIAG, 'N', N, 2, A, LDA, | |||
| $ B, MAX(1, N), SCALE3, RWORK, WORK, NMAX, | |||
| $ INFO ) | |||
| * | |||
| * Check error code from CLATRS3. | |||
| * | |||
| IF( INFO.NE.0 ) | |||
| $ CALL ALAERH( PATH, 'CLATRS3', INFO, 0, | |||
| $ UPLO // TRANS // DIAG // 'Y', N, N, | |||
| $ -1, -1, -1, IMAT, NFAIL, NERRS, NOUT ) | |||
| CALL CTRT03( UPLO, TRANS, DIAG, N, 1, A, LDA, | |||
| $ SCALE3( 1 ), RWORK, ONE, B( 1 ), LDA, | |||
| $ X, LDA, WORK, RESULT( 10 ) ) | |||
| CALL CSSCAL( N, BIGNUM, X, 1 ) | |||
| CALL CTRT03( UPLO, TRANS, DIAG, N, 1, A, LDA, | |||
| $ SCALE3( 2 ), RWORK, ONE, B( N+1 ), LDA, | |||
| $ X, LDA, WORK, RESULT( 10 ) ) | |||
| RESULT( 10 ) = MAX( RESULT( 10 ), RES ) | |||
| * | |||
| * Print information about the tests that did not pass | |||
| * the threshold. | |||
| * | |||
| @@ -552,7 +579,14 @@ | |||
| $ DIAG, 'Y', N, IMAT, 9, RESULT( 9 ) | |||
| NFAIL = NFAIL + 1 | |||
| END IF | |||
| NRUN = NRUN + 2 | |||
| IF( RESULT( 10 ).GE.THRESH ) THEN | |||
| IF( NFAIL.EQ.0 .AND. NERRS.EQ.0 ) | |||
| $ CALL ALAHD( NOUT, PATH ) | |||
| WRITE( NOUT, FMT = 9996 )'CLATRS3', UPLO, TRANS, | |||
| $ DIAG, 'N', N, IMAT, 10, RESULT( 10 ) | |||
| NFAIL = NFAIL + 1 | |||
| END IF | |||
| NRUN = NRUN + 3 | |||
| 90 CONTINUE | |||
| 100 CONTINUE | |||
| 110 CONTINUE | |||
| @@ -307,16 +307,16 @@ | |||
| IZERO = 0 | |||
| ELSE IF( IMAT.EQ.8 ) THEN | |||
| IZERO = 1 | |||
| Z( 2 ) = A( N ) | |||
| Z( 2 ) = REAL( A( N ) ) | |||
| A( N ) = ZERO | |||
| IF( N.GT.1 ) THEN | |||
| Z( 3 ) = A( 1 ) | |||
| Z( 3 ) = REAL( A( 1 ) ) | |||
| A( 1 ) = ZERO | |||
| END IF | |||
| ELSE IF( IMAT.EQ.9 ) THEN | |||
| IZERO = N | |||
| Z( 1 ) = A( 3*N-2 ) | |||
| Z( 2 ) = A( 2*N-1 ) | |||
| Z( 1 ) = REAL( A( 3*N-2 ) ) | |||
| Z( 2 ) = REAL( A( 2*N-1 ) ) | |||
| A( 3*N-2 ) = ZERO | |||
| A( 2*N-1 ) = ZERO | |||
| ELSE | |||
| @@ -336,7 +336,7 @@ | |||
| WORK( J+1 ) = PLUS2 | |||
| WORK( N+J+1 ) = ZERO | |||
| PLUS1 = STAR1 / PLUS2 | |||
| REXP = CLARND( 2, ISEED ) | |||
| REXP = REAL( CLARND( 2, ISEED ) ) | |||
| IF( REXP.LT.ZERO ) THEN | |||
| STAR1 = -SFAC**( ONE-REXP )*CLARND( 5, ISEED ) | |||
| ELSE | |||
| @@ -790,7 +790,7 @@ | |||
| DO 460 J = 1, N / 2 | |||
| JL = JJ | |||
| DO 450 I = J, N - J | |||
| T = AP( JR-I+J ) | |||
| T = REAL( AP( JR-I+J ) ) | |||
| AP( JR-I+J ) = AP( JL ) | |||
| AP( JL ) = T | |||
| JL = JL + I | |||
| @@ -804,7 +804,7 @@ | |||
| DO 480 J = 1, N / 2 | |||
| JR = JJ | |||
| DO 470 I = J, N - J | |||
| T = AP( JL+I-J ) | |||
| T = REAL( AP( JL+I-J ) ) | |||
| AP( JL+I-J ) = AP( JR ) | |||
| AP( JR ) = T | |||
| JR = JR - I | |||
| @@ -201,7 +201,8 @@ | |||
| * | |||
| * Compute the (K,K) element of the result. | |||
| * | |||
| AKK = CDOTC( KLEN+1, AFAC( KC, K ), 1, AFAC( KC, K ), 1 ) | |||
| AKK = REAL( | |||
| $ CDOTC( KLEN+1, AFAC( KC, K ), 1, AFAC( KC, K ), 1 ) ) | |||
| AFAC( KD+1, K ) = AKK | |||
| * | |||
| * Compute the rest of column K. | |||
| @@ -228,7 +229,7 @@ | |||
| * | |||
| * Scale column K by the diagonal element. | |||
| * | |||
| AKK = AFAC( 1, K ) | |||
| AKK = REAL( AFAC( 1, K ) ) | |||
| CALL CSSCAL( KLEN+1, AKK, AFAC( 1, K ), 1 ) | |||
| * | |||
| 40 CONTINUE | |||
| @@ -176,7 +176,7 @@ | |||
| * | |||
| * Compute the (K,K) element of the result. | |||
| * | |||
| TR = CDOTC( K, AFAC( 1, K ), 1, AFAC( 1, K ), 1 ) | |||
| TR = REAL( CDOTC( K, AFAC( 1, K ), 1, AFAC( 1, K ), 1 ) ) | |||
| AFAC( K, K ) = TR | |||
| * | |||
| * Compute the rest of column K. | |||
| @@ -224,7 +224,7 @@ | |||
| 70 CONTINUE | |||
| END IF | |||
| * | |||
| * Compute norm( L*U - A ) / ( N * norm(A) * EPS ) | |||
| * Compute norm(L*U - A) / ( N * norm(A) * EPS ) | |||
| * | |||
| RESID = CLANHE( '1', UPLO, N, AFAC, LDAFAC, RWORK ) | |||
| * | |||
| @@ -178,7 +178,7 @@ | |||
| * | |||
| * Compute the (K,K) element of the result. | |||
| * | |||
| TR = CDOTC( K, AFAC( KC ), 1, AFAC( KC ), 1 ) | |||
| TR = REAL( CDOTC( K, AFAC( KC ), 1, AFAC( KC ), 1 ) ) | |||
| AFAC( KC+K-1 ) = TR | |||
| * | |||
| * Compute the rest of column K. | |||
| @@ -219,7 +219,7 @@ | |||
| * | |||
| * Compute the (K,K) element of the result. | |||
| * | |||
| TR = CDOTC( K, AFAC( 1, K ), 1, AFAC( 1, K ), 1 ) | |||
| TR = REAL( CDOTC( K, AFAC( 1, K ), 1, AFAC( 1, K ), 1 ) ) | |||
| AFAC( K, K ) = TR | |||
| * | |||
| * Compute the rest of column K. | |||
| @@ -319,15 +319,15 @@ | |||
| * elements. | |||
| * | |||
| IF( IZERO.EQ.1 ) THEN | |||
| D( 1 ) = Z( 2 ) | |||
| D( 1 ) = DBLE( Z( 2 ) ) | |||
| IF( N.GT.1 ) | |||
| $ E( 1 ) = Z( 3 ) | |||
| ELSE IF( IZERO.EQ.N ) THEN | |||
| E( N-1 ) = Z( 1 ) | |||
| D( N ) = Z( 2 ) | |||
| D( N ) = DBLE( Z( 2 ) ) | |||
| ELSE | |||
| E( IZERO-1 ) = Z( 1 ) | |||
| D( IZERO ) = Z( 2 ) | |||
| D( IZERO ) = DBLE( Z( 2 ) ) | |||
| E( IZERO ) = Z( 3 ) | |||
| END IF | |||
| END IF | |||
| @@ -31,7 +31,7 @@ | |||
| *> | |||
| *> \verbatim | |||
| *> | |||
| *> ZCHKTR tests ZTRTRI, -TRS, -RFS, and -CON, and ZLATRS | |||
| *> ZCHKTR tests ZTRTRI, -TRS, -RFS, and -CON, and ZLATRS(3) | |||
| *> \endverbatim | |||
| * | |||
| * Arguments: | |||
| @@ -184,7 +184,7 @@ | |||
| INTEGER NTYPE1, NTYPES | |||
| PARAMETER ( NTYPE1 = 10, NTYPES = 18 ) | |||
| INTEGER NTESTS | |||
| PARAMETER ( NTESTS = 9 ) | |||
| PARAMETER ( NTESTS = 10 ) | |||
| INTEGER NTRAN | |||
| PARAMETER ( NTRAN = 3 ) | |||
| DOUBLE PRECISION ONE, ZERO | |||
| @@ -195,13 +195,13 @@ | |||
| CHARACTER*3 PATH | |||
| INTEGER I, IDIAG, IMAT, IN, INB, INFO, IRHS, ITRAN, | |||
| $ IUPLO, K, LDA, N, NB, NERRS, NFAIL, NRHS, NRUN | |||
| DOUBLE PRECISION AINVNM, ANORM, DUMMY, RCOND, RCONDC, RCONDI, | |||
| $ RCONDO, SCALE | |||
| DOUBLE PRECISION AINVNM, ANORM, BIGNUM, DUMMY, RCOND, RCONDC, | |||
| $ RCONDI, RCONDO, RES, SCALE, DLAMCH | |||
| * .. | |||
| * .. Local Arrays .. | |||
| CHARACTER TRANSS( NTRAN ), UPLOS( 2 ) | |||
| INTEGER ISEED( 4 ), ISEEDY( 4 ) | |||
| DOUBLE PRECISION RESULT( NTESTS ) | |||
| DOUBLE PRECISION RESULT( NTESTS ), SCALE3( 2 ) | |||
| * .. | |||
| * .. External Functions .. | |||
| LOGICAL LSAME | |||
| @@ -209,10 +209,10 @@ | |||
| EXTERNAL LSAME, ZLANTR | |||
| * .. | |||
| * .. External Subroutines .. | |||
| EXTERNAL ALAERH, ALAHD, ALASUM, XLAENV, ZCOPY, ZERRTR, | |||
| $ ZGET04, ZLACPY, ZLARHS, ZLATRS, ZLATTR, ZTRCON, | |||
| $ ZTRRFS, ZTRT01, ZTRT02, ZTRT03, ZTRT05, ZTRT06, | |||
| $ ZTRTRI, ZTRTRS | |||
| EXTERNAL ALAERH, ALAHD, ALASUM, DLAMCH, XLAENV, ZCOPY, | |||
| $ ZDSCAL, ZERRTR, ZGET04, ZLACPY, ZLARHS, ZLATRS, | |||
| $ ZLATRS3, ZLATTR, ZTRCON, ZTRRFS, ZTRT01, | |||
| $ ZTRT02, ZTRT03, ZTRT05, ZTRT06, ZTRTRI, ZTRTRS | |||
| * .. | |||
| * .. Scalars in Common .. | |||
| LOGICAL LERR, OK | |||
| @@ -236,6 +236,7 @@ | |||
| * | |||
| PATH( 1: 1 ) = 'Zomplex precision' | |||
| PATH( 2: 3 ) = 'TR' | |||
| BIGNUM = DLAMCH('Overflow') / DLAMCH('Precision') | |||
| NRUN = 0 | |||
| NFAIL = 0 | |||
| NERRS = 0 | |||
| @@ -380,7 +381,7 @@ | |||
| * This line is needed on a Sun SPARCstation. | |||
| * | |||
| IF( N.GT.0 ) | |||
| $ DUMMY = A( 1 ) | |||
| $ DUMMY = DBLE( A( 1 ) ) | |||
| * | |||
| CALL ZTRT02( UPLO, TRANS, DIAG, N, NRHS, A, LDA, | |||
| $ X, LDA, B, LDA, WORK, RWORK, | |||
| @@ -535,6 +536,32 @@ | |||
| $ RWORK, ONE, B( N+1 ), LDA, X, LDA, WORK, | |||
| $ RESULT( 9 ) ) | |||
| * | |||
| *+ TEST 10 | |||
| * Solve op(A)*X = B | |||
| * | |||
| SRNAMT = 'ZLATRS3' | |||
| CALL ZCOPY( N, X, 1, B, 1 ) | |||
| CALL ZCOPY( N, X, 1, B( N+1 ), 1 ) | |||
| CALL ZDSCAL( N, BIGNUM, B( N+1 ), 1 ) | |||
| CALL ZLATRS3( UPLO, TRANS, DIAG, 'N', N, 2, A, LDA, | |||
| $ B, MAX(1, N), SCALE3, RWORK, WORK, NMAX, | |||
| $ INFO ) | |||
| * | |||
| * Check error code from ZLATRS3. | |||
| * | |||
| IF( INFO.NE.0 ) | |||
| $ CALL ALAERH( PATH, 'ZLATRS3', INFO, 0, | |||
| $ UPLO // TRANS // DIAG // 'N', N, N, | |||
| $ -1, -1, -1, IMAT, NFAIL, NERRS, NOUT ) | |||
| CALL ZTRT03( UPLO, TRANS, DIAG, N, 1, A, LDA, | |||
| $ SCALE3( 1 ), RWORK, ONE, B( 1 ), LDA, | |||
| $ X, LDA, WORK, RESULT( 10 ) ) | |||
| CALL ZDSCAL( N, BIGNUM, X, 1 ) | |||
| CALL ZTRT03( UPLO, TRANS, DIAG, N, 1, A, LDA, | |||
| $ SCALE3( 2 ), RWORK, ONE, B( N+1 ), LDA, | |||
| $ X, LDA, WORK, RES ) | |||
| RESULT( 10 ) = MAX( RESULT( 10 ), RES ) | |||
| * | |||
| * Print information about the tests that did not pass | |||
| * the threshold. | |||
| * | |||
| @@ -552,7 +579,14 @@ | |||
| $ DIAG, 'Y', N, IMAT, 9, RESULT( 9 ) | |||
| NFAIL = NFAIL + 1 | |||
| END IF | |||
| NRUN = NRUN + 2 | |||
| IF( RESULT( 10 ).GE.THRESH ) THEN | |||
| IF( NFAIL.EQ.0 .AND. NERRS.EQ.0 ) | |||
| $ CALL ALAHD( NOUT, PATH ) | |||
| WRITE( NOUT, FMT = 9996 )'ZLATRS3', UPLO, TRANS, | |||
| $ DIAG, 'N', N, IMAT, 10, RESULT( 10 ) | |||
| NFAIL = NFAIL + 1 | |||
| END IF | |||
| NRUN = NRUN + 3 | |||
| 90 CONTINUE | |||
| 100 CONTINUE | |||
| 110 CONTINUE | |||
| @@ -565,8 +599,8 @@ | |||
| 9999 FORMAT( ' UPLO=''', A1, ''', DIAG=''', A1, ''', N=', I5, ', NB=', | |||
| $ I4, ', type ', I2, ', test(', I2, ')= ', G12.5 ) | |||
| 9998 FORMAT( ' UPLO=''', A1, ''', TRANS=''', A1, ''', DIAG=''', A1, | |||
| $ ''', N=', I5, ', NB=', I4, ', type ', I2, ', | |||
| $ test(', I2, ')= ', G12.5 ) | |||
| $ ''', N=', I5, ', NB=', I4, ', type ', I2, ', test(', | |||
| $ I2, ')= ', G12.5 ) | |||
| 9997 FORMAT( ' NORM=''', A1, ''', UPLO =''', A1, ''', N=', I5, ',', | |||
| $ 11X, ' type ', I2, ', test(', I2, ')=', G12.5 ) | |||
| 9996 FORMAT( 1X, A, '( ''', A1, ''', ''', A1, ''', ''', A1, ''', ''', | |||
| @@ -307,16 +307,16 @@ | |||
| IZERO = 0 | |||
| ELSE IF( IMAT.EQ.8 ) THEN | |||
| IZERO = 1 | |||
| Z( 2 ) = A( N ) | |||
| Z( 2 ) = DBLE( A( N ) ) | |||
| A( N ) = ZERO | |||
| IF( N.GT.1 ) THEN | |||
| Z( 3 ) = A( 1 ) | |||
| Z( 3 ) = DBLE( A( 1 ) ) | |||
| A( 1 ) = ZERO | |||
| END IF | |||
| ELSE IF( IMAT.EQ.9 ) THEN | |||
| IZERO = N | |||
| Z( 1 ) = A( 3*N-2 ) | |||
| Z( 2 ) = A( 2*N-1 ) | |||
| Z( 1 ) = DBLE( A( 3*N-2 ) ) | |||
| Z( 2 ) = DBLE( A( 2*N-1 ) ) | |||
| A( 3*N-2 ) = ZERO | |||
| A( 2*N-1 ) = ZERO | |||
| ELSE | |||
| @@ -266,12 +266,12 @@ | |||
| * | |||
| IA = 1 | |||
| DO 20 I = 1, N - 1 | |||
| D( I ) = A( IA ) | |||
| D( I ) = DBLE( A( IA ) ) | |||
| E( I ) = A( IA+1 ) | |||
| IA = IA + 2 | |||
| 20 CONTINUE | |||
| IF( N.GT.0 ) | |||
| $ D( N ) = A( IA ) | |||
| $ D( N ) = DBLE( A( IA ) ) | |||
| ELSE | |||
| * | |||
| * Type 7-12: generate a diagonally dominant matrix with | |||
| @@ -333,13 +333,13 @@ | |||
| Z( 2 ) = D( 1 ) | |||
| D( 1 ) = ZERO | |||
| IF( N.GT.1 ) THEN | |||
| Z( 3 ) = E( 1 ) | |||
| Z( 3 ) = DBLE( E( 1 ) ) | |||
| E( 1 ) = ZERO | |||
| END IF | |||
| ELSE IF( IMAT.EQ.9 ) THEN | |||
| IZERO = N | |||
| IF( N.GT.1 ) THEN | |||
| Z( 1 ) = E( N-1 ) | |||
| Z( 1 ) = DBLE( E( N-1 ) ) | |||
| E( N-1 ) = ZERO | |||
| END IF | |||
| Z( 2 ) = D( N ) | |||
| @@ -347,9 +347,9 @@ | |||
| ELSE IF( IMAT.EQ.10 ) THEN | |||
| IZERO = ( N+1 ) / 2 | |||
| IF( IZERO.GT.1 ) THEN | |||
| Z( 1 ) = E( IZERO-1 ) | |||
| Z( 1 ) = DBLE( E( IZERO-1 ) ) | |||
| E( IZERO-1 ) = ZERO | |||
| Z( 3 ) = E( IZERO ) | |||
| Z( 3 ) = DBLE( E( IZERO ) ) | |||
| E( IZERO ) = ZERO | |||
| END IF | |||
| Z( 2 ) = D( IZERO ) | |||
| @@ -336,7 +336,7 @@ | |||
| WORK( J+1 ) = PLUS2 | |||
| WORK( N+J+1 ) = ZERO | |||
| PLUS1 = STAR1 / PLUS2 | |||
| REXP = ZLARND( 2, ISEED ) | |||
| REXP = DBLE( ZLARND( 2, ISEED ) ) | |||
| IF( REXP.LT.ZERO ) THEN | |||
| STAR1 = -SFAC**( ONE-REXP )*ZLARND( 5, ISEED ) | |||
| ELSE | |||
| @@ -790,7 +790,7 @@ | |||
| DO 460 J = 1, N / 2 | |||
| JL = JJ | |||
| DO 450 I = J, N - J | |||
| T = AP( JR-I+J ) | |||
| T = DBLE( AP( JR-I+J ) ) | |||
| AP( JR-I+J ) = AP( JL ) | |||
| AP( JL ) = T | |||
| JL = JL + I | |||
| @@ -804,7 +804,7 @@ | |||
| DO 480 J = 1, N / 2 | |||
| JR = JJ | |||
| DO 470 I = J, N - J | |||
| T = AP( JL+I-J ) | |||
| T = DBLE( AP( JL+I-J ) ) | |||
| AP( JL+I-J ) = AP( JR ) | |||
| AP( JR ) = T | |||
| JR = JR - I | |||
| @@ -201,7 +201,8 @@ | |||
| * | |||
| * Compute the (K,K) element of the result. | |||
| * | |||
| AKK = ZDOTC( KLEN+1, AFAC( KC, K ), 1, AFAC( KC, K ), 1 ) | |||
| AKK = DBLE( | |||
| $ ZDOTC( KLEN+1, AFAC( KC, K ), 1, AFAC( KC, K ), 1 ) ) | |||
| AFAC( KD+1, K ) = AKK | |||
| * | |||
| * Compute the rest of column K. | |||
| @@ -228,7 +229,7 @@ | |||
| * | |||
| * Scale column K by the diagonal element. | |||
| * | |||
| AKK = AFAC( 1, K ) | |||
| AKK = DBLE( AFAC( 1, K ) ) | |||
| CALL ZDSCAL( KLEN+1, AKK, AFAC( 1, K ), 1 ) | |||
| * | |||
| 40 CONTINUE | |||
| @@ -176,7 +176,7 @@ | |||
| * | |||
| * Compute the (K,K) element of the result. | |||
| * | |||
| TR = ZDOTC( K, AFAC( 1, K ), 1, AFAC( 1, K ), 1 ) | |||
| TR = DBLE( ZDOTC( K, AFAC( 1, K ), 1, AFAC( 1, K ), 1 ) ) | |||
| AFAC( K, K ) = TR | |||
| * | |||
| * Compute the rest of column K. | |||
| @@ -224,7 +224,7 @@ | |||
| 70 CONTINUE | |||
| END IF | |||
| * | |||
| * Compute norm( L*U - A ) / ( N * norm(A) * EPS ) | |||
| * Compute norm(L*U - A) / ( N * norm(A) * EPS ) | |||
| * | |||
| RESID = ZLANHE( '1', UPLO, N, AFAC, LDAFAC, RWORK ) | |||
| * | |||
| @@ -178,7 +178,7 @@ | |||
| * | |||
| * Compute the (K,K) element of the result. | |||
| * | |||
| TR = ZDOTC( K, AFAC( KC ), 1, AFAC( KC ), 1 ) | |||
| TR = DBLE( ZDOTC( K, AFAC( KC ), 1, AFAC( KC ), 1 ) ) | |||
| AFAC( KC+K-1 ) = TR | |||
| * | |||
| * Compute the rest of column K. | |||
| @@ -219,7 +219,7 @@ | |||
| * | |||
| * Compute the (K,K) element of the result. | |||
| * | |||
| TR = ZDOTC( K, AFAC( 1, K ), 1, AFAC( 1, K ), 1 ) | |||
| TR = DBLE( ZDOTC( K, AFAC( 1, K ), 1, AFAC( 1, K ), 1 ) ) | |||
| AFAC( K, K ) = TR | |||
| * | |||
| * Compute the rest of column K. | |||