Commit 468d95c8 by Janne Blomqvist

PR fortran/77261 Run random_3 testcase only when real(10) is available.

From-SVN: r239817
parent 78a3bdba
2016-08-29 Janne Blomqvist <jb@gcc.gnu.org>
PR fortran/77261
* gfortran.dg/random_3.f90: Run testcase only when real(10) is
available.
2016-08-28 Tom de Vries <tom@codesourcery.com> 2016-08-28 Tom de Vries <tom@codesourcery.com>
PR lto/70955 PR lto/70955
......
! { dg-do run } ! { dg-do run }
! { dg-require-effective-target fortran_large_real } ! { dg-require-effective-target fortran_large_real }
! Check that the random_seed for real(10) or real(16) exists and that ! Check that the random_seed for real(10) exists and that
! real(8) and real(10) or real(16) random number generators ! real(8) and real(10) random number generators
! return the same sequence of values. ! return the same sequence of values.
! Mostly copied from random_2.f90 ! Mostly copied from random_2.f90
program random_4 program random_3
integer,parameter :: k = selected_real_kind (precision (0.0_8) + 1) integer,parameter :: k = selected_real_kind (precision (0.0_8) + 1)
integer, dimension(:), allocatable :: seed integer, dimension(:), allocatable :: seed
...@@ -13,6 +13,11 @@ program random_4 ...@@ -13,6 +13,11 @@ program random_4
real, parameter :: delta = 1.d-10 real, parameter :: delta = 1.d-10
integer n integer n
! Run the test only if real(10) is available. With the current
! xorshift1024* PRNG the real(16) generator uses two uint64_t values
! for every real(16) value generated, and hence the sequences won't
! be the same as with real(4,8,10).
if (k == 10) then
call random_seed (size=n) call random_seed (size=n)
allocate (seed(n)) allocate (seed(n))
call random_seed (get=seed) call random_seed (get=seed)
...@@ -26,4 +31,5 @@ program random_4 ...@@ -26,4 +31,5 @@ program random_4
call random_number (r10(10)) call random_number (r10(10))
if (any ((r8 - r10) .gt. delta)) call abort if (any ((r8 - r10) .gt. delta)) call abort
end program random_4 end if
end program random_3
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment