E.V.E
v2022.03.00

◆ ellint_rc

eve::ellint_rc = {}
inlineconstexpr

computes the degenerate Carlson's elliptic integral \( \mathbf{R}_\mathbf{C}(x, y) = \frac12 \int_{0}^{\infty} \scriptstyle(t+x)^{-1/2}(t+y)^{-1}\scriptstyle\;\mathrm{d}t\).

Defined in header

#include <eve/module/elliptic.hpp>

Callable Signatures

namespace eve
{
template< eve::floating_real_value T, eve::floating_real_value U >
eve::common_compatible_value<T, U> ellint_rc(T x, U y) noexcept;
}
constexpr callable_ellint_rc_ ellint_rc
computes the degenerate Carlson's elliptic integral .
Definition: ellint_rc.hpp:52
Definition: all_of.hpp:22

Parameters

Return value

the value of the \(\mathbf{R}_\mathbf{C}\) elliptic integral is returned.

Example

#include <eve/module/elliptic.hpp>
#include <eve/wide.hpp>
#include <iostream>
int
main()
{
wide_ft pf = {1.0f, 0.0f, 1.5f, 3.0f};
wide_ft qf = {1.0f, 4.0f, 0.2f, 0.5f};
std::cout << "---- simd" << '\n'
<< "<- pf = " << pf << '\n'
<< "<- qf = " << qf << '\n'
<< "-> ellint_rc(pf, qf) = " << eve::ellint_rc(pf, qf) << '\n';
float xf = 3.0f;
float yf = 0.5f;
std::cout << "---- scalar" << '\n'
<< "<- xf = " << xf << '\n'
<< "<- yf = " << yf << '\n'
<< "-> ellint_rc(xf, yf) = " << eve::ellint_rc(xf, yf) << '\n';
return 0;
}
Wrapper for SIMD registers.
Definition: wide.hpp:65