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

Go to the source code of this file.

Namespaces

 vsmc
 
 vsmc::math
 

Macros

#define VSMC_DEFINE_MATH_CONSTANTS(name, val)
 

Functions

template<typename T >
vsmc::math::e ()
 \(e\) More...
 
template<>
double vsmc::math::e< double > ()
 
template<>
float vsmc::math::e< float > ()
 
template<>
long double vsmc::math::e< long double > ()
 
template<typename T >
vsmc::math::e_inv ()
 \(1/e\) More...
 
template<>
double vsmc::math::e_inv< double > ()
 
template<>
float vsmc::math::e_inv< float > ()
 
template<>
long double vsmc::math::e_inv< long double > ()
 
template<typename T >
vsmc::math::ln_10 ()
 \(\ln(10)\) More...
 
template<>
double vsmc::math::ln_10< double > ()
 
template<>
float vsmc::math::ln_10< float > ()
 
template<>
long double vsmc::math::ln_10< long double > ()
 
template<typename T >
vsmc::math::ln_2 ()
 \(\ln(2)\) More...
 
template<>
double vsmc::math::ln_2< double > ()
 
template<>
float vsmc::math::ln_2< float > ()
 
template<>
long double vsmc::math::ln_2< long double > ()
 
template<typename T >
vsmc::math::ln_3 ()
 \(\ln(3)\) More...
 
template<>
double vsmc::math::ln_3< double > ()
 
template<>
float vsmc::math::ln_3< float > ()
 
template<>
long double vsmc::math::ln_3< long double > ()
 
template<typename T >
vsmc::math::ln_5 ()
 \(\ln(5)\) More...
 
template<>
double vsmc::math::ln_5< double > ()
 
template<>
float vsmc::math::ln_5< float > ()
 
template<>
long double vsmc::math::ln_5< long double > ()
 
template<typename T >
vsmc::math::ln_inv_10 ()
 \(1/\ln(10)\) More...
 
template<>
double vsmc::math::ln_inv_10< double > ()
 
template<>
float vsmc::math::ln_inv_10< float > ()
 
template<>
long double vsmc::math::ln_inv_10< long double > ()
 
template<typename T >
vsmc::math::ln_inv_2 ()
 \(1/\ln(2)\) More...
 
template<>
double vsmc::math::ln_inv_2< double > ()
 
template<>
float vsmc::math::ln_inv_2< float > ()
 
template<>
long double vsmc::math::ln_inv_2< long double > ()
 
template<typename T >
vsmc::math::ln_inv_3 ()
 \(1/\ln(3)\) More...
 
template<>
double vsmc::math::ln_inv_3< double > ()
 
template<>
float vsmc::math::ln_inv_3< float > ()
 
template<>
long double vsmc::math::ln_inv_3< long double > ()
 
template<typename T >
vsmc::math::ln_inv_5 ()
 \(1/\ln(5)\) More...
 
template<>
double vsmc::math::ln_inv_5< double > ()
 
template<>
float vsmc::math::ln_inv_5< float > ()
 
template<>
long double vsmc::math::ln_inv_5< long double > ()
 
template<typename T >
vsmc::math::ln_ln_2 ()
 \(\ln(\ln(2))\) More...
 
template<>
double vsmc::math::ln_ln_2< double > ()
 
template<>
float vsmc::math::ln_ln_2< float > ()
 
template<>
long double vsmc::math::ln_ln_2< long double > ()
 
template<typename T >
vsmc::math::ln_pi ()
 \(\ln(\pi)\) More...
 
template<>
double vsmc::math::ln_pi< double > ()
 
template<>
float vsmc::math::ln_pi< float > ()
 
template<>
long double vsmc::math::ln_pi< long double > ()
 
template<typename T >
vsmc::math::ln_pi_2 ()
 \(\ln(2\pi)\) More...
 
template<>
double vsmc::math::ln_pi_2< double > ()
 
template<>
float vsmc::math::ln_pi_2< float > ()
 
template<>
long double vsmc::math::ln_pi_2< long double > ()
 
template<typename T >
vsmc::math::ln_pi_2by3 ()
 \(\ln((2/3)\pi)\) More...
 
