32#if defined(__cpp_lib_math_special_functions) || !defined(NUMCPP_NO_USE_BOOST)
39#ifndef __cpp_lib_math_special_functions
40#include "boost/math/special_functions/ellint_1.hpp"
57 template<
typename dtype1,
typename dtype2>
63#ifdef __cpp_lib_math_special_functions
64 return std::ellint_1(inK, inP);
66 return boost::math::ellint_1(inK, inP);
80 template<
typename dtype1,
typename dtype2>
83 if (inArrayK.
size() != inArrayP.
size())
94 [](dtype1 inK, dtype2 inP) ->
auto { return ellint_1(inK, inP); });
#define THROW_INVALID_ARGUMENT_ERROR(msg)
Definition Error.hpp:37
#define STATIC_ASSERT_ARITHMETIC(dtype)
Definition StaticAsserts.hpp:39
Holds 1D and 2D arrays, the main work horse of the NumCpp library.
Definition NdArrayCore.hpp:139
size_type size() const noexcept
Definition NdArrayCore.hpp:4604
const_iterator cbegin() const noexcept
Definition NdArrayCore.hpp:1365
const Shape & shape() const noexcept
Definition NdArrayCore.hpp:4591
const_iterator cend() const noexcept
Definition NdArrayCore.hpp:1673
Definition airy_ai.hpp:39
auto ellint_1(dtype1 inK, dtype2 inP)
Definition ellint_1.hpp:58
OutputIt transform(InputIt first, InputIt last, OutputIt destination, UnaryOperation unaryFunction)
Definition StlAlgorithms.hpp:776