std::comp_e...p_ellint_3l(3)
π NAME π
Okay bestie, welcome to the std::comp_e...p_ellint_3l(3) page β it's from the C++ Standard Libary manual, and it's all about std::comp_ellint_3,std::comp_ellint_3f,std::comp_ellint_3l. Yep, the whole trio: std::comp_ellint_3, std::comp_ellint_3f, std::comp_ellint_3l. These are the complete elliptic integral of the third kind functions, and we are keeping every overload, every caveat, and every tiny detail. Periodt. β¨
π Synopsis π
Here's the overload squad, exactly as listed:
double comp_ellint_3( double k, double nu );
float comp_ellint_3( float k, float nu );
long double comp_ellint_3( long double k, long double nu ); (1)
float comp_ellint_3f( float k, float nu );
long double comp_ellint_3l( long double k, long double nu );
double comp_ellint_3( IntegralType k, IntegralType nu ); (2)
- Computes the complete elliptic integral of the third kind of
arg. π - A set of overloads or a function template accepting an argument of any integral type. Equivalent to (1) after casting the argument to
double.
Okay, important availability tea β: As all special functions, comp_ellint_3 is only guaranteed to be available in <cmath> 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. No cap, that's the rule. π
π¦ Parameters π¦
nuβ value of a floating-point or integral type.kβ value of a floating-point or integral type.
πΈ Return value πΈ
If no errors occur, the value of the complete elliptic integral of the second kind of arg is returned β that is, ellint_3(k, nu, Ο/2). π
Not me reading βsecond kindβ on a third-kind function page, but bestie, I'm keeping the facts exactly as this page gives them. π
β οΈ Error handling β οΈ
Errors may be reported as specified in math_errhandling.
- If the argument is
NaN,NaNis returned and domain error is not reported. π - If either
|k| > 1or|nu| > 1, a domain error may occur. π
π§ 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 π
The page says // Run this code β and it works as shown with gcc 6.0. π₯
#define __STDCPP_WANT_MATH_SPEC_FUNCS__ 1
#include <cmath>
#include <iostream>
int main()
{
double hpi = std::acos(-1) / 2;
std::cout << "Ξ (0, 0.75) = " << std::comp_ellint_3(0, 0.75) << '\n'
<< "Ο/2 = " << hpi << '\n'
<< "Ξ (0.5, 0.75) = " << std::comp_ellint_3(0.5, 0.75) << '\n'
<< "Ξ (0.5, 0.75, Ο/2) = " << std::ellint_3(0.5, 0.75, hpi) << '\n';
}
π Output:
Ξ (0, 0.75) = 3.14159
Ο/2 = 1.5708
Ξ (0.5, 0.75) = 3.45372
Ξ (0.5, 0.75, Ο/2) = 3.45372
π External links π
Weisstein, Eric W. "Complete Elliptic Integral of the Third Kind." From MathWorld--A Wolfram Web Resource.
π₯ See also π₯
ellint_3β (incomplete) elliptic integral of the third kindellint_3fβ (function)ellint_3l
And that's the whole page, bestie. Cute little footer recap: source/version is http://cppreference.com, date is 2024.06.10, and the manual page tag is std::comp_e...p_ellint_3l(3). Byeeee! ππ«Ά
π¦ where this page comes from
- nixpkgs unstable: stdman 2024.07.05
- opensuse-leap 16.0: stdman 2024.07.05-bp160.1.9 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms