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
|