@@ -226,15 +226,15 @@ SUBROUTINE CLAHILB( N, NRHS, A, LDA, X, LDX, B, LDB, WORK,
226226 IF ( LSAMEN( 2 , C2, ' SY' ) ) THEN
227227 DO J = 1 , N
228228 DO I = 1 , N
229- A(I, J) = D1(MOD (J,SIZE_D)+ 1 ) * (REAL (M) / (I + J - 1 ))
230- $ * D1(MOD (I,SIZE_D)+ 1 )
229+ A(I, J) = D1(MOD (J,SIZE_D)+ 1 ) * (REAL (M)
230+ $ / REAL (I + J - 1 )) * D1(MOD (I,SIZE_D)+ 1 )
231231 END DO
232232 END DO
233233 ELSE
234234 DO J = 1 , N
235235 DO I = 1 , N
236- A(I, J) = D1(MOD (J,SIZE_D)+ 1 ) * (REAL (M) / (I + J - 1 ))
237- $ * D2(MOD (I,SIZE_D)+ 1 )
236+ A(I, J) = D1(MOD (J,SIZE_D)+ 1 ) * (REAL (M)
237+ $ / REAL (I + J - 1 )) * D2(MOD (I,SIZE_D)+ 1 )
238238 END DO
239239 END DO
240240 END IF
@@ -247,10 +247,10 @@ SUBROUTINE CLAHILB( N, NRHS, A, LDA, X, LDX, B, LDB, WORK,
247247* Generate the true solutions in X. Because B = the first NRHS
248248* columns of M*I, the true solutions are just the first NRHS columns
249249* of the inverse Hilbert matrix.
250- WORK(1 ) = N
250+ WORK(1 ) = REAL (N)
251251 DO J = 2 , N
252- WORK(J) = ( ( (WORK(J-1 )/ (J-1 )) * (J-1 - N) ) / (J -1 ) )
253- $ * (N + J - 1 )
252+ WORK(J) = ( ( (WORK(J-1 )/ REAL (J-1 )) * REAL (J-1 - N) )
253+ $ / REAL (J -1 ) ) * REAL (N + J - 1 )
254254 END DO
255255
256256* If we are testing SY routines,
@@ -260,7 +260,7 @@ SUBROUTINE CLAHILB( N, NRHS, A, LDA, X, LDX, B, LDB, WORK,
260260 DO I = 1 , N
261261 X(I, J) =
262262 $ INVD1(MOD (J,SIZE_D)+ 1 ) *
263- $ ((WORK(I)* WORK(J)) / (I + J - 1 ))
263+ $ ((WORK(I)* WORK(J)) / REAL (I + J - 1 ))
264264 $ * INVD1(MOD (I,SIZE_D)+ 1 )
265265 END DO
266266 END DO
@@ -269,7 +269,7 @@ SUBROUTINE CLAHILB( N, NRHS, A, LDA, X, LDX, B, LDB, WORK,
269269 DO I = 1 , N
270270 X(I, J) =
271271 $ INVD2(MOD (J,SIZE_D)+ 1 ) *
272- $ ((WORK(I)* WORK(J)) / (I + J - 1 ))
272+ $ ((WORK(I)* WORK(J)) / REAL (I + J - 1 ))
273273 $ * INVD1(MOD (I,SIZE_D)+ 1 )
274274 END DO
275275 END DO
0 commit comments