Mercurial > hg > CbC > CbC_gcc
view gcc/testsuite/gfortran.dg/bessel_5.f90 @ 127:4c56639505ff
fix function.c and add CbC-example Makefile
author | mir3636 |
---|---|
date | Wed, 11 Apr 2018 18:46:58 +0900 |
parents | 04ced10e8804 |
children | 84e7813d76e9 |
line wrap: on
line source
! { dg-do run } ! { dg-options "-Wall -fno-range-check" } ! ! PR fortran/36158 - Transformational BESSEL_JN/YN ! PR fortran/33197 - F2008 math functions ! ! This is a dg-do run test as the middle end cannot simplify the ! the scalarization of the elemental function (cf. PR 45305). ! ! -Wall has been specified to disabled -pedantic, which warns about the ! negative order (GNU extension) to the order of the Bessel functions of ! first and second kind. ! implicit none integer :: i ! Difference to mpfr_jn <= 1 epsilon if (any (abs (BESSEL_JN(2, 5, 2.457) - [(BESSEL_JN(i, 2.457), i = 2, 5)]) & > epsilon(0.0))) then print *, 'FAIL 1' call abort() end if ! Difference to mpfr_yn <= 4 epsilon if (any (abs (BESSEL_YN(2, 5, 2.457) - [(BESSEL_YN(i, 2.457), i = 2, 5)]) & > epsilon(0.0)*4)) then call abort() end if ! Difference to mpfr_jn <= 1 epsilon if (any (abs (BESSEL_JN(0, 10, 4.457) & - [ (BESSEL_JN(i, 4.457), i = 0, 10) ]) & > epsilon(0.0))) then call abort() end if ! Difference to mpfr_yn <= 192 epsilon if (any (abs (BESSEL_YN(0, 10, 4.457) & - [ (BESSEL_YN(i, 4.457), i = 0, 10) ]) & > epsilon(0.0)*192)) then call abort() end if ! Difference to mpfr_jn: None. (Special case: X = 0.0) if (any (BESSEL_JN(0, 10, 0.0) /= [ (BESSEL_JN(i, 0.0), i = 0, 10) ])) & then call abort() end if ! Difference to mpfr_yn: None. (Special case: X = 0.0) if (any (BESSEL_YN(0, 10, 0.0) /= [ (BESSEL_YN(i, 0.0), i = 0, 10) ])) & then call abort() end if ! Difference to mpfr_jn <= 1 epsilon if (any (abs (BESSEL_JN(0, 10, 1.0) & - [ (BESSEL_JN(i, 1.0), i = 0, 10) ]) & > epsilon(0.0)*1)) then call abort() end if ! Difference to mpfr_yn <= 32 epsilon if (any (abs (BESSEL_YN(0, 10, 1.0) & - [ (BESSEL_YN(i, 1.0), i = 0, 10) ]) & > epsilon(0.0)*32)) then call abort() end if end