33 constexpr
real_t PI = 3.1415926535897932384626433832795028841971693993751;
38 constexpr
real_t INF = std::numeric_limits<real_t>::infinity();
71 template <
typename NumberType>
76 template <
typename BT,
typename ET>
79 template <
typename BT,
typename ET>
86 "Template argument must be a floating point type");
87 return (x < T(0) ? -x : x);
94 "Template argument must be a floating point type");
102 "Template argument must be an integral type");
106 template <
typename T>
116 template <
typename T>
122 template <
typename T>
128 template <
typename NumberType>
137 template <
typename BT,
typename ET>
141 "Arguments must be integral types");
143 "Exponent must be an unsigned type");
159 template <
typename BT,
typename ET>
162 BT operator () (BT base, ET exp)
168 template <
typename BT,
typename ET>
171 BT operator () (BT base, ET exp)
177 template <
typename BT,
typename ET>
185 return fct(base, exp);
constexpr real_t PI_4
Definition: math.H:35
bool num_equal< long double >(long double, long double)
double real_t
Definition: types.H:51
bool num_equal(T, T)
Definition: math.H:99
BT pow(BT, ET)
Definition: math.H:178
constexpr real_t PI_2
Definition: math.H:34
bool real_equal(T, T)
Definition: math.H:91
constexpr real_t EPSILON
Definition: math.H:37
Sign sign(T)
Definition: math.H:107
bool is_negative(T)
Definition: math.H:123
constexpr real_t INF
Definition: math.H:38
const NumT & get_x() const
Definition: point2D.H:113
Sign
Definition: math.H:40
bool num_equal< float >(float, float)
bool num_equal< double >(double, double)
bool is_positive(T)
Definition: math.H:117
Value & value(MapKey< Key, Value > &item)
Definition: map.H:77
BT fast_integral_pow(BT, ET)
Definition: math.H:138
T abs(T)
Definition: math.H:83
const NumT & get_y() const
Definition: point2D.H:118
constexpr real_t PI
Definition: math.H:33
constexpr real_t PI3_2
Definition: math.H:36
real_t area_of_parallelogram(const GenPoint2D< NumberType > &, const GenPoint2D< NumberType > &, const GenPoint2D< NumberType > &)
Definition: math.H:129