vSMC  v3.0.0
Scalable Monte Carlo
Namespaces | Macros | Functions
constants.hpp File Reference

Go to the source code of this file.

Namespaces

 vsmc
 

Macros

#define VSMC_DEFINE_MATH_CONSTANTS(name, val)
 

Functions

template<typename T >
constexpr T vsmc::const_e () noexcept
 \(e\) More...
 
template<>
constexpr double vsmc::const_e< double > () noexcept
 
template<>
constexpr float vsmc::const_e< float > () noexcept
 
template<>
constexpr long double vsmc::const_e< long double > () noexcept
 
template<typename T >
constexpr T vsmc::const_e_inv () noexcept
 \(1/e\) More...
 
template<>
constexpr double vsmc::const_e_inv< double > () noexcept
 
template<>
constexpr float vsmc::const_e_inv< float > () noexcept
 
template<>
constexpr long double vsmc::const_e_inv< long double > () noexcept
 
template<typename T >
constexpr T vsmc::const_ln_10 () noexcept
 \(\ln(10)\) More...
 
template<>
constexpr double vsmc::const_ln_10< double > () noexcept
 
template<>
constexpr float vsmc::const_ln_10< float > () noexcept
 
template<>
constexpr long double vsmc::const_ln_10< long double > () noexcept
 
template<typename T >
constexpr T vsmc::const_ln_2 () noexcept
 \(\ln(2)\) More...
 
template<>
constexpr double vsmc::const_ln_2< double > () noexcept
 
template<>
constexpr float vsmc::const_ln_2< float > () noexcept
 
template<>
constexpr long double vsmc::const_ln_2< long double > () noexcept
 
template<typename T >
constexpr T vsmc::const_ln_3 () noexcept
 \(\ln(3)\) More...
 
template<>
constexpr double vsmc::const_ln_3< double > () noexcept
 
template<>
constexpr float vsmc::const_ln_3< float > () noexcept
 
template<>
constexpr long double vsmc::const_ln_3< long double > () noexcept
 
template<typename T >
constexpr T vsmc::const_ln_5 () noexcept
 \(\ln(5)\) More...
 
template<>
constexpr double vsmc::const_ln_5< double > () noexcept
 
template<>
constexpr float vsmc::const_ln_5< float > () noexcept
 
template<>
constexpr long double vsmc::const_ln_5< long double > () noexcept
 
template<typename T >
constexpr T vsmc::const_ln_inv_10 () noexcept
 \(1/\ln(10)\) More...
 
template<>
constexpr double vsmc::const_ln_inv_10< double > () noexcept
 
template<>
constexpr float vsmc::const_ln_inv_10< float > () noexcept
 
template<>
constexpr long double vsmc::const_ln_inv_10< long double > () noexcept
 
template<typename T >
constexpr T vsmc::const_ln_inv_2 () noexcept
 \(1/\ln(2)\) More...
 
template<>
constexpr double vsmc::const_ln_inv_2< double > () noexcept
 
template<>
constexpr float vsmc::const_ln_inv_2< float > () noexcept
 
template<>
constexpr long double vsmc::const_ln_inv_2< long double > () noexcept
 
template<typename T >
constexpr T vsmc::const_ln_inv_3 () noexcept
 \(1/\ln(3)\) More...
 
template<>
constexpr double vsmc::const_ln_inv_3< double > () noexcept
 
template<>
constexpr float vsmc::const_ln_inv_3< float > () noexcept
 
template<>
constexpr long double vsmc::const_ln_inv_3< long double > () noexcept
 
template<typename T >
constexpr T vsmc::const_ln_inv_5 () noexcept
 \(1/\ln(5)\) More...
 
template<>
constexpr double vsmc::const_ln_inv_5< double > () noexcept
 
template<>
constexpr float vsmc::const_ln_inv_5< float > () noexcept
 
template<>
constexpr long double vsmc::const_ln_inv_5< long double > () noexcept
 
template<typename T >
constexpr T vsmc::const_ln_ln_2 () noexcept
 \(\ln(\ln(2))\) More...
 
template<>
constexpr double vsmc::const_ln_ln_2< double > () noexcept
 
