34 #ifndef NUMCPP_NO_USE_BOOST
35 #include "boost/math/special_functions/factorials.hpp"
55 #ifndef NUMCPP_NO_USE_BOOST
56 if (inValue <= boost::math::max_factorial<double>::value)
58 return boost::math::factorial<double>(inValue);
61 return std::numeric_limits<double>::infinity();
64 for (
uint32 i = 2; i <= inValue; ++i)
66 result *=
static_cast<double>(i);
87 [](
uint32 inValue) ->
double
89 return factorial(inValue);
const_iterator cbegin() const noexcept
Definition: NdArrayCore.hpp:1270
Shape shape() const noexcept
Definition: NdArrayCore.hpp:4483
const_iterator cend() const noexcept
Definition: NdArrayCore.hpp:1614
iterator begin() noexcept
Definition: NdArrayCore.hpp:1214
double factorial(uint32 inValue)
Definition: factorial.hpp:53
OutputIt transform(InputIt first, InputIt last, OutputIt destination, UnaryOperation unaryFunction)
Definition: StlAlgorithms.hpp:702
Definition: Coordinate.hpp:45
std::uint32_t uint32
Definition: Types.hpp:40