Skip to content

Commit 540e4eb

Browse files
committed
Changed ArrayE allocation from static to dynamic
1 parent 0c44048 commit 540e4eb

File tree

2 files changed

+36
-28
lines changed

2 files changed

+36
-28
lines changed

TESTING/LIN/dchkaa.F

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -150,12 +150,12 @@ PROGRAM DCHKAA
150150
$ NBVAL( MAXIN ), NBVAL2( MAXIN ),
151151
$ NSVAL( MAXIN ), NVAL( MAXIN ), NXVAL( MAXIN ),
152152
$ RANKVAL( MAXIN ), PIV( NMAX )
153-
DOUBLE PRECISION E( NMAX ), S( 2*NMAX )
154153
* ..
155154
* .. Allocatable Arrays ..
156155
INTEGER AllocateStatus
157-
DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: RWORK
158-
DOUBLE PRECISION, DIMENSION(:,:), ALLOCATABLE :: A, B, WORK
156+
DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: RWORK, S
157+
DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: E
158+
DOUBLE PRECISION, DIMENSION(:,:), ALLOCATABLE :: A, B, WORK
159159
* ..
160160
* .. External Functions ..
161161
LOGICAL LSAME, LSAMEN
@@ -165,13 +165,13 @@ PROGRAM DCHKAA
165165
* .. External Subroutines ..
166166
EXTERNAL ALAREQ, DCHKEQ, DCHKGB, DCHKGE, DCHKGT, DCHKLQ,
167167
$ DCHKORHR_COL, DCHKPB, DCHKPO, DCHKPS, DCHKPP,
168-
$ DCHKPT, DCHKQ3, DCHKQP3RK, DCHKQL, DCHKQR, DCHKRQ,
169-
$ DCHKSP, DCHKSY, DCHKSY_ROOK, DCHKSY_RK, DCHKSY_AA,
170-
$ DCHKTB, DCHKTP, DCHKTR, DCHKTZ, DDRVGB, DDRVGE,
171-
$ DDRVGT, DDRVLS, DDRVPB, DDRVPO, DDRVPP, DDRVPT,
172-
$ DDRVSP, DDRVSY, DDRVSY_ROOK, DDRVSY_RK,
173-
$ DDRVSY_AA, ILAVER, DCHKLQTP, DCHKQRT, DCHKQRTP,
174-
$ DCHKLQT,DCHKTSQR
168+
$ DCHKPT, DCHKQ3, DCHKQP3RK, DCHKQL, DCHKQR,
169+
$ DCHKRQ, DCHKSP, DCHKSY, DCHKSY_ROOK, DCHKSY_RK,
170+
$ DCHKSY_AA, DCHKTB, DCHKTP, DCHKTR, DCHKTZ,
171+
$ DDRVGB, DDRVGE, DDRVGT, DDRVLS, DDRVPB, DDRVPO,
172+
$ DDRVPP, DDRVPT, DDRVSP, DDRVSY, DDRVSY_ROOK,
173+
$ DDRVSY_RK, DDRVSY_AA, ILAVER, DCHKLQTP, DCHKQRT,
174+
$ DCHKQRTP, DCHKLQT,DCHKTSQR
175175
* ..
176176
* .. Scalars in Common ..
177177
LOGICAL LERR, OK
@@ -198,6 +198,10 @@ PROGRAM DCHKAA
198198
IF (AllocateStatus /= 0) STOP "*** Not enough memory ***"
199199
ALLOCATE ( WORK( NMAX, 3*NMAX+MAXRHS+30 ), STAT = AllocateStatus )
200200
IF (AllocateStatus /= 0) STOP "*** Not enough memory ***"
201+
ALLOCATE ( E( NMAX ), STAT = AllocateStatus )
202+
IF (AllocateStatus /= 0) STOP "*** Not enough memory ***"
203+
ALLOCATE ( S( 2*NMAX ), STAT = AllocateStatus )
204+
IF (AllocateStatus /= 0) STOP "*** Not enough memory ***"
201205
ALLOCATE ( RWORK( 5*NMAX+2*MAXRHS ), STAT = AllocateStatus )
202206
IF (AllocateStatus /= 0) STOP "*** Not enough memory ***"
203207
*

TESTING/LIN/zchkaa.F

