Carlson's Elliptic Integrals

TOMS577, a C++ code which evaluates Carlson's elliptic integral functions RC, RD, RF and RJ.

The text of many ACM TOMS algorithms is available online through ACM: or NETLIB:


The computer code and data files made available on this web page are distributed under the GNU LGPL license.


TOMS577 is available in a C++ version and a C version and a FORTRAN77 version and a FORTRAN90 version and a MATLAB version and a Python version.

Related Data and Programs:

ELLIPTIC_INTEGRAL, a C++ library which evaluates complete elliptic integrals of first, second and third kind, using Carlson's elliptic integral functions.

TEST_VALUES, a C++ library which supplies test values of various mathematical functions.



  1. Bille Carlson,
    Computing Elliptic Integrals by Duplication,
    Numerische Mathematik,
    Volume 33, 1979, pages 1-16.
  2. Bille Carlson, Elaine Notis,
    Algorithm 577, Algorithms for Incomplete Elliptic Integrals,
    ACM Transactions on Mathematical Software,
    Volume 7, Number 3, pages 398-403, September 1981.

Source Code:

Last revised on 02 May 2020.