template<>
constexpr float vsmc::const_ln_ln_2< float > () noexcept
 
template<>
constexpr long double vsmc::const_ln_ln_2< long double > () noexcept
 
template<typename T >
constexpr T vsmc::const_ln_pi () noexcept
 \(\ln(\pi)\) More...
 
template<>
constexpr double vsmc::const_ln_pi< double > () noexcept
 
template<>
constexpr float vsmc::const_ln_pi< float > () noexcept
 
template<>
constexpr long double vsmc::const_ln_pi< long double > () noexcept
 
template<typename T >
constexpr T vsmc::const_ln_pi_2 () noexcept
 \(\ln(2\pi)\) More...
 
template<>
constexpr double vsmc::const_ln_pi_2< double > () noexcept
 
template<>
constexpr float vsmc::const_ln_pi_2< float > () noexcept
 
template<>
constexpr long double vsmc::const_ln_pi_2< long double > () noexcept
 
template<typename T >
constexpr T vsmc::const_ln_pi_2by3 () noexcept
 \(\ln((2/3)\pi)\) More...
 
template<>
constexpr double vsmc::const_ln_pi_2by3< double > () noexcept
 
template<>
constexpr float vsmc::const_ln_pi_2by3< float > () noexcept
 
template<>
constexpr long double vsmc::const_ln_pi_2by3< long double > () noexcept
 
template<typename T >
constexpr T vsmc::const_ln_pi_3by4 () noexcept
 \(\ln((3/4)\pi)\) More...
 
template<>
constexpr double vsmc::const_ln_pi_3by4< double > () noexcept
 
template<>
constexpr float vsmc::const_ln_pi_3by4< float > () noexcept
 
template<>
constexpr long double vsmc::const_ln_pi_3by4< long double > () noexcept
 
template<typename T >
constexpr T vsmc::const_ln_pi_4by3 () noexcept
 \(\ln((4/3)\pi)\) More...
 
template<>
constexpr double vsmc::const_ln_pi_4by3< double > () noexcept
 
template<>
constexpr float vsmc::const_ln_pi_4by3< float > () noexcept
 
template<>
constexpr long double vsmc::const_ln_pi_4by3< long double > () noexcept
 
template<typename T >
constexpr T vsmc::const_ln_pi_by2 () noexcept
 \(\ln(\pi/2)\) More...
 
template<>
constexpr double vsmc::const_ln_pi_by2< double > () noexcept
 
template<>
constexpr float vsmc::const_ln_pi_by2< float > () noexcept
 
template<>
constexpr long double vsmc::const_ln_pi_by2< long double > () noexcept
 
template<typename T >
constexpr T vsmc::const_ln_pi_by3 () noexcept
 \(\ln(\pi/3)\) More...
 
template<>
constexpr double vsmc::const_ln_pi_by3< double > () noexcept
 
template<>
constexpr float vsmc::const_ln_pi_by3< float > () noexcept
 
template<>
constexpr long double vsmc::const_ln_pi_by3< long double > () noexcept
 
template<typename T >
constexpr T vsmc::const_ln_pi_by4 () noexcept
 \(\ln(\pi/4)\) More...
 
template<>
constexpr double vsmc::const_ln_pi_by4< double > () noexcept
 
template<>
constexpr float vsmc::const_ln_pi_by4< float > () noexcept
 
template<>
constexpr long double vsmc::const_ln_pi_by4< long double > () noexcept
 
template<typename T >
constexpr T vsmc::const_ln_pi_by6 () noexcept
 \(\ln(\pi/6)\) More...
 
template<>
constexpr double vsmc::const_ln_pi_by6< double > () noexcept
 
template<>
constexpr float vsmc::const_ln_pi_by6< float > () noexcept
 
template<>
constexpr long double vsmc::const_ln_pi_by6< long double > () noexcept
 
template<typename T >
constexpr T vsmc::const_pi () noexcept
 \(\pi\) More...
 
template<>
constexpr double vsmc::const_pi< double > () noexcept
 
template<>
constexpr float vsmc::const_pi< float > () noexcept
 
template<>
constexpr long double vsmc::const_pi< long double > () noexcept
 