Lines changed: 22 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -154,11 +154,11 @@ PROGRAM ZCHKAA
154154
$ NBVAL( MAXIN ), NBVAL2( MAXIN ),
155155
$ NSVAL( MAXIN ), NVAL( MAXIN ), NXVAL( MAXIN ),
156156
$ RANKVAL( MAXIN ), PIV( NMAX )
157-
COMPLEX*16 E( NMAX )
158-
*
159-
* .. Allocatable Arrays ..
157+
* ..
158+
* .. Allocatable Arrays ..
160159
INTEGER AllocateStatus
161-
DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE:: RWORK, S
160+
DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE:: RWORK, S
161+
COMPLEX*16, DIMENSION(:), ALLOCATABLE :: E
162162
COMPLEX*16, DIMENSION(:,:), ALLOCATABLE:: A, B, WORK
163163
* ..
164164
* .. External Functions ..
@@ -170,15 +170,16 @@ PROGRAM ZCHKAA
170170
EXTERNAL ALAREQ, ZCHKEQ, ZCHKGB, ZCHKGE, ZCHKGT, ZCHKHE,
171171
$ ZCHKHE_ROOK, ZCHKHE_RK, ZCHKHE_AA, ZCHKHP,
172172
$ ZCHKLQ, ZCHKUNHR_COL, ZCHKPB, ZCHKPO, ZCHKPS,
173-
$ ZCHKPP, ZCHKPT, ZCHKQ3, ZCHKQP3RK, ZCHKQL, ZCHKQR,
174-
$ ZCHKRQ, ZCHKSP, ZCHKSY, ZCHKSY_ROOK, ZCHKSY_RK,
175-
$ ZCHKSY_AA, ZCHKTB, ZCHKTP, ZCHKTR, ZCHKTZ,
176-
$ ZDRVGB, ZDRVGE, ZDRVGT, ZDRVHE, ZDRVHE_ROOK,
177-
$ ZDRVHE_RK, ZDRVHE_AA, ZDRVHE_AA_2STAGE, ZDRVHP,
178-
$ ZDRVLS, ZDRVPB, ZDRVPO, ZDRVPP, ZDRVPT,
179-
$ ZDRVSP, ZDRVSY, ZDRVSY_ROOK, ZDRVSY_RK,
180-
$ ZDRVSY_AA, ZDRVSY_AA_2STAGE, ILAVER, ZCHKQRT,
181-
$ ZCHKQRTP, ZCHKLQT, ZCHKLQTP, ZCHKTSQR
173+
$ ZCHKPP, ZCHKPT, ZCHKQ3, ZCHKQP3RK, ZCHKQL,
174+
$ ZCHKQR, ZCHKRQ, ZCHKSP, ZCHKSY, ZCHKSY_ROOK,
175+
$ ZCHKSY_RK, ZCHKSY_AA, ZCHKTB, ZCHKTP, ZCHKTR,
176+
$ ZCHKTZ, ZDRVGB, ZDRVGE, ZDRVGT, ZDRVHE,
177+
$ ZDRVHE_ROOK, ZDRVHE_RK, ZDRVHE_AA,
178+
$ ZDRVHE_AA_2STAGE, ZDRVHP, ZDRVLS, ZDRVPB,
179+
$ ZDRVPO, ZDRVPP, ZDRVPT, ZDRVSP, ZDRVSY,
180+
$ ZDRVSY_ROOK, ZDRVSY_RK, ZDRVSY_AA,
181+
$ ZDRVSY_AA_2STAGE, ILAVER, ZCHKQRT, ZCHKQRTP,
182+
$ ZCHKLQT, ZCHKLQTP, ZCHKTSQR
182183
* ..
183184
* .. Scalars in Common ..
184185
LOGICAL LERR, OK
@@ -197,15 +198,18 @@ PROGRAM ZCHKAA
197198
DATA THREQ / 2.0D0 / , INTSTR / '0123456789' /
198199
*
199200
* .. Allocate memory dynamically ..
200-
ALLOCATE (A ((KDMAX+1) * NMAX, 7), STAT = AllocateStatus)
201+
*
202+
ALLOCATE ( A ( (KDMAX+1) * NMAX, 7 ), STAT = AllocateStatus)
201203
IF (AllocateStatus /= 0) STOP "*** Not enough memory ***"
202-
ALLOCATE (B (NMAX * MAXRHS, 4), STAT = AllocateStatus)
204+
ALLOCATE ( B ( NMAX * MAXRHS, 4 ), STAT = AllocateStatus)
205+
IF (AllocateStatus /= 0 ) STOP "*** Not enough memory ***"
206+
ALLOCATE ( WORK ( NMAX, NMAX+MAXRHS+10 ), STAT = AllocateStatus)
203207
IF (AllocateStatus /= 0) STOP "*** Not enough memory ***"
204-
ALLOCATE (WORK (NMAX, NMAX+MAXRHS+10), STAT = AllocateStatus)
208+
ALLOCATE ( E( NMAX ), STAT = AllocateStatus )
205209
IF (AllocateStatus /= 0) STOP "*** Not enough memory ***"
206-
ALLOCATE (S( 2*NMAX ), STAT = AllocateStatus)
210+
ALLOCATE ( S( 2*NMAX ), STAT = AllocateStatus)
207211
IF (AllocateStatus /= 0) STOP "*** Not enough memory ***"
208-
ALLOCATE (RWORK( 150*NMAX+2*MAXRHS ), STAT = AllocateStatus)
212+
ALLOCATE ( RWORK( 150*NMAX+2*MAXRHS ), STAT = AllocateStatus)
209213
IF (AllocateStatus /= 0) STOP "*** Not enough memory ***"
210214
* ..
211215
* .. Executable Statements ..

0 commit comments

Comments
 (0)