test_values, a C++ code which supplies test values of various mathematical functions, including Abramowitz, AGM, Airy, Bell, Bernoulli, Bessel, Beta, Binomial, Bivariate Normal, Catalan, Cauchy, Chebyshev, Chi Square, Clausen, Clebsch Gordan, Collatz, Cosine integral, Dawson, Debye, Dedekind, dilogarithm, Dixon elliptic functions, Exponential integral, Elliptic, Error, Euler, Exponential integral, F probability, Fresnel, Frobenius, Gamma, Gegenbauer, Goodwin, Gudermannian, Harmonic, Hermite, Hypergeometric 1F1, Hypergeometric 2F1, inverse trigonometic, Jacobi, Julian Ephemeris Date, Kelvin, Laguerre, Lambert W, Laplace, Legendre, Lerch, Lobachevsky, Lobatto, Logarithmic integral, Log normal, McNugget numbers, Mertens, Mittag-Leffler, Moebius, Multinomial, Negative binomial, Nine J, Normal, Omega, Owen, Partition, Phi, Pi, Poisson, Polylogarithm, Polynomial Resultant, Polyomino, Prime, Psi, Rayleigh, Hyperbolic Sine integral, Sigma, Sine Power integral, Sine integral, Six J, Sphere area, Sphere volume, Spherical harmonic, Stirling, Stromgen, Struve, Student, Subfactorial, Student probability, Three J, Transport, Trigamma, Truncated normal, van der Corput, von Mises, Weibull, Wright omega, Zeta.

The code provides a means of making very simple tests for correctness of software designed to compute a variety of functions. The testing can be done automatically. The data provided is generally skimpy, and might not test the algorithm over a suitably wide range. It does, however, provide a small amount of reassurance that a given computation is (or is not) computing the appropriate quantity, and doing so reasonably accurately.


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


test_values 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 and an R version.

Related Programs:


cordic, a C++ code which uses the CORDIC method to compute certain elementary functions.

fn, a C++ code which contains routines by Wayne Fullerton for evaluating elementary and special functions.

gsl_test, a C++ code which includes routines that evaluate many special functions.

legendre_polynomial, a C++ code which evaluates the Legendre polynomial and associated functions.

lobatto_polynomial, a C++ code which evaluates Lobatto polynomials, similar to Legendre polynomials except that they are zero at both endpoints.

polpak, a C++ code which computes various mathematical functions; test values for many of these functions are available in test_values().

prob, a C++ code which computes various statistical functions; values for many of these functions are available in test_values().


  1. Milton Abramowitz, Irene Stegun,
    Handbook of Mathematical Functions,
    National Bureau of Standards, 1964,
    ISBN: 0-486-61272-4,
    LC: QA47.A34.
  2. Robert Corless, Gaston Gonnet, David Hare, David Jeffrey, Donald Knuth,
    On the Lambert W Function,
    Advances in Computational Mathematics,
    Volume 5, 1996, pages 329-359.
  3. Gerard Cornuejols, Regina Urbaniak, Robert Weismantel, Laurence Wolsey,
    Decomposition of Integer Programs and of Generating Sets,
    in Algorithms - ESA '97,
    Lecture Notes in Computer Science 1284,
    edited by R Burkard, G Woeginger,
    Springer, 1997, pages 92-103,
    LC: QA76.9.A43.E83.
  4. Marc Deleglise, Joel Rivat,
    Computing the Summation of the Moebius Function,
    Experimental Mathematics,
    Volume 5, 1996, pages 291-295.
  5. Lester Haar, John Gallagher, George Kell,
    NBS/NRC Steam Tables:
    Thermodynamic and Transport Properties and Computer Programs for Vapor and Liquid States of Water in SI Units,
    Hemisphere Publishing Corporation, Washington, 1984,
    ISBN: 0-89116-353-0,
    LC: TJ270.H3.
  6. Brian Hayes,
    "Why W?",
    The American Scientist,
    Volume 93, March-April 2005, pages 104-108.
  7. Kanti Mardia, Peter Jupp,
    Directional Statistics,
    Wiley, 2000,
    ISBN: 0471953334,
    LC: QA276.M335
  8. Allan McLeod,
    Algorithm 757: MISCFUN: A software package to compute uncommon special functions,
    ACM Transactions on Mathematical Software,
    Volume 22, Number 3, September 1996, pages 288-301.
  9. National Bureau of Standards,
    Tables of the Bivariate Normal Distribution and Related Functions,
    Applied Mathematics Series, Number 50, 1959.
  10. Robert Owens,
    An Algorithm to Solve the Frobenius Problem,
    Mathematics Magazine,
    Volume 76, Number 4, October 2003, 264-275.
  11. Karl Pearson,
    Tables of the Incomplete Beta Function,
    Cambridge University Press, 1968,
    ISBN: 0521059224,
    LC: QA351.P38.
  12. Frank Powell,
    Statistical Tables for Sociology, Biology and Physical Sciences,
    Cambridge University Press, 1982,
    ISBN: 0521284732,
    LC: QA276.25.S73.
  13. Edward Reingold, Nachum Dershowitz,
    Calendrical Calculations: The Millennium Edition,
    Cambridge University Press, 2001,
    ISBN: 0-521-77752-6,
    LC: CE12.R45.
  14. Johannes van der Corput,
    Proc Akad Amsterdam,
    Volume 38, 1935,
    Volume 39, 1936.
  15. Eric Weisstein,
    CRC Concise Encyclopedia of Mathematics,
    CRC Press, 2002,
    Second edition,
    ISBN: 1584883472,
    LC: QA5.W45
  16. Stephen Wolfram,
    The Mathematica Book,
    Fourth Edition,
    Cambridge University Press, 1999,
    ISBN: 0-521-64314-7,
    LC: QA76.95.W65.
  17. Shanjie Zhang, Jianming Jin,
    Computation of Special Functions,
    Wiley, 1996,
    ISBN: 0-471-11963-6,
    LC: QA351.C45.
  18. Daniel Zwillinger, editor,
    CRC Standard Mathematical Tables and Formulae,
    30th Edition,
    CRC Press, 1996,
    ISBN: 0-8493-2479-3,
    LC: QA47.M315.
  19. Daniel Zwillinger, Steven Kokoska,
    Standard Probability and Statistical Tables,
    CRC Press, 2000,
    ISBN: 1-58488-059-7,
    LC: QA273.3.Z95.

Source Code:

Last revised on 29 December 2023.