1! { dg-do run } 2! 3! Test the vendor intrinsic (d)gamma, lgamma and algama/dlgama 4! gamma is also part of the Fortran 2008 draft; lgamma is called 5! log_gamma in the Fortran 2008 draft. 6! 7! PR fortran/32980 8! 9program gamma_test 10implicit none 11intrinsic :: gamma, lgamma, log_gamma 12integer, parameter :: sp = kind(1.0) 13integer, parameter :: dp = kind(1.0d0) 14 15real(sp) :: rsp 16real(dp) :: rdp 17 18if (abs(gamma(1.0_sp) - 1.0_sp) > tiny(1.0_sp)) STOP 1 19if (abs(gamma(1.0_dp) - 1.0_dp) > tiny(1.0_dp)) STOP 2 20if (abs(dgamma(1.0_dp) - 1.0_dp) > tiny(1.0_dp)) STOP 3 21 22if (abs(lgamma(1.0_sp)) > tiny(1.0_sp)) STOP 4 23if (abs(lgamma(1.0_dp)) > tiny(1.0_dp)) STOP 5 24if (abs(log_gamma(1.0_sp)) > tiny(1.0_sp)) STOP 6 25if (abs(log_gamma(1.0_dp)) > tiny(1.0_dp)) STOP 7 26if (abs(algama(1.0_sp)) > tiny(1.0_sp)) STOP 8 27if (abs(dlgama(1.0_dp)) > tiny(1.0_dp)) STOP 9 28end program gamma_test 29 30