9#include <ocl/detail/math/config.hpp>
14#define zeta_apery zeta_three
17namespace ocl::scientific
22 using quaternionf = ::boost::math::quaternion<float>;
23 using quaterniond = ::boost::math::quaternion<double>;
26 inline auto zeta_apery_f = ::boost::math::zeta<float>(3.0f);
27 inline auto zeta_apery_d = ::boost::math::zeta<double>(3.0);
30 enum class space_type : int32_t
43 template <
typename T, space_type S>
44 inline T norm(::boost::math::quaternion<T>
const& q)
48 case space_type::euclidean:
49 return ::boost::math::abs(q);
50 case space_type::minkowski:
51 return ::boost::math::norm(q);
54 ::boost::throw_exception(std::runtime_error(
"Invalid space type"), BOOST_CURRENT_LOCATION);