@@ -261,33 +261,37 @@ subroutine fptest6()
261
261
262
262
implicit none
263
263
264
- integer , parameter :: nfunc = 26
265
- character (len=* ), dimension (nfunc), parameter :: func = [ ' -1.0*x ' , &
266
- ' -sqrt(x) ' , &
267
- ' a*COS(b*x)+5 ' , &
268
- ' a*COS(b*x)+5.0 ' , &
269
- ' exp(x)-abs(x)+log(1.0)+log10(1.0) ' , &
270
- ' sinh(x) ' , &
271
- ' cosh(x) ' , &
272
- ' tanh(x) ' , &
273
- ' tan(x) ' , &
274
- ' asin(y) ' , &
275
- ' acos(y) ' , &
276
- ' atan(y) ' , &
277
- ' -x**2 ' , &
278
- ' -x^2 ' , &
279
- ' sin(x) ' , &
280
- ' sin*2 ' , &
281
- ' 2*(sin)*sin+1-sin(x) ' , &
282
- ' ceiling(1.1) + ceiling(1.1) ' , &
283
- ' floor(1.1) + floor(1.1) ' , &
284
- ' gamma(2.0) ' , &
285
- ' hypot(1.0, 2.0) ' , &
286
- ' max(1.0, 2.0) ' , &
287
- ' min(1.0, 2.0) ' , &
288
- ' modulo(180.0, -23.0)+mod(180.0, 23.0)' , &
289
- ' mod(180.0, 23.0)+modulo(180.0, 23.0) ' , &
290
- ' sign(1.0, -2.0) ' ]
264
+ integer , parameter :: nfunc = 30
265
+ character (len=* ), dimension (nfunc), parameter :: func = [ ' -1.0*x ' , &
266
+ ' -sqrt(x) ' , &
267
+ ' a*COS(b*x)+5 ' , &
268
+ ' a*COS(b*x)+5.0 ' , &
269
+ ' exp(x)-abs(x)+log(1.0)+log10(1.0) ' , &
270
+ ' sinh(x) ' , &
271
+ ' cosh(x) ' , &
272
+ ' tanh(x) ' , &
273
+ ' tan(x) ' , &
274
+ ' asin(y) ' , &
275
+ ' acos(y) ' , &
276
+ ' atan(y) ' , &
277
+ ' -x**2 ' , &
278
+ ' -x^2 ' , &
279
+ ' sin(x) ' , &
280
+ ' sin*2 ' , &
281
+ ' 2*(sin)*sin+1-sin(x) ' , &
282
+ ' ceiling(1.1) + ceiling(1.1) ' , &
283
+ ' floor(1.1) + floor(1.1) ' , &
284
+ ' gamma(2.0) ' , &
285
+ ' hypot(1.0, 2.0) ' , &
286
+ ' max(1.0, 2.0) ' , &
287
+ ' min(1.0, 2.0) ' , &
288
+ ' atan2(180.0, 23.0) ' , &
289
+ ' atan2(1.0, -2.0) ' , &
290
+ ' atan2(180.0, -23.0)+atan2(180.0, 23.0) ' , &
291
+ ' mod(180.0, 23.0) ' , &
292
+ ' modulo(180.0, 23.0) ' , &
293
+ ' mod(-180.0, 23.0)+modulo(180.0, -23.0) ' , &
294
+ ' sign(1.0, -2.0) ' ]
291
295
292
296
integer , parameter :: nvar = 5
293
297
character (len=* ), dimension (nvar), parameter :: var = [ ' x ' , &
@@ -321,32 +325,36 @@ subroutine fptest6()
321
325
b = val(3 )
322
326
y = val(4 )
323
327
s = val(5 )
324
- call compare(func(1 ), - 1.0_wp * x, res(1 ))
325
- call compare(func(2 ), - sqrt (x), res(2 ))
326
- call compare(func(3 ), a* cos (b* x)+ 5 , res(3 ))
327
- call compare(func(4 ), a* cos (b* x)+ 5.0 , res(4 ))
328
- call compare(func(5 ), exp (x)- abs (x)+ log (1.0 )+ log10 (1.0 ), res(5 ))
329
- call compare(func(6 ), sinh (x), res(6 ))
330
- call compare(func(7 ), cosh (x), res(7 ))
331
- call compare(func(8 ), tanh (x), res(8 ))
332
- call compare(func(9 ), tan (x), res(9 ))
333
- call compare(func(10 ), asin (y), res(10 ))
334
- call compare(func(11 ), acos (y), res(11 ))
335
- call compare(func(12 ), atan (y), res(12 ))
336
- call compare(func(13 ), - x** 2 , res(13 ))
337
- call compare(func(14 ), - x** 2 , res(14 ))
338
- call compare(func(15 ), sin (x), res(15 ))
339
- call compare(func(16 ), 2.0_wp , res(16 ))
340
- call compare(func(17 ), 2 * (s)* s+1 - sin (x), res(17 ))
341
- call compare(func(18 ), real (ceiling (1.1_wp ) + ceiling (1.1_wp ), wp) , res(18 ))
342
- call compare(func(19 ), real (floor (1.1_wp ) + floor (1.1_wp ), wp) , res(19 ))
343
- call compare(func(20 ), gamma(2.0_wp ) , res(20 ))
344
- call compare(func(21 ), hypot(1.0_wp , 2.0_wp ) , res(21 ))
345
- call compare(func(22 ), max (1.0_wp , 2.0_wp ) , res(22 ))
346
- call compare(func(23 ), min (1.0_wp , 2.0_wp ) , res(23 ))
347
- call compare(func(24 ), modulo (180.0_wp , - 23.0_wp )+ mod (180.0_wp , 23.0_wp ) , res(24 ))
348
- call compare(func(25 ), mod (180.0_wp , 23.0_wp )+ modulo (180.0_wp , 23.0_wp ) , res(25 ))
349
- call compare(func(26 ), sign (1.0_wp , - 2.0_wp ) , res(26 ))
328
+ call compare(func(1 ), - 1.0_wp * x, res(1 ))
329
+ call compare(func(2 ), - sqrt (x), res(2 ))
330
+ call compare(func(3 ), a* cos (b* x)+ 5 , res(3 ))
331
+ call compare(func(4 ), a* cos (b* x)+ 5.0 , res(4 ))
332
+ call compare(func(5 ), exp (x)- abs (x)+ log (1.0 )+ log10 (1.0 ), res(5 ))
333
+ call compare(func(6 ), sinh (x), res(6 ))
334
+ call compare(func(7 ), cosh (x), res(7 ))
335
+ call compare(func(8 ), tanh (x), res(8 ))
336
+ call compare(func(9 ), tan (x), res(9 ))
337
+ call compare(func(10 ), asin (y), res(10 ))
338
+ call compare(func(11 ), acos (y), res(11 ))
339
+ call compare(func(12 ), atan (y), res(12 ))
340
+ call compare(func(13 ), - x** 2 , res(13 ))
341
+ call compare(func(14 ), - x** 2 , res(14 ))
342
+ call compare(func(15 ), sin (x), res(15 ))
343
+ call compare(func(16 ), 2.0_wp , res(16 ))
344
+ call compare(func(17 ), 2 * (s)* s+1 - sin (x), res(17 ))
345
+ call compare(func(18 ), real (ceiling (1.1_wp ) + ceiling (1.1_wp ), wp) , res(18 ))
346
+ call compare(func(19 ), real (floor (1.1_wp ) + floor (1.1_wp ), wp) , res(19 ))
347
+ call compare(func(20 ), gamma(2.0_wp ) , res(20 ))
348
+ call compare(func(21 ), hypot(1.0_wp , 2.0_wp ) , res(21 ))
349
+ call compare(func(22 ), max (1.0_wp , 2.0_wp ) , res(22 ))
350
+ call compare(func(23 ), min (1.0_wp , 2.0_wp ) , res(23 ))
351
+ call compare(func(24 ), atan2 (180.0_wp , 23.0_wp ) , res(24 ))
352
+ call compare(func(25 ), atan2 (1.0_wp , - 2.0_wp ) , res(25 ))
353
+ call compare(func(26 ), atan2 (180.0_wp , - 23.0_wp )+ atan2 (180.0_wp , 23.0_wp ) , res(26 ))
354
+ call compare(func(27 ), mod (180.0_wp , 23.0_wp ) , res(27 ))
355
+ call compare(func(28 ), modulo (180.0_wp , 23.0_wp ) , res(28 ))
356
+ call compare(func(29 ), mod (- 180.0_wp , 23.0_wp )+ modulo (180.0_wp , - 23.0_wp ) , res(29 ))
357
+ call compare(func(30 ), sign (1.0_wp , - 2.0_wp ) , res(30 ))
350
358
351
359
end if
352
360
0 commit comments