template<typename T >
constexpr T vsmc::const_pi_2 () noexcept
 \(2\pi\) More...
 
template<>
constexpr double vsmc::const_pi_2< double > () noexcept
 
template<>
constexpr float vsmc::const_pi_2< float > () noexcept
 
template<>
constexpr long double vsmc::const_pi_2< long double > () noexcept
 
template<typename T >
constexpr T vsmc::const_pi_2by3 () noexcept
 \((2/3)\pi\) More...
 
template<>
constexpr double vsmc::const_pi_2by3< double > () noexcept
 
template<>
constexpr float vsmc::const_pi_2by3< float > () noexcept
 
template<>
constexpr long double vsmc::const_pi_2by3< long double > () noexcept
 
template<typename T >
constexpr T vsmc::const_pi_3by4 () noexcept
 \((3/4)\pi\) More...
 
template<>
constexpr double vsmc::const_pi_3by4< double > () noexcept
 
template<>
constexpr float vsmc::const_pi_3by4< float > () noexcept
 
template<>
constexpr long double vsmc::const_pi_3by4< long double > () noexcept
 
template<typename T >
constexpr T vsmc::const_pi_4by3 () noexcept
 \((4/3)\pi\) More...
 
template<>
constexpr double vsmc::const_pi_4by3< double > () noexcept
 
template<>
constexpr float vsmc::const_pi_4by3< float > () noexcept
 
template<>
constexpr long double vsmc::const_pi_4by3< long double > () noexcept
 
template<typename T >
constexpr T vsmc::const_pi_by2 () noexcept
 \(\pi/2\) More...
 
template<>
constexpr double vsmc::const_pi_by2< double > () noexcept
 
template<>
constexpr float vsmc::const_pi_by2< float > () noexcept
 
template<>
constexpr long double vsmc::const_pi_by2< long double > () noexcept
 
template<typename T >
constexpr T vsmc::const_pi_by3 () noexcept
 \(\pi/3\) More...
 
template<>
constexpr double vsmc::const_pi_by3< double > () noexcept
 
template<>
constexpr float vsmc::const_pi_by3< float > () noexcept
 
template<>
constexpr long double vsmc::const_pi_by3< long double > () noexcept
 
template<typename T >
constexpr T vsmc::const_pi_by4 () noexcept
 \(\pi/4\) More...
 
template<>
constexpr double vsmc::const_pi_by4< double > () noexcept
 
template<>
constexpr float vsmc::const_pi_by4< float > () noexcept
 
template<>
constexpr long double vsmc::const_pi_by4< long double > () noexcept
 
template<typename T >
constexpr T vsmc::const_pi_by6 () noexcept
 \(\pi/6\) More...
 
template<>
constexpr double vsmc::const_pi_by6< double > () noexcept
 
template<>
constexpr float vsmc::const_pi_by6< float > () noexcept
 
template<>
constexpr long double vsmc::const_pi_by6< long double > () noexcept
 
template<typename T >
constexpr T vsmc::const_pi_inv () noexcept
 \(1/\pi\) More...
 
template<>
constexpr double vsmc::const_pi_inv< double > () noexcept
 
template<>
constexpr float vsmc::const_pi_inv< float > () noexcept
 
template<>
constexpr long double vsmc::const_pi_inv< long double > () noexcept
 
template<typename T >
constexpr T vsmc::const_pi_sqr () noexcept
 \(\pi^2\) More...
 
template<>
constexpr double vsmc::const_pi_sqr< double > () noexcept
 
template<>
constexpr float vsmc::const_pi_sqr< float > () noexcept
 
template<>
constexpr long double vsmc::const_pi_sqr< long double > () noexcept
 
template<typename T >
constexpr T vsmc::const_sqrt_10 () noexcept
 \(\sqrt{10}\) More...
 
template<>
constexpr double vsmc::const_sqrt_10< double > () noexcept
 
template<>
constexpr float vsmc::const_sqrt_10< float > () noexcept
 
template<>
constexpr long double vsmc::const_sqrt_10< long double > () noexcept
 
template<typename T >
constexpr T vsmc::const_sqrt_1by10 () noexcept
 \(\sqrt{1/10}\) More...
 
