std::comp_ellint_3,std::comp_ellint_3f,std::comp_ellint_3l (3) Linux Manual Page
std::comp_ellint_3,std::comp_ellint_3f,std::comp_ellint_3l – std::comp_ellint_3,std::comp_ellint_3f,std::comp_ellint_3l
Synopsis
double comp_ellint_3( double k, double ν );
float comp_ellint_3f( float k, float ν ); (1) (since C++17)
long double comp_ellint_3l( long double k, long double ν );
Promoted comp_ellint_3( Arithmetic k, Arithmetic ν ); (2) (since C++17)
1) Computes the complete_elliptic_integral_of_the_third_kind of the arguments k and ν.
2) A set of overloads or a function template for all combinations of arguments of arithmetic type not covered by (1). If any argument has integral_type, it is cast to double. If any argument is long double, then the return type Promoted is also long double, otherwise the return type is always double.
Parameters
k – elliptic modulus or eccentricity (a value of a floating-point or integral type)
ν- elliptic characteristic (a value of floating-point or integral type)
Return value
If no errors occur, value of the complete elliptic integral of the third kind of k and ν, that is std::ellint_3(k,ν,π/2), is returned.
Error handling
Errors may be reported as specified in math_errhandling
* If the argument is NaN, NaN is returned and domain error is not reported
* If |k|>1, a domain error may occur
Notes
Implementations that do not support C++17, but support ISO_29124:2010, provide this function if __STDCPP_MATH_SPEC_FUNCS__ is defined by the implementation to a value at least 201003L and if the user defines __STDCPP_WANT_MATH_SPEC_FUNCS__ before including any standard library headers.
Implementations that do not support ISO 29124:2010 but support TR 19768:2007 (TR1), provide this function in the header tr1/cmath and namespace std::tr1
An implementation of this function is also available_in_boost.math
Example
// Run this code
#include <cmath>
#include <iostream>
int main()
{
double hpi = std::acos(-1) / 2;
std::cout << "Π(0.5,0) = " << std::comp_ellint_3(0.5, 0) << '\n'
<< "K(0.5) = " << std::comp_ellint_1(0.5) << '\n'
<< "Π(0,0) = " << std::comp_ellint_3(0, 0) << '\n'
<< "π/2 = " << hpi << '\n'
<< "Π(0.5,1) = " << std::comp_ellint_3(0.5, 1) << '\n';
}
Output:
External links
Weisstein,_Eric_W._"Elliptic_Integral_of_the_Second_Kind." From MathWorld–A Wolfram Web Resource.
See also
ellint_3
ellint_3f
ellint_3l (incomplete) elliptic integral of the third kind
(C++17)
(C++17)
(C++17)
