E.V.E
v2022.03.00

◆ ellint_rd

eve::ellint_rd = {}
inlineconstexpr

Computes the Carlson's elliptic integral.

\( \mathbf{R}_\mathbf{D}(x, y) = \frac32 \int_{0}^{\infty} \scriptstyle[(t+x)(t+y)]^{-1/2} (t+z)^{-3/2}\scriptstyle\;\mathrm{d}t\).

Defined in header

#include <eve/module/elliptic.hpp>

Callable Signatures

namespace eve
{
eve::common_compatible_value<T, U, V> ellint_rc(T x, U y, V z) noexcept;
}
Definition: value.hpp:103
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{D}\) Carlson 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