template<>
double vsmc::math::ln_pi_2by3< double > ()
 
template<>
float vsmc::math::ln_pi_2by3< float > ()
 
template<>
long double vsmc::math::ln_pi_2by3< long double > ()
 
template<typename T >
vsmc::math::ln_pi_3by4 ()
 \(\ln((3/4)\pi)\) More...
 
template<>
double vsmc::math::ln_pi_3by4< double > ()
 
template<>
float vsmc::math::ln_pi_3by4< float > ()
 
template<>
long double vsmc::math::ln_pi_3by4< long double > ()
 
template<typename T >
vsmc::math::ln_pi_4by3 ()
 \(\ln((4/3)\pi)\) More...
 
template<>
double vsmc::math::ln_pi_4by3< double > ()
 
template<>
float vsmc::math::ln_pi_4by3< float > ()
 
template<>
long double vsmc::math::ln_pi_4by3< long double > ()
 
template<typename T >
vsmc::math::ln_pi_by2 ()
 \(\ln(\pi/2)\) More...
 
template<>
double vsmc::math::ln_pi_by2< double > ()
 
template<>
float vsmc::math::ln_pi_by2< float > ()
 
template<>
long double vsmc::math::ln_pi_by2< long double > ()
 
template<typename T >
vsmc::math::ln_pi_by3 ()
 \(\ln(\pi/3)\) More...
 
template<>
double vsmc::math::ln_pi_by3< double > ()
 
template<>
float vsmc::math::ln_pi_by3< float > ()
 
template<>
long double vsmc::math::ln_pi_by3< long double > ()
 
template<typename T >
vsmc::math::ln_pi_by4 ()
 \(\ln(\pi/4)\) More...
 
template<>
double vsmc::math::ln_pi_by4< double > ()
 
template<>
float vsmc::math::ln_pi_by4< float > ()
 
template<>
long double vsmc::math::ln_pi_by4< long double > ()
 
template<typename T >
vsmc::math::ln_pi_by6 ()
 \(\ln(\pi/6)\) More...
 
template<>
double vsmc::math::ln_pi_by6< double > ()
 
template<>
float vsmc::math::ln_pi_by6< float > ()
 
template<>
long double vsmc::math::ln_pi_by6< long double > ()
 
template<typename T >
vsmc::math::pi ()
 \(\pi\) More...
 
template<>
double vsmc::math::pi< double > ()
 
template<>
float vsmc::math::pi< float > ()
 
template<>
long double vsmc::math::pi< long double > ()
 
template<typename T >
vsmc::math::pi_2 ()
 \(2\pi\) More...
 
template<>
double vsmc::math::pi_2< double > ()
 
template<>
float vsmc::math::pi_2< float > ()
 
template<>
long double vsmc::math::pi_2< long double > ()
 
template<typename T >
vsmc::math::pi_2by3 ()
 \((2/3)\pi\) More...
 
template<>
double vsmc::math::pi_2by3< double > ()
 
template<>
float vsmc::math::pi_2by3< float > ()
 
template<>
long double vsmc::math::pi_2by3< long double > ()
 
template<typename T >
vsmc::math::pi_3by4 ()
 \((3/4)\pi\) More...
 
template<>
double vsmc::math::pi_3by4< double > ()
 
template<>
float vsmc::math::pi_3by4< float > ()
 
template<>
long double vsmc::math::pi_3by4< long double > ()
 
template<typename T >
vsmc::math::pi_4by3 ()
 \((4/3)\pi\) More...
 
template<>
double vsmc::math::pi_4by3< double > ()
 
template<>
float vsmc::math::pi_4by3< float > ()
 
template<>
long double vsmc::math::pi_4by3< long double > ()
 
template<typename T >
vsmc::math::pi_by2 ()
 \(\pi/2\) More...
 
template<>
double vsmc::math::pi_by2< double > ()
 
template<>
float vsmc::math::pi_by2< float > ()
 
template<>
long double vsmc::math::pi_by2< long double > ()
 
template<typename T >
vsmc::math::pi_by3 ()
 \(\pi/3\) More...
 
