diff options
author | Paul Brook <paul@codesourcery.com> | 2004-06-13 22:58:30 +0000 |
---|---|---|
committer | Paul Brook <pbrook@gcc.gnu.org> | 2004-06-13 22:58:30 +0000 |
commit | a9e7b9d395c19da3ee99fae73d4d0f3e3a3121f5 (patch) | |
tree | 87140abfa92875e6ac3d94de1530eac1b616417c /gcc | |
parent | 3bce843ee30206917ccdfbf283c73e19a2ce633c (diff) | |
download | gcc-a9e7b9d395c19da3ee99fae73d4d0f3e3a3121f5.zip gcc-a9e7b9d395c19da3ee99fae73d4d0f3e3a3121f5.tar.gz gcc-a9e7b9d395c19da3ee99fae73d4d0f3e3a3121f5.tar.bz2 |
Makefile.am (gfor_helper_src): Add runtime/normalize.f90.
* Makefile.am (gfor_helper_src): Add runtime/normalize.f90.
* configure.ac: Add checks for nextafter and nextafterf.
* Makefile.in, config.h.in, configure: Regenerate.
* libgfortran.h (normalize_r4_i4, normalize_r8_i8): Declare.
* intrinsics/rand.c (rand): Use normalize_r4_i4.
* intrinsics/random.c (random_r4): Use normalize_r4_i4.
(random_r8): Use normalize_r8_i8.
* runtime/normalize.c: New file.
testsuite/
* gfortran.fortran-torture/execute/random_2.f90: New test.
From-SVN: r83070
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.fortran-torture/execute/random_2.f90 | 24 |
2 files changed, 28 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 0aea152..86926967 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2004-06-13 Paul Brook <paul@codesourcery.com> + + * gfortran.fortran-torture/execute/random_2.f90: New test. + 2004-06-13 Eric Christopher <echristo@redhat.com> * gcc.dg/noncompile/redecl-1.c: Fix error message. diff --git a/gcc/testsuite/gfortran.fortran-torture/execute/random_2.f90 b/gcc/testsuite/gfortran.fortran-torture/execute/random_2.f90 new file mode 100644 index 0000000..1666833 --- /dev/null +++ b/gcc/testsuite/gfortran.fortran-torture/execute/random_2.f90 @@ -0,0 +1,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 + |