template<>
constexpr double vsmc::const_sqrt_1by10< double > () noexcept
 
template<>
constexpr float vsmc::const_sqrt_1by10< float > () noexcept
 
template<>
constexpr long double vsmc::const_sqrt_1by10< long double > () noexcept
 
template<typename T >
constexpr T vsmc::const_sqrt_1by2 () noexcept
 \(\sqrt{1/2}\) More...
 
template<>
constexpr double vsmc::const_sqrt_1by2< double > () noexcept
 
template<>
constexpr float vsmc::const_sqrt_1by2< float > () noexcept
 
template<>
constexpr long double vsmc::const_sqrt_1by2< long double > () noexcept
 
template<typename T >
constexpr T vsmc::const_sqrt_1by3 () noexcept
 \(\sqrt{1/3}\) More...
 
template<>
constexpr double vsmc::const_sqrt_1by3< double > () noexcept
 
template<>
constexpr float vsmc::const_sqrt_1by3< float > () noexcept
 
template<>
constexpr long double vsmc::const_sqrt_1by3< long double > () noexcept
 
template<typename T >
constexpr T vsmc::const_sqrt_1by5 () noexcept
 \(\sqrt{1/5}\) More...
 
template<>
constexpr double vsmc::const_sqrt_1by5< double > () noexcept
 
template<>
constexpr float vsmc::const_sqrt_1by5< float > () noexcept
 
template<>
constexpr long double vsmc::const_sqrt_1by5< long double > () noexcept
 
template<typename T >
constexpr T vsmc::const_sqrt_2 () noexcept
 \(\sqrt{2}\) More...
 
template<>
constexpr double vsmc::const_sqrt_2< double > () noexcept
 
template<>
constexpr float vsmc::const_sqrt_2< float > () noexcept
 
template<>
constexpr long double vsmc::const_sqrt_2< long double > () noexcept
 
template<typename T >
constexpr T vsmc::const_sqrt_3 () noexcept
 \(\sqrt{3}\) More...
 
template<>
constexpr double vsmc::const_sqrt_3< double > () noexcept
 
template<>
constexpr float vsmc::const_sqrt_3< float > () noexcept
 
template<>
constexpr long double vsmc::const_sqrt_3< long double > () noexcept
 
template<typename T >
constexpr T vsmc::const_sqrt_5 () noexcept
 \(\sqrt{5}\) More...
 
template<>
constexpr double vsmc::const_sqrt_5< double > () noexcept
 
template<>
constexpr float vsmc::const_sqrt_5< float > () noexcept
 
template<>
constexpr long double vsmc::const_sqrt_5< long double > () noexcept
 
template<typename T >
constexpr T vsmc::const_sqrt_e () noexcept
 \(\sqrt{e}\) More...
 
template<>
constexpr double vsmc::const_sqrt_e< double > () noexcept
 
template<>
constexpr float vsmc::const_sqrt_e< float > () noexcept
 
template<>
constexpr long double vsmc::const_sqrt_e< long double > () noexcept
 
template<typename T >
constexpr T vsmc::const_sqrt_e_inv () noexcept
 \(\sqrt{1/e}\) More...
 
template<>
constexpr double vsmc::const_sqrt_e_inv< double > () noexcept
 
template<>
constexpr float vsmc::const_sqrt_e_inv< float > () noexcept
 
template<>
constexpr long double vsmc::const_sqrt_e_inv< long double > () noexcept
 
template<typename T >
constexpr T vsmc::const_sqrt_pi () noexcept
 \(\sqrt{\pi}\) More...
 
template<>
constexpr double vsmc::const_sqrt_pi< double > () noexcept
 
template<>
constexpr float vsmc::const_sqrt_pi< float > () noexcept
 
template<>
constexpr long double vsmc::const_sqrt_pi< long double > () noexcept
 
template<typename T >
constexpr T vsmc::const_sqrt_pi_2 () noexcept
 \(\sqrt{2\pi}\) More...
 
template<>
constexpr double vsmc::const_sqrt_pi_2< double > () noexcept
 
template<>
constexpr float vsmc::const_sqrt_pi_2< float > () noexcept
 
