std::comp_ellint_1, std::comp_ellint_1f, std::comp_ellint_1l

  1. Computes the complete elliptic integral of the first kind of arg.

# Declarations

double comp_ellint_1( double arg );
double comp_ellint_1( float arg );
double comp_ellint_1( long double arg );
float comp_ellint_1f( float arg );
long double comp_ellint_1l( long double arg );
double comp_ellint_1( IntegralType arg );

# Parameters

# Return value

If no errors occur, value of the complete elliptic integral of the first kind of arg, that is ellint_1(arg, π/2), is returned.

# Notes

Implementations that do not support TR 29124 but support TR 19768, provide this function in the header tr1/cmath and namespace std::tr1.

An implementation of this function is also available in boost.math.

# Example

#define __STDCPP_WANT_MATH_SPEC_FUNCS__ 1
#include <cmath>
#include <iostream>
 
int main()
{
    double hpi = std::acos(-1) / 2;
    std::cout << "K(0) = " << std::comp_ellint_1(0) << '\n'
              << "π/2 = " << hpi << '\n'
              << "K(0.5) = " << std::comp_ellint_1(0.5) << '\n'
              << "F(0.5, π/2) = " << std::ellint_1(0.5, hpi) << '\n';
}