@@ -226,15 +226,15 @@ SUBROUTINE CLAHILB( N, NRHS, A, LDA, X, LDX, B, LDB, WORK,
226
226
IF ( LSAMEN( 2 , C2, ' SY' ) ) THEN
227
227
DO J = 1 , N
228
228
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 )
231
231
END DO
232
232
END DO
233
233
ELSE
234
234
DO J = 1 , N
235
235
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 )
238
238
END DO
239
239
END DO
240
240
END IF
@@ -247,10 +247,10 @@ SUBROUTINE CLAHILB( N, NRHS, A, LDA, X, LDX, B, LDB, WORK,
247
247
* Generate the true solutions in X. Because B = the first NRHS
248
248
* columns of M*I, the true solutions are just the first NRHS columns
249
249
* of the inverse Hilbert matrix.
250
- WORK(1 ) = N
250
+ WORK(1 ) = REAL (N)
251
251
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 )
254
254
END DO
255
255
256
256
* If we are testing SY routines,
@@ -260,7 +260,7 @@ SUBROUTINE CLAHILB( N, NRHS, A, LDA, X, LDX, B, LDB, WORK,
260
260
DO I = 1 , N
261
261
X(I, J) =
262
262
$ INVD1(MOD (J,SIZE_D)+ 1 ) *
263
- $ ((WORK(I)* WORK(J)) / (I + J - 1 ))
263
+ $ ((WORK(I)* WORK(J)) / REAL (I + J - 1 ))
264
264
$ * INVD1(MOD (I,SIZE_D)+ 1 )
265
265
END DO
266
266
END DO
@@ -269,7 +269,7 @@ SUBROUTINE CLAHILB( N, NRHS, A, LDA, X, LDX, B, LDB, WORK,
269
269
DO I = 1 , N
270
270
X(I, J) =
271
271
$ INVD2(MOD (J,SIZE_D)+ 1 ) *
272
- $ ((WORK(I)* WORK(J)) / (I + J - 1 ))
272
+ $ ((WORK(I)* WORK(J)) / REAL (I + J - 1 ))
273
273
$ * INVD1(MOD (I,SIZE_D)+ 1 )
274
274
END DO
275
275
END DO
0 commit comments