/
folding18.f90
75 lines (75 loc) · 3.22 KB
/
folding18.f90
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
! RUN: %python %S/test_folding.py %s %flang_fc1
! Test implementations of IEEE inquiry functions
module m
use ieee_arithmetic
logical, parameter :: test_ieee_support_datatype = ieee_support_datatype() &
.and. ieee_support_datatype(1.0_2) &
.and. ieee_support_datatype(1.0_3) &
.and. ieee_support_datatype(1.0_4) &
.and. ieee_support_datatype(1.0_8) &
.and. ieee_support_datatype(1.0_10) &
.and. ieee_support_datatype(1.0_16)
logical, parameter :: test_ieee_support_denormal = ieee_support_denormal() &
.and. ieee_support_denormal(1.0_2) &
.and. ieee_support_denormal(1.0_3) &
.and. ieee_support_denormal(1.0_4) &
.and. ieee_support_denormal(1.0_8) &
.and. ieee_support_denormal(1.0_10) &
.and. ieee_support_denormal(1.0_16)
logical, parameter :: test_ieee_support_divide = ieee_support_divide() &
.and. ieee_support_divide(1.0_2) &
.and. ieee_support_divide(1.0_3) &
.and. ieee_support_divide(1.0_4) &
.and. ieee_support_divide(1.0_8) &
.and. ieee_support_divide(1.0_10) &
.and. ieee_support_divide(1.0_16)
logical, parameter :: test_ieee_support_inf = ieee_support_inf() &
.and. ieee_support_inf(1.0_2) &
.and. ieee_support_inf(1.0_3) &
.and. ieee_support_inf(1.0_4) &
.and. ieee_support_inf(1.0_8) &
.and. ieee_support_inf(1.0_10) &
.and. ieee_support_inf(1.0_16)
logical, parameter :: test_ieee_support_io = ieee_support_io() &
.and. ieee_support_io(1.0_2) &
.and. ieee_support_io(1.0_3) &
.and. ieee_support_io(1.0_4) &
.and. ieee_support_io(1.0_8) &
.and. ieee_support_io(1.0_10) &
.and. ieee_support_io(1.0_16)
logical, parameter :: test_ieee_support_nan = ieee_support_nan() &
.and. ieee_support_nan(1.0_2) &
.and. ieee_support_nan(1.0_3) &
.and. ieee_support_nan(1.0_4) &
.and. ieee_support_nan(1.0_8) &
.and. ieee_support_nan(1.0_10) &
.and. ieee_support_nan(1.0_16)
logical, parameter :: test_ieee_support_sqrt = ieee_support_sqrt() &
.and. ieee_support_sqrt(1.0_2) &
.and. ieee_support_sqrt(1.0_3) &
.and. ieee_support_sqrt(1.0_4) &
.and. ieee_support_sqrt(1.0_8) &
.and. ieee_support_sqrt(1.0_10) &
.and. ieee_support_sqrt(1.0_16)
logical, parameter :: test_ieee_support_standard = ieee_support_standard() &
.and. ieee_support_standard(1.0_2) &
.and. ieee_support_standard(1.0_3) &
.and. ieee_support_standard(1.0_4) &
.and. ieee_support_standard(1.0_8) &
.and. ieee_support_standard(1.0_10) &
.and. ieee_support_standard(1.0_16)
logical, parameter :: test_ieee_support_subnormal = ieee_support_subnormal() &
.and. ieee_support_subnormal(1.0_2) &
.and. ieee_support_subnormal(1.0_3) &
.and. ieee_support_subnormal(1.0_4) &
.and. ieee_support_subnormal(1.0_8) &
.and. ieee_support_subnormal(1.0_10) &
.and. ieee_support_subnormal(1.0_16)
logical, parameter :: test_ieee_support_underflow_control = ieee_support_underflow_control() &
.and. ieee_support_underflow_control(1.0_2) &
.and. ieee_support_underflow_control(1.0_3) &
.and. ieee_support_underflow_control(1.0_4) &
.and. ieee_support_underflow_control(1.0_8) &
.and. ieee_support_underflow_control(1.0_10) &
.and. ieee_support_underflow_control(1.0_16)
end module