subroutine dlgams (x, dlgam, sgngam) c july 1977 edition. w. fullerton, c3, los alamos scientific lab. c c evaluate log abs (gamma(x)) and return the sign of gamma(x) in sgngam. c sgngam is either +1.0 or -1.0. c double precision x, dlgam, sgngam, dint, dlngam external dint, dlngam c dlgam = dlngam(x) sgngam = 1.0d0 if (x.gt.0.d0) return c int = dmod (-dint(x), 2.0d0) + 0.1d0 if (int.eq.0) sgngam = -1.0d0 c return end