@@ -114,7 +114,6 @@ PROGRAM DCHKAA
114114* -- LAPACK test routine --
115115* -- LAPACK is a software package provided by Univ. of Tennessee, --
116116* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
117- * Novemebr 2019
118117*
119118* =====================================================================
120119*
@@ -150,9 +149,12 @@ PROGRAM DCHKAA
150149 $ NBVAL( MAXIN ), NBVAL2( MAXIN ),
151150 $ NSVAL( MAXIN ), NVAL( MAXIN ), NXVAL( MAXIN ),
152151 $ RANKVAL( MAXIN ), PIV( NMAX )
153- DOUBLE PRECISION A( ( KDMAX+1 )* NMAX, 7 ), B( NMAX* MAXRHS, 4 ),
154- $ E( NMAX ), RWORK( 5 * NMAX+2 * MAXRHS ),
155- $ S( 2 * NMAX ), WORK( NMAX, 3 * NMAX+ MAXRHS+30 )
152+ DOUBLE PRECISION E( NMAX ), S( 2 * NMAX )
153+ * ..
154+ * .. Allocatable Arrays ..
155+ INTEGER AllocateStatus
156+ DOUBLE PRECISION , DIMENSION (:), ALLOCATABLE :: RWORK
157+ DOUBLE PRECISION , DIMENSION (:,:), ALLOCATABLE :: A, B, WORK
156158* ..
157159* .. External Functions ..
158160 LOGICAL LSAME, LSAMEN
@@ -186,6 +188,18 @@ PROGRAM DCHKAA
186188* .. Data statements ..
187189 DATA THREQ / 2.0D0 / , INTSTR / ' 0123456789' /
188190* ..
191+ * ..
192+ * .. Allocate memory dynamically ..
193+ *
194+ ALLOCATE ( A( ( KDMAX+1 )* NMAX, 7 ), STAT = AllocateStatus )
195+ IF (AllocateStatus /= 0 ) STOP " *** Not enough memory ***"
196+ ALLOCATE ( B( NMAX* MAXRHS, 4 ), STAT = AllocateStatus )
197+ IF (AllocateStatus /= 0 ) STOP " *** Not enough memory ***"
198+ ALLOCATE ( WORK( NMAX, 3 * NMAX+ MAXRHS+30 ), STAT = AllocateStatus )
199+ IF (AllocateStatus /= 0 ) STOP " *** Not enough memory ***"
200+ ALLOCATE ( RWORK( 5 * NMAX+2 * MAXRHS ), STAT = AllocateStatus )
201+ IF (AllocateStatus /= 0 ) STOP " *** Not enough memory ***"
202+ *
189203* .. Executable Statements ..
190204*
191205 S1 = DSECND( )
@@ -1037,6 +1051,11 @@ PROGRAM DCHKAA
10371051 S2 = DSECND( )
10381052 WRITE ( NOUT, FMT = 9998 )
10391053 WRITE ( NOUT, FMT = 9997 )S2 - S1
1054+ *
1055+ DEALLOCATE (A, STAT = AllocateStatus)
1056+ DEALLOCATE (B, STAT = AllocateStatus)
1057+ DEALLOCATE (WORK, STAT = AllocateStatus)
1058+ DEALLOCATE (RWORK, STAT = AllocateStatus)
10401059*
10411060 9999 FORMAT ( / ' Execution not attempted due to input errors' )
10421061 9998 FORMAT ( / ' End of tests' )
0 commit comments