Merge branch 'master' into verilog-ams
[sverilog.git] / constants.vams
blob356d97c9f0890e2c3943776bc5a24bb6a1684b5d
1 // Mathematical and physical constants
3 `ifdef CONSTANTS_VAMS
4 `else
5 `define CONSTANTS_VAMS 1
6  
7 // M_ is a mathematical constant
8 `define M_E        2.7182818284590452354
9 `define M_LOG2E    1.4426950408889634074
10 `define M_LOG10E   0.43429448190325182765
11 `define M_LN2      0.69314718055994530942
12 `define M_LN10     2.30258509299404568402
13 `define M_PI       3.14159265358979323846
14 `define M_TWO_PI   6.28318530717958647693
15 `define M_PI_2     1.57079632679489661923
16 `define M_PI_4     0.78539816339744830962
17 `define M_1_PI     0.31830988618379067154
18 `define M_2_PI     0.63661977236758134308
19 `define M_2_SQRTPI 1.12837916709551257390
20 `define M_SQRT2    1.41421356237309504880
21 `define M_SQRT1_2  0.70710678118654752440
24  * Do we need these? For now they are not available.
25  *
26 // The following constants have been taken from http://physics.nist.gov
27 // P_ is a physical constant
28 // charge of electron in coulombs
29 `define P_Q        1.602176462e-19
30 // speed of light in vacuum in meters/sec
31 `define P_C        2.99792458e8
32 // Boltzmann's constant in joules/kelvin
33 `define P_K        1.3806503e-23
34 // Planck's constant in joules*sec
35 `define P_H        6.62606876e-34
36 // permittivity of vacuum in farads/meter
37 `define P_EPS0     8.854187817e-12
38 // permeability of vacuum in henrys/meter
39 `define P_U0       (4.0e-7 * `M_PI)
40 // zero celsius in kelvin
41 `define P_CELSIUS0 273.15
43 `endif