fn


fn, a Fortran90 code which evaluates elementary and special functions using Chebyshev polynomials, including Airy, Bessel I, Bessel J, Bessel K, Bessel Y, beta, confluent hypergeometric, cosine integral, Dawson's integral, digamma (psi), error, exponential integral, gamma, hyperbolic cosine integral, hyperbolic sine integral, incomplete gamma, log gamma, logarithmic integral, Pochhammer, psi, sine integral, Spence integral, by Wayne Fullerton.

The original, true, correct code is available through NETLIB: https://www.netlib.org/fn/index.html.

Licensing:

The information on this web page is distributed under the MIT license.

Languages:

fn is available in a C version and a C++ version and a Fortran90 version and a MATLAB version and an Octave version and a Python version.

Related Data and codes:

fn_test

c8lib, a Fortran90 code which implements certain elementary functions for double precision complex variables;

clausen, a Fortran90 code which evaluates a Chebyshev interpolant to the Clausen function Cl2(x).

f90_intrinsics, a Fortran90 code which illustrates the use of Fortran90 intrinsic functions.

gfortran_intrinsics, a Fortran90 code which illustrates the use of intrinsic functions provided by the Gnu GFortran compiler.

machar, a Fortran90 code which computes the appropriate values of machine constants for a given machine.

machine, a Fortran90 code which stores the appropriate values of machine constants for a given machine.

r8lib, a Fortran90 code which contains many utility routines, using "R8" or "double precision real" arithmetic.

specfun, a Fortran90 code which computes special functions, including Bessel I, J, K and Y functions, and the Dawson, E1, EI, Erf, Gamma, Psi/Digamma functions.

special_functions, a Fortran90 code which computes the Beta, Error, Gamma, Lambda, Psi functions, the Airy, Bessel I, J, K and Y, Hankel, Jacobian elliptic, Kelvin, Mathieu, Struve functions, spheroidal angular functions, parabolic cylinder functions, hypergeometric functions, the Bernoulli and Euler numbers, the Hermite, Laguerre and Legendre polynomials, the cosine, elliptic, exponential, Fresnel and sine integrals, by Shanjie Zhang, Jianming Jin;

test_values, a Fortran90 code which supplies test values of various mathematical functions.

toms715, a Fortran90 code which evaluates special functions, including the Bessel I, J, K, and Y functions of order 0, of order 1, and of any real order, Dawson's integral, the error function, exponential integrals, the gamma function, the normal distribution function, the psi function. This is a version of ACM TOMS algorithm 715.

Reference:

  1. Wayne Fullerton,
    Portable Special Function Routines,
    in Portability of Numerical Software,
    edited by Wayne Cowell,
    Lecture Notes in Computer Science, Volume 57, pages 452-483,
    Springer 1977,
    ISBN: 978-3-540-08446-4,
    LC: QA297.W65.

Source Code:


Last revised on 10 July 2020.