Computes the spherical or cylindrical Bessel functions of the first kind, extended to the complex plane and cayley_dickson algebras.
{
template<eve;scalar_value N, kyosu::concepts::cayley_dickson T>
constexpr auto bessel_j(N n, T z)
noexcept;
template<eve;scalar_value N, kyosu::concepts::real T>
constexpr T
bessel_j(N n, T z)
noexcept;
template<eve;scalar_value N, kyosu::concepts::complex T,
size_t S>
constexpr auto bessel_j(N n, T z, std::span<Z, S> cjs)
noexcept;
template<eve;scalar_value N, kyosu::concepts::real T,
size_t S>
constexpr T
bessel_j(N n, T z, std::span<Z, S> cjs)
noexcept;
template<eve;scalar_value N, kyosu::concepts::cayley_dickson T>
constexpr auto bessel_j[spherical](N n, T z)
noexcept;
template<eve;scalar_value N, kyosu::concepts::real T>
constexpr T
bessel_j[spherical](N n, T z)
noexcept;
template<eve;scalar_value N, kyosu::concepts::complex T,
size_t S>
constexpr auto bessel_j[spherical](N n, T z, std::span<Z, S> sjs)
noexcept;
template<eve;scalar_value N, kyosu::concepts::real T,
size_t S>
constexpr T
bessel_j[spherical](N n, T z, std::span<Z, S> sjs)
noexcept;
}
constexpr auto bessel_j
Computes the spherical or cylindrical Bessel functions of the first kind, extended to the complex pla...
Definition: bessel_j.hpp:138
Main KYOSU namespace.
Definition: cinf.hpp:13
#include <kyosu/kyosu.hpp>
#include <eve/wide.hpp>
#include <iostream>
#include <iomanip>
int main()
{
std::cout<< std::setprecision(16) << std::endl;
using w_t = eve::wide<double, eve::fixed<2>>;
auto v = -(2+1/3.0);
int nb = int(eve::abs(v)+1);
std::cout << "z " << z << std::endl;
std::vector<decltype(z)> js(nb);
auto v0 = eve::frac(v);
for(int n=0; n < nb; ++n)
{
std::cout << "js[" << n << "] = " << js[n] << std::endl;
std::cout <<
"bessel_j[cylindrical](v0, z) = " <<
kyosu::bessel_j(v0, z) << std::endl;
}
return 0;
}
constexpr auto inc
Increments the argument.
Definition: inc.hpp:64
constexpr auto complex
Constructs a kyosu::complex_t instance.
Definition: to_complex.hpp:75