ape  0.5.0
Audio Programming Environment
consts.h
Go to the documentation of this file.
1 #ifndef CPPAPE_CONSTS_H
2 #define CPPAPE_CONSTS_H
3 #include <limits>
4 
5 namespace ape
6 {
10  template<typename V = double>
11  struct consts
12  {
13  // standard constants
14  static constexpr V pi = static_cast<V>(3.141592653589793238462643383279502884L);
15  static constexpr V e = static_cast<V>(2.718281828459045235360287471352662498L);
16  static constexpr V tau = static_cast<V>(pi * 2);
17  static constexpr V pi_half = static_cast<V>(pi / 2);
18  static constexpr V pi_quarter = static_cast<V>(pi / 4);
19  static constexpr V four_over_pi = static_cast<V>(4 / pi);
20  static constexpr V one = static_cast<V>(1);
21  static constexpr V minus_one = static_cast<V>(-1);
22  static constexpr V minus_two = static_cast<V>(-2);
23  static constexpr V half = static_cast<V>(0.5);
24  static constexpr V quarter = static_cast<V>(0.25);
25  static constexpr V two = static_cast<V>(2);
26  static constexpr V four = static_cast<V>(4);
27  static constexpr V sqrt_two = static_cast<V>(1.4142135623730950488016887242097L);
28  static constexpr V sqrt_half_two = static_cast<V>(0.70710678118654752440084436210485L);
29  static constexpr V sign_bit = static_cast<V>(-0.0);
30  static constexpr V epsilon = std::numeric_limits<V>::epsilon();
31  static constexpr V max = std::numeric_limits<V>::max();
32  static constexpr V min = std::numeric_limits<V>::min();
33  static constexpr V zero = static_cast<V>(0);
34 
35  //static constexpr V all_bits = static_cast<V>();
36  //static constexpr V sign_mask = static_cast<V>();
37 
38  };
39 }
40 
41 #endif
ape::consts::quarter
static constexpr V quarter
Definition: consts.h:24
ape::consts::e
static constexpr V e
Definition: consts.h:15
ape::consts::tau
static constexpr V tau
Definition: consts.h:16
ape::consts::two
static constexpr V two
Definition: consts.h:25
ape::consts::sqrt_two
static constexpr V sqrt_two
Definition: consts.h:27
ape::consts::pi
static constexpr V pi
Definition: consts.h:14
ape::consts::four_over_pi
static constexpr V four_over_pi
Definition: consts.h:19
ape::consts::min
static constexpr V min
Definition: consts.h:32
ape::consts::max
static constexpr V max
Definition: consts.h:31
ape::consts::sign_bit
static constexpr V sign_bit
Definition: consts.h:29
ape::consts::pi_quarter
static constexpr V pi_quarter
Definition: consts.h:18
ape::consts::zero
static constexpr V zero
Definition: consts.h:33
ape::consts::minus_two
static constexpr V minus_two
Definition: consts.h:22
ape::consts
Contains natural / math / utility constants typed as the template parameter
Definition: consts.h:11
ape
Definition: audiofile.h:7
ape::consts::half
static constexpr V half
Definition: consts.h:23
ape::consts::one
static constexpr V one
Definition: consts.h:20
ape::consts::four
static constexpr V four
Definition: consts.h:26
ape::consts::epsilon
static constexpr V epsilon
Definition: consts.h:30
ape::consts::pi_half
static constexpr V pi_half
Definition: consts.h:17
ape::consts::sqrt_half_two
static constexpr V sqrt_half_two
Definition: consts.h:28
ape::consts::minus_one
static constexpr V minus_one
Definition: consts.h:21