f77 [ flags ] file(s) ... -L/usr/local/lib -lgjlC (K&R, 89, 99), C++ (98):DOUBLE PRECISION FUNCTION pythag(a,b) DOUBLE PRECISION a, b
cc [ flags ] -I/usr/local/include file(s) ... -L/usr/local/lib -lgjl
Use#include <gampsi.h>to get this prototype:fortran_double_precision pythag(const fortran_double_precision * a_, const fortran_double_precision * b_);
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: 01-May-2000
The original version of this function (from EISPACK-2) due to
Cleve Moler and Donald Morrison, ``Replacing Square Roots by Pythagorean Sums'', IBM J. Research and Development, 27, 577--581 (1983)
Augustin A. Dubrulle, ``A Class of Numerical Methods for the Computation of Pythagorean Sums'', IBM J. Research and Development, 27, 582--589 (1983)
did not correctly handle Infinity and NaN arguments: it went into an infinite loop. This version is more robust, with two extra tests to detect such arguments.
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