# HG changeset patch # User jwe # Date 795797392 0 # Node ID 99fbb85d81527db91013e70c8d5d0fb7a876f069 # Parent f6cf5e07cbe5063414ae4d271c81177b8aa7cf3f [project @ 1995-03-21 14:49:52 by jwe] diff -r f6cf5e07cbe5 -r 99fbb85d8152 src/mappers.cc --- a/src/mappers.cc Tue Mar 21 14:44:44 1995 +0000 +++ b/src/mappers.cc Tue Mar 21 14:49:52 1995 +0000 @@ -1,7 +1,7 @@ // mappers.cc -*- C++ -*- /* -Copyright (C) 1992, 1993 John W. Eaton +Copyright (C) 1992, 1993, 1995 John W. Eaton This file is part of Octave. @@ -30,6 +30,7 @@ #include #include "missing-math.h" +#include "f77-uscore.h" #include "variables.h" #include "mappers.h" #include "error.h" @@ -41,6 +42,12 @@ #define finite(x) ((x) < DBL_MAX && (x) > -DBL_MAX) #endif +extern "C" +{ + double F77_FCN (dgamma) (double*); + int F77_FCN (dlgams) (double*, double*, double*); +} + #ifndef M_LOG10E #define M_LOG10E 0.43429448190325182765 #endif @@ -152,12 +159,7 @@ double xgamma (double x) { -#if defined (HAVE_LGAMMA) - double y = lgamma (x); - return signgam * exp (y); -#else - error ("gamma(x) not available on this system"); -#endif + return F77_FCN (dgamma) (&x); } double @@ -175,11 +177,12 @@ double xlgamma (double x) { -#if defined (HAVE_LGAMMA) - return lgamma (x); -#else - error ("lgamma (x) not available on this system"); -#endif + double result; + double sgngam; + + F77_FCN (dlgams) (&x, &result, &sgngam); + + return result; } // Complex -> double mappers.