summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.fortran-torture/execute/intrinsic_scale.f90
blob: 775c4d7b4b5225716dc9aeff31adb0014afd56b0 (plain)
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
!Program to test SCALE intrinsic function.

program test_scale
  call test_real4 (3.0, 2)
  call test_real4 (33.0, -2)
  call test_real4 (-3., 2)
  call test_real4 (0., 3)
  call test_real8 (0._8, 3)
  call test_real8 (3.0_8, 4)
  call test_real8 (33.0_8, -4)
  call test_real8 (-33._8, 4)
end
subroutine test_real4 (orig, i)
  real x,y,orig
  integer i
  x = orig
  y = x * (2.0 ** i)
  x = scale (x, i)
  if (abs (x - y) .gt. abs(x * 1e-6)) call abort
end

subroutine test_real8 (orig, i)
  real*8 x,y,orig
  integer i
  x = orig
  y = x * (2.0 ** i)
  x = scale (x, i)
  if (abs (x - y) .gt. abs(x * 1e-6)) call abort
end