template<>
double vsmc::math::pi_by3< double > ()
 
template<>
float vsmc::math::pi_by3< float > ()
 
template<>
long double vsmc::math::pi_by3< long double > ()
 
template<typename T >
vsmc::math::pi_by4 ()
 \(\pi/4\) More...
 
template<>
double vsmc::math::pi_by4< double > ()
 
template<>
float vsmc::math::pi_by4< float > ()
 
template<>
long double vsmc::math::pi_by4< long double > ()
 
template<typename T >
vsmc::math::pi_by6 ()
 \(\pi/6\) More...
 
template<>
double vsmc::math::pi_by6< double > ()
 
template<>
float vsmc::math::pi_by6< float > ()
 
template<>
long double vsmc::math::pi_by6< long double > ()
 
template<typename T >
vsmc::math::pi_inv ()
 \(1/\pi\) More...
 
template<>
double vsmc::math::pi_inv< double > ()
 
template<>
float vsmc::math::pi_inv< float > ()
 
template<>
long double vsmc::math::pi_inv< long double > ()
 
template<typename T >
vsmc::math::pi_sqr ()
 \(\pi^2\) More...
 
template<>
double vsmc::math::pi_sqr< double > ()
 
template<>
float vsmc::math::pi_sqr< float > ()
 
template<>
long double vsmc::math::pi_sqr< long double > ()
 
template<typename T >
vsmc::math::sqrt_10 ()
 \(\sqrt{10}\) More...
 
template<>
double vsmc::math::sqrt_10< double > ()
 
template<>
float vsmc::math::sqrt_10< float > ()
 
template<>
long double vsmc::math::sqrt_10< long double > ()
 
template<typename T >
vsmc::math::sqrt_1by10 ()
 \(\sqrt{1/10}\) More...
 
template<>
double vsmc::math::sqrt_1by10< double > ()
 
template<>
float vsmc::math::sqrt_1by10< float > ()
 
template<>
long double vsmc::math::sqrt_1by10< long double > ()
 
template<typename T >
vsmc::math::sqrt_1by2 ()
 \(\sqrt{1/2}\) More...
 
template<>
double vsmc::math::sqrt_1by2< double > ()
 
template<>
float vsmc::math::sqrt_1by2< float > ()
 
template<>
long double vsmc::math::sqrt_1by2< long double > ()
 
template<typename T >
vsmc::math::sqrt_1by3 ()
 \(\sqrt{1/3}\) More...
 
template<>
double vsmc::math::sqrt_1by3< double > ()
 
template<>
float vsmc::math::sqrt_1by3< float > ()
 
template<>
long double vsmc::math::sqrt_1by3< long double > ()
 
template<typename T >
vsmc::math::sqrt_1by5 ()
 \(\sqrt{1/5}\) More...
 
template<>
double vsmc::math::sqrt_1by5< double > ()
 
template<>
float vsmc::math::sqrt_1by5< float > ()
 
template<>
long double vsmc::math::sqrt_1by5< long double > ()
 
template<typename T >
vsmc::math::sqrt_2 ()
 \(\sqrt{2}\) More...
 
template<>
double vsmc::math::sqrt_2< double > ()
 
template<>
float vsmc::math::sqrt_2< float > ()
 
template<>
long double vsmc::math::sqrt_2< long double > ()
 
template<typename T >
vsmc::math::sqrt_3 ()
 \(\sqrt{3}\) More...
 
template<>
double vsmc::math::sqrt_3< double > ()
 
template<>
float vsmc::math::sqrt_3< float > ()
 
template<>
long double vsmc::math::sqrt_3< long double > ()
 
template<typename T >
vsmc::math::sqrt_5 ()
 \(\sqrt{5}\) More...
 
template<>
double vsmc::math::sqrt_5< double > ()
 
template<>
float vsmc::math::sqrt_5< float > ()
 
template<>
long double vsmc::math::sqrt_5< long double > ()
 
template<typename T >
vsmc::math::sqrt_e ()
 \(\sqrt{e}\) More...
 
template<>
double vsmc::math::sqrt_e< double > ()
 
