Skip to content

Commit 423efc0

Browse files
committed
add the two-stage Aasen's testers
1 parent d1ac802 commit 423efc0

3 files changed

Lines changed: 88 additions & 3 deletions

File tree

TESTING/LIN/cchkaa.f

Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -708,7 +708,34 @@ PROGRAM CCHKAA
708708
*
709709
IF( TSTCHK ) THEN
710710
CALL CCHKHE_AA( DOTYPE, NN, NVAL, NNB2, NBVAL2, NNS,
711-
$ NSVAL, THRESH, TSTERR, LDA,
711+
$ NSVAL, THRESH, TSTERR, LDA,
712+
$ A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
713+
$ B( 1, 1 ), B( 1, 2 ), B( 1, 3 ),
714+
$ WORK, RWORK, IWORK, NOUT )
715+
ELSE
716+
WRITE( NOUT, FMT = 9989 )PATH
717+
END IF
718+
*
719+
IF( TSTDRV ) THEN
720+
CALL CDRVHE_AA( DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR,
721+
$ LDA, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
722+
$ B( 1, 1 ), B( 1, 2 ), B( 1, 3 ),
723+
$ WORK, RWORK, IWORK, NOUT )
724+
ELSE
725+
WRITE( NOUT, FMT = 9988 )PATH
726+
END IF
727+
*
728+
ELSE IF( LSAMEN( 2, C2, 'S2' ) ) THEN
729+
*
730+
* SA: symmetric indefinite matrices,
731+
* with partial (Aasen's) pivoting algorithm
732+
*
733+
NTYPES = 10
734+
CALL ALAREQ( PATH, NMATS, DOTYPE, NTYPES, NIN, NOUT )
735+
*
736+
IF( TSTCHK ) THEN
737+
CALL CCHKHE_AA_2STAGE( DOTYPE, NN, NVAL, NNB2, NBVAL2,
738+
$ NNS, NSVAL, THRESH, TSTERR, LDA,
712739
$ A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
713740
$ B( 1, 1 ), B( 1, 2 ), B( 1, 3 ),
714741
$ WORK, RWORK, IWORK, NOUT )
@@ -717,7 +744,8 @@ PROGRAM CCHKAA
717744
END IF
718745
*
719746
IF( TSTDRV ) THEN
720-
CALL CDRVHE_AA( DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR,
747+
CALL CDRVHE_AA_2STAGE(
748+
$ DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR,
721749
$ LDA, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
722750
$ B( 1, 1 ), B( 1, 2 ), B( 1, 3 ),
723751
$ WORK, RWORK, IWORK, NOUT )

TESTING/LIN/dchkaa.f

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ PROGRAM DCHKAA
149149
$ RANKVAL( MAXIN ), PIV( NMAX )
150150
DOUBLE PRECISION A( ( KDMAX+1 )*NMAX, 7 ), B( NMAX*MAXRHS, 4 ),
151151
$ E( NMAX ), RWORK( 5*NMAX+2*MAXRHS ),
152-
$ S( 2*NMAX ), WORK( NMAX, NMAX+MAXRHS+30 )
152+
$ S( 2*NMAX ), WORK( NMAX, 3*NMAX+MAXRHS+30 )
153153
* ..
154154
* .. External Functions ..
155155
LOGICAL LSAME, LSAMEN
@@ -723,6 +723,35 @@ PROGRAM DCHKAA
723723
WRITE( NOUT, FMT = 9988 )PATH
724724
END IF
725725
*
726+
*
727+
ELSE IF( LSAMEN( 2, C2, 'S2' ) ) THEN
728+
*
729+
* SA: symmetric indefinite matrices,
730+
* with partial (Aasen's) pivoting algorithm
731+
*
732+
NTYPES = 10
733+
CALL ALAREQ( PATH, NMATS, DOTYPE, NTYPES, NIN, NOUT )
734+
*
735+
IF( TSTCHK ) THEN
736+
CALL DCHKSY_AA_2STAGE( DOTYPE, NN, NVAL, NNB2, NBVAL2,
737+
$ NNS, NSVAL, THRESH, TSTERR, LDA,
738+
$ A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
739+
$ B( 1, 1 ), B( 1, 2 ), B( 1, 3 ),
740+
$ WORK, RWORK, IWORK, NOUT )
741+
ELSE
742+
WRITE( NOUT, FMT = 9989 )PATH
743+
END IF
744+
*
745+
IF( TSTDRV ) THEN
746+
CALL DDRVSY_AA_2STAGE(
747+
$ DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR,
748+
$ LDA, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
749+
$ B( 1, 1 ), B( 1, 2 ), B( 1, 3 ),
750+
$ WORK, RWORK, IWORK, NOUT )
751+
ELSE
752+
WRITE( NOUT, FMT = 9988 )PATH
753+
END IF
754+
*
726755
*
727756
ELSE IF( LSAMEN( 2, C2, 'SP' ) ) THEN
728757
*

TESTING/LIN/schkaa.f

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -720,6 +720,34 @@ PROGRAM SCHKAA
720720
ELSE
721721
WRITE( NOUT, FMT = 9988 )PATH
722722
END IF
723+
*
724+
ELSE IF( LSAMEN( 2, C2, 'S2' ) ) THEN
725+
*
726+
* SA: symmetric indefinite matrices,
727+
* with partial (Aasen's) pivoting algorithm
728+
*
729+
NTYPES = 10
730+
CALL ALAREQ( PATH, NMATS, DOTYPE, NTYPES, NIN, NOUT )
731+
*
732+
IF( TSTCHK ) THEN
733+
CALL SCHKSY_AA_2STAGE( DOTYPE, NN, NVAL, NNB2, NBVAL2,
734+
$ NNS, NSVAL, THRESH, TSTERR, LDA,
735+
$ A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
736+
$ B( 1, 1 ), B( 1, 2 ), B( 1, 3 ),
737+
$ WORK, RWORK, IWORK, NOUT )
738+
ELSE
739+
WRITE( NOUT, FMT = 9989 )PATH
740+
END IF
741+
*
742+
IF( TSTDRV ) THEN
743+
CALL SDRVSY_AA_2STAGE(
744+
$ DOTYPE, NN, NVAL, NRHS, THRESH, TSTERR,
745+
$ LDA, A( 1, 1 ), A( 1, 2 ), A( 1, 3 ),
746+
$ B( 1, 1 ), B( 1, 2 ), B( 1, 3 ),
747+
$ WORK, RWORK, IWORK, NOUT )
748+
ELSE
749+
WRITE( NOUT, FMT = 9988 )PATH
750+
END IF
723751
*
724752
ELSE IF( LSAMEN( 2, C2, 'SP' ) ) THEN
725753
*

0 commit comments

Comments
 (0)