blob: 4c063e8330bdebe34f1c59386324db797a6c97e3 [file] [log] [blame]
! { dg-do run }
! PR fortran/109511
! Check compile-time simplification of SET_EXPONENT against runtime
program exponent
implicit none
integer :: i
i = 0
print *, i, set_exponent(1., 0), set_exponent(1., i)
if (set_exponent(1., 0) /= set_exponent(1., i)) stop 1
i = 1
print *, i, set_exponent(1., 1), set_exponent(1., i)
if (set_exponent(1., 1) /= set_exponent(1., i)) stop 2
i = 2
print *, i, set_exponent(-1.75, 2), set_exponent(-1.75, i)
if (set_exponent(-1.75, 2) /= set_exponent(-1.75, i)) stop 3
print *, i, set_exponent(0.1875, 2), set_exponent(0.1875, i)
if (set_exponent(0.1875, 2) /= set_exponent(0.1875, i)) stop 4
i = 3
print *, i, set_exponent(0.75, 3), set_exponent(0.75, i)
if (set_exponent(0.75, 3) /= set_exponent(0.75, i)) stop 5
i = 4
print *, i, set_exponent(-2.5, 4), set_exponent(-2.5, i)
if (set_exponent(-2.5, 4) /= set_exponent(-2.5, i)) stop 6
i = -1
print *, i, set_exponent(1., -1), set_exponent(1., i)
if (set_exponent(1., -1) /= set_exponent(1., i)) stop 7
i = -2
print *, i, set_exponent(1.125, -2), set_exponent(1.125, i)
if (set_exponent(1.125, -2) /= set_exponent(1.125, i)) stop 8
print *, i, set_exponent(-0.25, -2), set_exponent(-0.25, i)
if (set_exponent(-0.25, -2) /= set_exponent(-0.25, i)) stop 9
i = -3
print *, i, set_exponent(0.75, -3), set_exponent(0.75, i)
if (set_exponent(0.75, -3) /= set_exponent(0.75, i)) stop 10
end program exponent