template<>
float vsmc::math::sqrt_e< float > ()
 
template<>
long double vsmc::math::sqrt_e< long double > ()
 
template<typename T >
vsmc::math::sqrt_e_inv ()
 \(\sqrt{1/e}\) More...
 
template<>
double vsmc::math::sqrt_e_inv< double > ()
 
template<>
float vsmc::math::sqrt_e_inv< float > ()
 
template<>
long double vsmc::math::sqrt_e_inv< long double > ()
 
template<typename T >
vsmc::math::sqrt_pi ()
 \(\sqrt{\pi}\) More...
 
template<>
double vsmc::math::sqrt_pi< double > ()
 
template<>
float vsmc::math::sqrt_pi< float > ()
 
template<>
long double vsmc::math::sqrt_pi< long double > ()
 
template<typename T >
vsmc::math::sqrt_pi_2 ()
 \(\sqrt{2\pi}\) More...
 
template<>
double vsmc::math::sqrt_pi_2< double > ()
 
template<>
float vsmc::math::sqrt_pi_2< float > ()
 
template<>
long double vsmc::math::sqrt_pi_2< long double > ()
 
template<typename T >
vsmc::math::sqrt_pi_2by3 ()
 \(\sqrt{(2/3)\pi}\) More...
 
template<>
double vsmc::math::sqrt_pi_2by3< double > ()
 
template<>
float vsmc::math::sqrt_pi_2by3< float > ()
 
template<>
long double vsmc::math::sqrt_pi_2by3< long double > ()
 
template<typename T >
vsmc::math::sqrt_pi_3by4 ()
 \(\sqrt{(3/4)\pi/}\) More...
 
template<>
double vsmc::math::sqrt_pi_3by4< double > ()
 
template<>
float vsmc::math::sqrt_pi_3by4< float > ()
 
template<>
long double vsmc::math::sqrt_pi_3by4< long double > ()
 
template<typename T >
vsmc::math::sqrt_pi_4by3 ()
 \(\sqrt{(4/3)\pi}\) More...
 
template<>
double vsmc::math::sqrt_pi_4by3< double > ()
 
template<>
float vsmc::math::sqrt_pi_4by3< float > ()
 
template<>
long double vsmc::math::sqrt_pi_4by3< long double > ()
 
template<typename T >
vsmc::math::sqrt_pi_by2 ()
 \(\sqrt{\pi/2}\) More...
 
template<>
double vsmc::math::sqrt_pi_by2< double > ()
 
template<>
float vsmc::math::sqrt_pi_by2< float > ()
 
template<>
long double vsmc::math::sqrt_pi_by2< long double > ()
 
template<typename T >
vsmc::math::sqrt_pi_by3 ()
 \(\sqrt{\pi/3}\) More...
 
template<>
double vsmc::math::sqrt_pi_by3< double > ()
 
template<>
float vsmc::math::sqrt_pi_by3< float > ()
 
template<>
long double vsmc::math::sqrt_pi_by3< long double > ()
 
template<typename T >
vsmc::math::sqrt_pi_by4 ()
 \(\sqrt{\pi/4}\) More...
 
template<>
double vsmc::math::sqrt_pi_by4< double > ()
 
template<>
float vsmc::math::sqrt_pi_by4< float > ()
 
template<>
long double vsmc::math::sqrt_pi_by4< long double > ()
 
template<typename T >
vsmc::math::sqrt_pi_by6 ()
 \(\sqrt{\pi/6}\) More...
 
template<>
double vsmc::math::sqrt_pi_by6< double > ()
 
template<>
float vsmc::math::sqrt_pi_by6< float > ()
 
template<>
long double vsmc::math::sqrt_pi_by6< long double > ()
 
template<typename T >
vsmc::math::sqrt_pi_inv ()
 \(\sqrt{1/\pi}\) More...
 
template<>
double vsmc::math::sqrt_pi_inv< double > ()
 
template<>
float vsmc::math::sqrt_pi_inv< float > ()
 
template<>
long double vsmc::math::sqrt_pi_inv< long double > ()
 

Macro Definition Documentation

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

Definition at line 35 of file constants.hpp.