template<>
constexpr long double vsmc::const_sqrt_pi_2< long double > () noexcept
 
template<typename T >
constexpr T vsmc::const_sqrt_pi_2by3 () noexcept
 \(\sqrt{(2/3)\pi}\) More...
 
template<>
constexpr double vsmc::const_sqrt_pi_2by3< double > () noexcept
 
template<>
constexpr float vsmc::const_sqrt_pi_2by3< float > () noexcept
 
template<>
constexpr long double vsmc::const_sqrt_pi_2by3< long double > () noexcept
 
template<typename T >
constexpr T vsmc::const_sqrt_pi_3by4 () noexcept
 \(\sqrt{(3/4)\pi/}\) More...
 
template<>
constexpr double vsmc::const_sqrt_pi_3by4< double > () noexcept
 
template<>
constexpr float vsmc::const_sqrt_pi_3by4< float > () noexcept
 
template<>
constexpr long double vsmc::const_sqrt_pi_3by4< long double > () noexcept
 
template<typename T >
constexpr T vsmc::const_sqrt_pi_4by3 () noexcept
 \(\sqrt{(4/3)\pi}\) More...
 
template<>
constexpr double vsmc::const_sqrt_pi_4by3< double > () noexcept
 
template<>
constexpr float vsmc::const_sqrt_pi_4by3< float > () noexcept
 
template<>
constexpr long double vsmc::const_sqrt_pi_4by3< long double > () noexcept
 
template<typename T >
constexpr T vsmc::const_sqrt_pi_by2 () noexcept
 \(\sqrt{\pi/2}\) More...
 
template<>
constexpr double vsmc::const_sqrt_pi_by2< double > () noexcept
 
template<>
constexpr float vsmc::const_sqrt_pi_by2< float > () noexcept
 
template<>
constexpr long double vsmc::const_sqrt_pi_by2< long double > () noexcept
 
template<typename T >
constexpr T vsmc::const_sqrt_pi_by3 () noexcept
 \(\sqrt{\pi/3}\) More...
 
template<>
constexpr double vsmc::const_sqrt_pi_by3< double > () noexcept
 
template<>
constexpr float vsmc::const_sqrt_pi_by3< float > () noexcept
 
template<>
constexpr long double vsmc::const_sqrt_pi_by3< long double > () noexcept
 
template<typename T >
constexpr T vsmc::const_sqrt_pi_by4 () noexcept
 \(\sqrt{\pi/4}\) More...
 
template<>
constexpr double vsmc::const_sqrt_pi_by4< double > () noexcept
 
template<>
constexpr float vsmc::const_sqrt_pi_by4< float > () noexcept
 
template<>
constexpr long double vsmc::const_sqrt_pi_by4< long double > () noexcept
 
template<typename T >
constexpr T vsmc::const_sqrt_pi_by6 () noexcept
 \(\sqrt{\pi/6}\) More...
 
template<>
constexpr double vsmc::const_sqrt_pi_by6< double > () noexcept
 
template<>
constexpr float vsmc::const_sqrt_pi_by6< float > () noexcept
 
template<>
constexpr long double vsmc::const_sqrt_pi_by6< long double > () noexcept
 
template<typename T >
constexpr T vsmc::const_sqrt_pi_inv () noexcept
 \(\sqrt{1/\pi}\) More...
 
template<>
constexpr double vsmc::const_sqrt_pi_inv< double > () noexcept
 
template<>
constexpr float vsmc::const_sqrt_pi_inv< float > () noexcept
 
template<>
constexpr long double vsmc::const_sqrt_pi_inv< long double > () noexcept
 

Macro Definition Documentation

#define VSMC_DEFINE_MATH_CONSTANTS (   name,
  val 
)
Value:
template <typename T> \
inline constexpr T const_##name() noexcept \
{ \
return static_cast<T>(val##l); \
} \
template <> \
inline constexpr float const_##name<float>() noexcept \
{ \
return val##f; \
} \
template <> \
inline constexpr double const_##name<double>() noexcept \
{ \
return val; \
} \
template <> \
inline constexpr long double const_##name<long double>() noexcept \
{ \
return val##l; \
}

Definition at line 35 of file constants.hpp.