summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gfortran.fortran-torture/execute/random_2.f90
blob: 1666833058961101370b539f4f30823e522b2705 (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
! Check that the real(4) and real(8) random number generators return the same
! sequence of values.
program random_4
  integer, dimension(:), allocatable :: seed
  real(kind=4), dimension(10) :: r4
  real(kind=8), dimension(10) :: r8
  real, parameter :: delta = 0.0001
  integer n

  call random_seed (size=n)
  allocate (seed(n))
  call random_seed (get=seed)
  ! Test both array valued and scalar routines.
  call random_number(r4)
  call random_number (r4(10))

  ! Reset the seed and get the real(8) values.
  call random_seed (put=seed)
  call random_number(r8)
  call random_number (r8(10))

  if (any ((r4 - r8) .gt. delta)) call abort
end program