/// http://www.boost.org/LICENSE_1_0.txt ////////////////////////////////////////////////////////////////////////////// #ifndef NT2_TOOLBOX_HYPERBOLIC_FUNCTION_SCALAR_CONSTANTS_HPP_INCLUDED #define NT2_TOOLBOX_HYPERBOLIC_FUNCTION_SCALAR_CONSTANTS_HPP_INCLUDED // //////////////////////////////////////////////////////////////////////////////// // // Make True and False // //////////////////////////////////////////////////////////////////////////////// #include <nt2/sdk/constant/constant.hpp> #include <nt2/sdk/constant/details/real_constant.hpp> #include <nt2/sdk/constant/real.hpp> namespace nt2 { namespace constants { struct one_o_6_ {}; struct mone_o_6_ {}; struct one_o_120_{}; } } namespace nt2 { NT2_CONSTANT_IMPLEMENTATION(constants::one_o_6_ , Oneo_6 ) NT2_CONSTANT_IMPLEMENTATION(constants::mone_o_6_ , Moneo_6 ) NT2_CONSTANT_IMPLEMENTATION(constants::one_o_120_ , Oneo_120) } NT2_CONSTANT_MAKE_REAL(constants::one_o_6_ , 0x3fc5555555555555ll, 0x3e2aaaab) NT2_CONSTANT_MAKE_REAL(constants::mone_o_6_ , 0xbfc5555555555555ll, 0xbe2aaaab) NT2_CONSTANT_MAKE_REAL(constants::one_o_120_ , 0x3f81111111111111ll, 0x3c088889) #endif
struct inv_log_2_ {}; struct log_2_ {}; struct log_10_ {}; struct exp_1_ {}; struct log_2_o_log_10_ {}; struct inv_log_10_ {}; struct max_log_ {}; struct euler_ {}; struct expni_big_ {}; struct expx2_c1_ {}; struct expx2_c2_ {}; } } namespace nt2 { NT2_CONSTANT_IMPLEMENTATION(constants::exp_1_ ,Exp_1 ) NT2_CONSTANT_IMPLEMENTATION(constants::log_2_ ,Log_2 ) NT2_CONSTANT_IMPLEMENTATION(constants::inv_log_2_ ,Invlog_2 ) NT2_CONSTANT_IMPLEMENTATION(constants::log_10_ ,Log10 ) NT2_CONSTANT_IMPLEMENTATION(constants::inv_log_10_ ,Invlog_10 ) NT2_CONSTANT_IMPLEMENTATION(constants::log_2_o_log_10_,Log_2olog_10) NT2_CONSTANT_IMPLEMENTATION(constants::max_log_ ,Maxlog ) NT2_CONSTANT_IMPLEMENTATION(constants::euler_ ,Euler ) NT2_CONSTANT_IMPLEMENTATION(constants::expni_big_ ,Expnibig ) NT2_CONSTANT_IMPLEMENTATION(constants::expx2_c1_ ,Expx2c1 ) NT2_CONSTANT_IMPLEMENTATION(constants::expx2_c2_ ,Expx2c2 ) } NT2_CONSTANT_MAKE_REAL(constants::exp_1_ ,0x4005bf0a8b145769LL,0x402df854) NT2_CONSTANT_MAKE_REAL(constants::log_2_ ,0x3fe62e42fefa39efLL,0x3f317218)
namespace nt2 { namespace tag { struct eps__ {}; struct half_eps__ {}; struct _3_x_eps_ {}; struct sqrt_eps_ {}; struct forth_root_eps_ {}; struct third_root_eps_ {}; struct mlog_eps_2_ {}; struct min_denormal_ {}; struct smallest_pos_val_{}; } } namespace nt2 { NT2_CONSTANT_IMPLEMENTATION(nt2::tag::eps__ , Eps ) NT2_CONSTANT_IMPLEMENTATION(nt2::tag::half_eps__ , Halfeps ) NT2_CONSTANT_IMPLEMENTATION(nt2::tag::_3_x_eps_ , Threeeps ) NT2_CONSTANT_IMPLEMENTATION(nt2::tag::sqrt_eps_ , Sqrteps ) NT2_CONSTANT_IMPLEMENTATION(nt2::tag::forth_root_eps_ , Fourthrooteps ) NT2_CONSTANT_IMPLEMENTATION(nt2::tag::third_root_eps_ , Thirdrooteps ) NT2_CONSTANT_IMPLEMENTATION(nt2::tag::mlog_eps_2_ , Mlogeps2 ) NT2_CONSTANT_IMPLEMENTATION(nt2::tag::min_denormal_ , Mindenormal ) NT2_CONSTANT_IMPLEMENTATION(nt2::tag::smallest_pos_val_, Smallestposval) } #include <nt2/toolbox/constant/constants/scalar/eps_related.hpp> #include <nt2/toolbox/constant/constants/simd/all/eps_related.hpp> #endif
struct _4_o_pi_ {}; struct _2_o_pi_ {}; struct sqrt_2_o_pi {}; struct three_pi_o_4 {}; struct inv_pi_ {}; struct pi_o_180_ {}; struct one_o_180_{}; struct deg_in_rad_ {}; struct rad_in_deg_ {}; struct rad_in_deg_r_{}; } } namespace nt2 { NT2_CONSTANT_IMPLEMENTATION(constants::pi_o_2_ , Pio_2 ) NT2_CONSTANT_IMPLEMENTATION(constants::pi_o_4_ , Pio_4 ) NT2_CONSTANT_IMPLEMENTATION(constants::pi_x_4_ , Pix_4 ) NT2_CONSTANT_IMPLEMENTATION(constants::pi_x_2_ , Pix_2 ) NT2_CONSTANT_IMPLEMENTATION(constants::_4_o_pi_ , Fouropi ) NT2_CONSTANT_IMPLEMENTATION(constants::inv_pi_ , Invpi ) NT2_CONSTANT_IMPLEMENTATION(constants::pi_o_180_ , Pio_180 ) NT2_CONSTANT_IMPLEMENTATION(constants::one_o_180_ , Oneo_180) NT2_CONSTANT_IMPLEMENTATION(constants::deg_in_rad_ , Deginrad ) NT2_CONSTANT_IMPLEMENTATION(constants::rad_in_deg_ , Radindeg ) NT2_CONSTANT_IMPLEMENTATION(constants::rad_in_deg_r_ , Radindegr) NT2_CONSTANT_IMPLEMENTATION(constants::sqrt_2pi_ , Sqrt_2pi) NT2_CONSTANT_IMPLEMENTATION(constants::_2_o_pi_ , Twoopi) NT2_CONSTANT_IMPLEMENTATION(constants::sqrt_2_o_pi , Sqrt_2opi) NT2_CONSTANT_IMPLEMENTATION(constants::three_pi_o_4 , Threepio_4) }
struct half_ {}; struct third_ {}; struct quarter_ {}; struct two_to_m10_ {}; struct two_to_nmb_ {}; struct pi_ {}; struct split_factor_{}; struct sqrt_2_o_2_ {}; struct sqrt_2_ {}; struct gold_ {}; struct c_gold_ {}; } } namespace nt2 { NT2_CONSTANT_IMPLEMENTATION(constants::nan_ , Nan ) NT2_CONSTANT_IMPLEMENTATION(constants::m_half_ , Mhalf ) NT2_CONSTANT_IMPLEMENTATION(constants::m_zero_ , Mzero ) NT2_CONSTANT_IMPLEMENTATION(constants::half_ , Half ) NT2_CONSTANT_IMPLEMENTATION(constants::third_ , Third ) NT2_CONSTANT_IMPLEMENTATION(constants::quarter_ , Quarter ) NT2_CONSTANT_IMPLEMENTATION(constants::two_to_m10_ , Twotom10) NT2_CONSTANT_IMPLEMENTATION(constants::two_to_nmb_ , Two2nmb ) NT2_CONSTANT_IMPLEMENTATION(constants::pi_ , Pi ) NT2_CONSTANT_IMPLEMENTATION(constants::split_factor_, Splitfactor) NT2_CONSTANT_IMPLEMENTATION(constants::sqrt_2_o_2_ , Sqrt_2o_2) NT2_CONSTANT_IMPLEMENTATION(constants::sqrt_2_ , Sqrt_2 ) NT2_CONSTANT_IMPLEMENTATION(constants::gold_ , Gold ) NT2_CONSTANT_IMPLEMENTATION(constants::c_gold_ , Cgold ) }