intrinsic_set_exponent.f90

来自「linux下编程用 编译软件」· F90 代码 · 共 92 行

F90
92
字号
!Program to test SET_EXPONENT intrinsic function.program test_set_exponent  call test_real4()  call test_real8()endsubroutine test_real4()  real x,y  integer i,n  equivalence(x,i)  n = -148  x = 1024.0  y = set_exponent (x, n)  if ((y .ne. 0.0) .and. (exponent (y) .ne. n)) call abort()  n = 8  x = 1024.0  y = set_exponent (x, n)  if (exponent (y) .ne. n) call abort()  n = 128  i = o'00037777777'  y = set_exponent (x, n)  if (exponent (y) .ne. n) call abort()  n = -148  x = -1024.0  y = set_exponent (x, n)  if  ((y .ne. 0.0) .and. (exponent (y) .ne. n)) call abort()  n = 8  x = -1024.0  y = set_exponent (x, n)  if (y .ne. -128.0) call abort()  if (exponent (y) .ne. n) call abort()  n = 128  i = o'20037777777'  y = set_exponent (x, n)  if (exponent (y) .ne. n) call abort()endsubroutine test_real8()  implicit none  real*8 x, y  integer*8 i, n, low  equivalence(x, i)  n = -1073  x = 1024.0_8  y = set_exponent (x, n)  if  ((y .ne. 0.0_8) .and. (exponent (y) .ne. n)) call abort()  n = 8  x = 1024.0_8  y = set_exponent (x, n)  if (y .ne. 128.0) call abort()  if (exponent (y) .ne. n) call abort()  n = 1024  low = z'ffffffff'  i = z'000fffff'   i = ishft (i, 32) + low !'000fffffffffffff'  y = set_exponent (x, n)  low = z'fffffffe'  i = z'7fefffff'   i = ishft (i, 32) + low  if (exponent (y) .ne. n) call abort()  n = -1073  x = -1024.0  y = set_exponent (x, n)  low = z'00000001'  if ((y .ne. 0.0) .and. (exponent (y) .ne. n)) call abort()  n = 8  x = -1024.0  y = set_exponent (x, n)  if (y .ne. -128.0) call abort()  if (exponent (y) .ne. n) call abort()  n = 1024  low = z'ffffffff'  i = z'800fffff'   i = ishft (i, 32) + low !z'800fffffffffffff'  y = set_exponent (x, n)  if (exponent (y) .ne. n) call abort()end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?