Mercurial > hg > octave-nkf
diff liboctave/lo-specfun.cc @ 3164:45490c020e47
[project @ 1998-04-14 20:56:48 by jwe]
author | jwe |
---|---|
date | Tue, 14 Apr 1998 20:56:53 +0000 |
parents | 7c96e85c76db |
children | 3deb1105fbc1 |
line wrap: on
line diff
--- a/liboctave/lo-specfun.cc +++ b/liboctave/lo-specfun.cc @@ -60,7 +60,7 @@ int F77_FCN (xdgamma, XDGAMMA) (const double&, double&); - int F77_FCN (xdgami, XDGAMI) (const double&, const double&, double&); + int F77_FCN (xdgamit, XDGAMIT) (const double&, const double&, double&); int F77_FCN (dlgams, DLGAMS) (const double&, double&, double&); } @@ -472,11 +472,20 @@ return retval; } +// XXX FIXME XXX -- there is still room for improvement here... + double gammainc (double x, double a) { double retval; - F77_XFCN (xdgami, XDGAMI, (a, x, retval)); + + F77_XFCN (xdgamit, XDGAMIT, (a, x, retval)); + + if (x == 0.0) + retval = 0.0; + else if (x > 0.0) + retval = exp (a * log (x) + log (retval)); + return retval; }