intrinsic_fraction_exponent.f90
来自「用于进行gcc测试」· F90 代码 · 共 85 行
F90
85 行
!Program to test EXPONENT and FRACTION intrinsic function.program test_exponent_fraction real x integer*4 i real*8 y integer*8 j equivalence (x, i), (y, j) x = 3. call test_4(x) x = 0. call test_4(x) i = o'00000000001' call test_4(x) i = o'00010000000' call test_4(x) i = o'17700000000' call test_4(x) i = o'00004000001' call test_4(x) i = o'17737777777' call test_4(x) i = o'10000000000' call test_4(x) i = o'0000010000' call test_4(x) y = 0.5 call test_8(y) y = 0. call test_8(y) j = o'00000000001' call test_8(y) y = 0.2938735877D-38 call test_8(y) y = -1.469369D-39 call test_8(y) y = z'7fe00000' call test_8(y) y = -5.739719D+42 call test_8(y)endsubroutine test_4(x)real*4 x,yinteger zy = fraction (x)z = exponent(x)if (z .gt. 0) then y = (y * 2.) * (2. ** (z - 1))else y = (y / 2.) * (2. ** (z + 1))end ifif (abs (x - y) .gt. spacing (max (abs (x), abs (y)))) call abort()endsubroutine test_8(x)real*8 x, yinteger zy = fraction (x)z = exponent(x)if (z .gt. 0) then y = (y * 2._8) * (2._8 ** (z - 1))else y = (y / 2._8) * (2._8 ** (z + 1))end ifif (abs (x - y) .gt. spacing (max (abs (x), abs(y)))) call abort()end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?