f77 [ flags ] file(s) ... -L/usr/local/lib -lgjlC (K&R, 89, 99), C++ (98):REAL*16 FUNCTION qpsi(x) REAL*16 x
cc [ flags ] -I/usr/local/include file(s) ... -L/usr/local/lib -lgjl
Use#include <gampsi.h>to get this prototype:fortran_quadruple_precision qpsi(const fortran_quadruple_precision * x_);
NB: The definition of C/C++ data types fortran_ xxx, and the mapping of Fortran external names to C/C++ external names, is handled by the C/C++ header file. That way, the same function or subroutine name can be used in C, C++, and Fortran code, independent of compiler conventions for mangling of external names in these programming languages.
Last code modification: 04-Aug-2000
The psi(x) function is the logarithmic derivative of the Gamma(x) function:
psi(x) = d/dx (Gamma(x)) / Gamma(x) = d/dx (ln Gamma(x))
This code correctly handles the case where x is NaN, for which psi(NaN) is a NaN, and the case where x is sufficiently large and positive, or takes one of the integer values 0, -1, -2, -3, ..., for which psi(x) = +Infinity, a special value in IEEE 754 arithmetic.
This code is derived from code given by
W. J. Cody Algorithm 715: SPECFUN --- A Portable FORTRAN Package of Special Function Routines and Test Drivers ACM Trans. Math. Software 19(1) 22--32, March 1993.
but has been augmented for support of IEEE 754 arithmetic, and extended with a new rational Pade approximation for psi(x) with x in [1,2], and new algorithms for argument reduction.
Algorithm xxx: Quadruple-Precision Gamma(x) and psi(x) Functions for Real Argumentsin ACM Transactions on Mathematical Software, Volume ??, Number ??, Pages ????--???? and ????--????, 2001, by
andNelson H. F. Beebe Center for Scientific Computing University of Utah Department of Mathematics, 110 LCB 155 S 1400 E RM 233 Salt Lake City, UT 84112-0090 Tel: +1 801 581 5254 FAX: +1 801 581 4148 Email: beebe@math.utah.edu, beebe@acm.org, beebe@computer.org WWW URL: http://www.math.utah.edu/~beebe
James S. Ball University of Utah Department of Physics Salt Lake City, UT 84112-0830 USA Tel: +1 801 581 8397 FAX: +1 801 581 6256 Email: ball@physics.utah.edu WWW URL: http://www.physics.utah.edu/people/faculty/ball.html