@@ -261,33 +261,37 @@ subroutine fptest6()
261261
262262 implicit none
263263
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) ' ]
291295
292296 integer , parameter :: nvar = 5
293297 character (len=* ), dimension (nvar), parameter :: var = [ ' x ' , &
@@ -321,32 +325,36 @@ subroutine fptest6()
321325 b = val(3 )
322326 y = val(4 )
323327 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 ))
350358
351359 end if
352360
0 commit comments