Reduce stack size requirements in the LAPACK LIN tests (LAPACK PR 553)tags/v0.3.16^2
| @@ -6,7 +6,7 @@ set(SCLNTST slaord.f) | |||
| set(DZLNTST dlaord.f) | |||
| set(SLINTST schkaa.f | |||
| set(SLINTST schkaa.F | |||
| schkeq.f schkgb.f schkge.f schkgt.f | |||
| schklq.f schkpb.f schkpo.f schkps.f schkpp.f | |||
| schkpt.f schkq3.f schkql.f schkqr.f schkrq.f | |||
| @@ -51,7 +51,7 @@ else() | |||
| serrvx.f serrge.f serrsy.f serrpo.f) | |||
| endif() | |||
| set(CLINTST cchkaa.f | |||
| set(CLINTST cchkaa.F | |||
| cchkeq.f cchkgb.f cchkge.f cchkgt.f | |||
| cchkhe.f cchkhe_rook.f cchkhe_rk.f | |||
| cchkhe_aa.f cchkhe_aa_2stage.f | |||
| @@ -107,7 +107,7 @@ else() | |||
| cerrvx.f cerrge.f cerrhe.f cerrsy.f cerrpo.f) | |||
| endif() | |||
| set(DLINTST dchkaa.f | |||
| set(DLINTST dchkaa.F | |||
| dchkeq.f dchkgb.f dchkge.f dchkgt.f | |||
| dchklq.f dchkpb.f dchkpo.f dchkps.f dchkpp.f | |||
| dchkpt.f dchkq3.f dchkql.f dchkqr.f dchkrq.f | |||
| @@ -153,7 +153,7 @@ else() | |||
| derrvx.f derrge.f derrsy.f derrpo.f) | |||
| endif() | |||
| set(ZLINTST zchkaa.f | |||
| set(ZLINTST zchkaa.F | |||
| zchkeq.f zchkgb.f zchkge.f zchkgt.f | |||
| zchkhe.f zchkhe_rook.f zchkhe_rk.f | |||
| zchkhe_aa.f zchkhe_aa_2stage.f | |||
| @@ -317,13 +317,13 @@ cleanobj: | |||
| cleanexe: | |||
| rm -f xlintst* | |||
| schkaa.o: schkaa.f | |||
| schkaa.o: schkaa.F | |||
| $(FC) $(FFLAGS_DRV) -c -o $@ $< | |||
| dchkaa.o: dchkaa.f | |||
| dchkaa.o: dchkaa.F | |||
| $(FC) $(FFLAGS_DRV) -c -o $@ $< | |||
| cchkaa.o: cchkaa.f | |||
| cchkaa.o: cchkaa.F | |||
| $(FC) $(FFLAGS_DRV) -c -o $@ $< | |||
| zchkaa.o: zchkaa.f | |||
| zchkaa.o: zchkaa.F | |||
| $(FC) $(FFLAGS_DRV) -c -o $@ $< | |||
| .NOTPARALLEL: | |||
| @@ -110,17 +110,14 @@ | |||
| *> \author Univ. of Colorado Denver | |||
| *> \author NAG Ltd. | |||
| * | |||
| *> \date November 2019 | |||
| * | |||
| *> \ingroup complex_lin | |||
| * | |||
| * ===================================================================== | |||
| PROGRAM CCHKAA | |||
| * | |||
| * -- LAPACK test routine (version 3.9.0) -- | |||
| * -- LAPACK test routine -- | |||
| * -- LAPACK is a software package provided by Univ. of Tennessee, -- | |||
| * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- | |||
| * November 2017 | |||
| * | |||
| * ===================================================================== | |||
| * | |||
| @@ -156,9 +153,13 @@ | |||
| $ NBVAL( MAXIN ), NBVAL2( MAXIN ), | |||
| $ NSVAL( MAXIN ), NVAL( MAXIN ), NXVAL( MAXIN ), | |||
| $ RANKVAL( MAXIN ), PIV( NMAX ) | |||
| REAL RWORK( 150*NMAX+2*MAXRHS ), S( 2*NMAX ) | |||
| COMPLEX A( ( KDMAX+1 )*NMAX, 7 ), B( NMAX*MAXRHS, 4 ), | |||
| $ E( NMAX ), WORK( NMAX, NMAX+MAXRHS+10 ) | |||
| REAL S( 2*NMAX ) | |||
| COMPLEX E( NMAX ) | |||
| * .. | |||
| * .. Allocatable Arrays .. | |||
| INTEGER AllocateStatus | |||
| REAL, DIMENSION(:), ALLOCATABLE :: RWORK | |||
| COMPLEX, DIMENSION(:,:), ALLOCATABLE :: A, B, WORK | |||
| * .. | |||
| * .. External Functions .. | |||
| LOGICAL LSAME, LSAMEN | |||
| @@ -194,6 +195,17 @@ | |||
| * .. Data statements .. | |||
| DATA THREQ / 2.0 / , INTSTR / '0123456789' / | |||
| * .. | |||
| * .. Allocate memory dynamically .. | |||
| * | |||
| ALLOCATE ( A( ( KDMAX+1 )*NMAX, 7 ), STAT = AllocateStatus ) | |||
| IF (AllocateStatus /= 0) STOP "*** Not enough memory ***" | |||
| ALLOCATE ( B( NMAX*MAXRHS, 4 ), STAT = AllocateStatus ) | |||
| IF (AllocateStatus /= 0) STOP "*** Not enough memory ***" | |||
| ALLOCATE ( WORK( NMAX, NMAX+MAXRHS+10 ), STAT = AllocateStatus ) | |||
| IF (AllocateStatus /= 0) STOP "*** Not enough memory ***" | |||
| ALLOCATE ( RWORK( 150*NMAX+2*MAXRHS ), STAT = AllocateStatus ) | |||
| IF (AllocateStatus /= 0) STOP "*** Not enough memory ***" | |||
| * .. | |||
| * .. Executable Statements .. | |||
| * | |||
| S1 = SECOND( ) | |||
| @@ -1196,6 +1208,11 @@ | |||
| S2 = SECOND( ) | |||
| WRITE( NOUT, FMT = 9998 ) | |||
| WRITE( NOUT, FMT = 9997 )S2 - S1 | |||
| * | |||
| DEALLOCATE (A, STAT = AllocateStatus) | |||
| DEALLOCATE (B, STAT = AllocateStatus) | |||
| DEALLOCATE (WORK, STAT = AllocateStatus) | |||
| DEALLOCATE (RWORK, STAT = AllocateStatus) | |||
| * | |||
| 9999 FORMAT( / ' Execution not attempted due to input errors' ) | |||
| 9998 FORMAT( / ' End of tests' ) | |||
| @@ -106,17 +106,14 @@ | |||
| *> \author Univ. of Colorado Denver | |||
| *> \author NAG Ltd. | |||
| * | |||
| *> \date November 2019 | |||
| * | |||
| *> \ingroup double_lin | |||
| * | |||
| * ===================================================================== | |||
| PROGRAM DCHKAA | |||
| * | |||
| * -- LAPACK test routine (version 3.9.0) -- | |||
| * -- LAPACK test routine -- | |||
| * -- LAPACK is a software package provided by Univ. of Tennessee, -- | |||
| * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- | |||
| * Novemebr 2019 | |||
| * | |||
| * ===================================================================== | |||
| * | |||
| @@ -152,9 +149,12 @@ | |||
| $ NBVAL( MAXIN ), NBVAL2( MAXIN ), | |||
| $ NSVAL( MAXIN ), NVAL( MAXIN ), NXVAL( MAXIN ), | |||
| $ RANKVAL( MAXIN ), PIV( NMAX ) | |||
| DOUBLE PRECISION A( ( KDMAX+1 )*NMAX, 7 ), B( NMAX*MAXRHS, 4 ), | |||
| $ E( NMAX ), RWORK( 5*NMAX+2*MAXRHS ), | |||
| $ S( 2*NMAX ), WORK( NMAX, 3*NMAX+MAXRHS+30 ) | |||
| DOUBLE PRECISION E( NMAX ), S( 2*NMAX ) | |||
| * .. | |||
| * .. Allocatable Arrays .. | |||
| INTEGER AllocateStatus | |||
| DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: RWORK | |||
| DOUBLE PRECISION, DIMENSION(:,:), ALLOCATABLE :: A, B, WORK | |||
| * .. | |||
| * .. External Functions .. | |||
| LOGICAL LSAME, LSAMEN | |||
| @@ -188,6 +188,18 @@ | |||
| * .. Data statements .. | |||
| DATA THREQ / 2.0D0 / , INTSTR / '0123456789' / | |||
| * .. | |||
| * .. | |||
| * .. Allocate memory dynamically .. | |||
| * | |||
| ALLOCATE ( A( ( KDMAX+1 )*NMAX, 7 ), STAT = AllocateStatus ) | |||
| IF (AllocateStatus /= 0) STOP "*** Not enough memory ***" | |||
| ALLOCATE ( B( NMAX*MAXRHS, 4 ), STAT = AllocateStatus ) | |||
| IF (AllocateStatus /= 0) STOP "*** Not enough memory ***" | |||
| ALLOCATE ( WORK( NMAX, 3*NMAX+MAXRHS+30 ), STAT = AllocateStatus ) | |||
| IF (AllocateStatus /= 0) STOP "*** Not enough memory ***" | |||
| ALLOCATE ( RWORK( 5*NMAX+2*MAXRHS ), STAT = AllocateStatus ) | |||
| IF (AllocateStatus /= 0) STOP "*** Not enough memory ***" | |||
| * | |||
| * .. Executable Statements .. | |||
| * | |||
| S1 = DSECND( ) | |||
| @@ -677,7 +689,7 @@ | |||
| * | |||
| * SK: symmetric indefinite matrices, | |||
| * with bounded Bunch-Kaufman (rook) pivoting algorithm, | |||
| * differnet matrix storage format than SR path version. | |||
| * different matrix storage format than SR path version. | |||
| * | |||
| NTYPES = 10 | |||
| CALL ALAREQ( PATH, NMATS, DOTYPE, NTYPES, NIN, NOUT ) | |||
| @@ -1039,6 +1051,11 @@ | |||
| S2 = DSECND( ) | |||
| WRITE( NOUT, FMT = 9998 ) | |||
| WRITE( NOUT, FMT = 9997 )S2 - S1 | |||
| * | |||
| DEALLOCATE (A, STAT = AllocateStatus) | |||
| DEALLOCATE (B, STAT = AllocateStatus) | |||
| DEALLOCATE (WORK, STAT = AllocateStatus) | |||
| DEALLOCATE (RWORK, STAT = AllocateStatus) | |||
| * | |||
| 9999 FORMAT( / ' Execution not attempted due to input errors' ) | |||
| 9998 FORMAT( / ' End of tests' ) | |||
| @@ -104,17 +104,14 @@ | |||
| *> \author Univ. of Colorado Denver | |||
| *> \author NAG Ltd. | |||
| * | |||
| *> \date November 2019 | |||
| * | |||
| *> \ingroup single_lin | |||
| * | |||
| * ===================================================================== | |||
| PROGRAM SCHKAA | |||
| * | |||
| * -- LAPACK test routine (version 3.9.0) -- | |||
| * -- LAPACK test routine -- | |||
| * -- LAPACK is a software package provided by Univ. of Tennessee, -- | |||
| * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- | |||
| * November 2019 | |||
| * | |||
| * ===================================================================== | |||
| * | |||
| @@ -150,9 +147,12 @@ | |||
| $ NBVAL( MAXIN ), NBVAL2( MAXIN ), | |||
| $ NSVAL( MAXIN ), NVAL( MAXIN ), NXVAL( MAXIN ), | |||
| $ RANKVAL( MAXIN ), PIV( NMAX ) | |||
| REAL A( ( KDMAX+1 )*NMAX, 7 ), B( NMAX*MAXRHS, 4 ), | |||
| $ E( NMAX ), RWORK( 5*NMAX+2*MAXRHS ), | |||
| $ S( 2*NMAX ), WORK( NMAX, NMAX+MAXRHS+30 ) | |||
| REAL E( NMAX ), S( 2*NMAX ) | |||
| * .. | |||
| * .. Allocatable Arrays .. | |||
| INTEGER AllocateStatus | |||
| REAL, DIMENSION(:), ALLOCATABLE :: RWORK | |||
| REAL, DIMENSION(:,:), ALLOCATABLE :: A, B, WORK | |||
| * .. | |||
| * .. External Functions .. | |||
| LOGICAL LSAME, LSAMEN | |||
| @@ -186,6 +186,17 @@ | |||
| * .. Data statements .. | |||
| DATA THREQ / 2.0E0 / , INTSTR / '0123456789' / | |||
| * .. | |||
| * .. Allocate memory dynamically .. | |||
| * | |||
| ALLOCATE (A( ( KDMAX+1 )*NMAX, 7 ), STAT = AllocateStatus ) | |||
| IF (AllocateStatus /= 0) STOP "*** Not enough memory ***" | |||
| ALLOCATE (B( NMAX*MAXRHS, 4 ), STAT = AllocateStatus ) | |||
| IF (AllocateStatus /= 0) STOP "*** Not enough memory ***" | |||
| ALLOCATE (WORK( NMAX, NMAX+MAXRHS+30 ) , STAT = AllocateStatus ) | |||
| IF (AllocateStatus /= 0) STOP "*** Not enough memory ***" | |||
| ALLOCATE (RWORK( 5*NMAX+2*MAXRHS ), STAT = AllocateStatus ) | |||
| IF (AllocateStatus /= 0) STOP "*** Not enough memory ***" | |||
| * .. | |||
| * .. Executable Statements .. | |||
| * | |||
| S1 = SECOND( ) | |||
| @@ -1034,6 +1045,11 @@ | |||
| S2 = SECOND( ) | |||
| WRITE( NOUT, FMT = 9998 ) | |||
| WRITE( NOUT, FMT = 9997 )S2 - S1 | |||
| * | |||
| DEALLOCATE (A, STAT = AllocateStatus) | |||
| DEALLOCATE (B, STAT = AllocateStatus) | |||
| DEALLOCATE (WORK, STAT = AllocateStatus) | |||
| DEALLOCATE (RWORK, STAT = AllocateStatus) | |||
| * | |||
| 9999 FORMAT( / ' Execution not attempted due to input errors' ) | |||
| 9998 FORMAT( / ' End of tests' ) | |||
| @@ -110,17 +110,14 @@ | |||
| *> \author Univ. of Colorado Denver | |||
| *> \author NAG Ltd. | |||
| * | |||
| *> \date November 2019 | |||
| * | |||
| *> \ingroup complex16_lin | |||
| * | |||
| * ===================================================================== | |||
| PROGRAM ZCHKAA | |||
| * | |||
| * -- LAPACK test routine (version 3.9.0) -- | |||
| * -- LAPACK test routine -- | |||
| * -- LAPACK is a software package provided by Univ. of Tennessee, -- | |||
| * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- | |||
| * November 2019 | |||
| * | |||
| * ===================================================================== | |||
| * | |||
| @@ -156,9 +153,13 @@ | |||
| $ NBVAL( MAXIN ), NBVAL2( MAXIN ), | |||
| $ NSVAL( MAXIN ), NVAL( MAXIN ), NXVAL( MAXIN ), | |||
| $ RANKVAL( MAXIN ), PIV( NMAX ) | |||
| DOUBLE PRECISION RWORK( 150*NMAX+2*MAXRHS ), S( 2*NMAX ) | |||
| COMPLEX*16 A( ( KDMAX+1 )*NMAX, 7 ), B( NMAX*MAXRHS, 4 ), | |||
| $ E( NMAX ), WORK( NMAX, NMAX+MAXRHS+10 ) | |||
| DOUBLE PRECISION S( 2*NMAX ) | |||
| COMPLEX*16 E( NMAX ) | |||
| * | |||
| * .. Allocatable Arrays .. | |||
| INTEGER AllocateStatus | |||
| DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE:: RWORK | |||
| COMPLEX*16, DIMENSION(:,:), ALLOCATABLE:: A, B, WORK | |||
| * .. | |||
| * .. External Functions .. | |||
| LOGICAL LSAME, LSAMEN | |||
| @@ -194,6 +195,16 @@ | |||
| * .. | |||
| * .. Data statements .. | |||
| DATA THREQ / 2.0D0 / , INTSTR / '0123456789' / | |||
| * | |||
| * .. Allocate memory dynamically .. | |||
| ALLOCATE (RWORK( 150*NMAX+2*MAXRHS ), STAT = AllocateStatus) | |||
| IF (AllocateStatus /= 0) STOP "*** Not enough memory ***" | |||
| ALLOCATE (A ((KDMAX+1) * NMAX, 7), STAT = AllocateStatus) | |||
| IF (AllocateStatus /= 0) STOP "*** Not enough memory ***" | |||
| ALLOCATE (B (NMAX * MAXRHS, 4), STAT = AllocateStatus) | |||
| IF (AllocateStatus /= 0) STOP "*** Not enough memory ***" | |||
| ALLOCATE (WORK (NMAX, NMAX+MAXRHS+10), STAT = AllocateStatus) | |||
| IF (AllocateStatus /= 0) STOP "*** Not enough memory ***" | |||
| * .. | |||
| * .. Executable Statements .. | |||
| * | |||
| @@ -1231,6 +1242,11 @@ | |||
| S2 = DSECND( ) | |||
| WRITE( NOUT, FMT = 9998 ) | |||
| WRITE( NOUT, FMT = 9997 )S2 - S1 | |||
| * | |||
| DEALLOCATE (A, STAT = AllocateStatus) | |||
| DEALLOCATE (B, STAT = AllocateStatus) | |||
| DEALLOCATE (RWORK, STAT = AllocateStatus) | |||
| DEALLOCATE (WORK, STAT = AllocateStatus) | |||
| * | |||
| 9999 FORMAT( / ' Execution not attempted due to input errors' ) | |||
| 9998 FORMAT( / ' End of tests' ) | |||