Mathter
A configurable 3D math library for game developers.
MathUtil.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 #include <cmath>
4 
5 template <class T>
6 T sign(T arg) {
7  return T(arg > T(0)) - (arg < T(0));
8 }
9 
10 template <class T>
11 T sign_nonzero(T arg) {
12  return std::copysign(T(1), arg);
13 }
14 
15 template <class T>
16 constexpr T ConstexprExp10(int exponent) {
17  return exponent == 0 ? T(1) : T(10) * ConstexprExp10<T>(exponent - 1);
18 }
19 
20 template <class T>
21 constexpr T ConstexprAbs(T arg) {
22  return arg >= T(0) ? arg : -arg;
23 }
T sign_nonzero(T arg)
Definition: MathUtil.hpp:11
constexpr T ConstexprExp10(int exponent)
Definition: MathUtil.hpp:16
constexpr T ConstexprAbs(T arg)
Definition: MathUtil.hpp:21
T sign(T arg)
Definition: MathUtil.hpp:6