20 static inline T cos(
const T val);
21 static inline T sin(
const T val);
22 static inline T tan(
const T val);
25 static inline T acos(
const T val);
26 static inline T asin(
const T val);
27 static inline T atan(
const T val);
28 static inline T atan2(
const T y,
const T x);
31 static inline T exp(
const T val);
32 static inline T log(
const T val);
33 static inline T log10(
const T val);
36 static inline T pow(
const T base,
const T expo);
37 static inline T sqrt(
const T val);
38 static inline T cbrt(
const T val);
41 static inline T floor(
const T val);
42 static inline T ceil(
const T val);
43 static inline T round(
const T val);
46 static inline T abs(
const T val);
65 inline float MathTrait<float>::tan(
const float val)
71 inline float MathTrait<float>::acos(
const float val)
77 inline float MathTrait<float>::asin(
const float val)
83 inline float MathTrait<float>::atan(
const float val)
89 inline float MathTrait<float>::atan2(
const float y,
const float x)
95 inline float MathTrait<float>::exp(
const float val)
101 inline float MathTrait<float>::log(
const float val)
107 inline float MathTrait<float>::log10(
const float val)
113 inline float MathTrait<float>::pow(
const float base,
const float expo)
115 return powf(base, expo);
119 inline float MathTrait<float>::sqrt(
const float val)
125 inline float MathTrait<float>::cbrt(
const float val)
135 inline float MathTrait<float>::floor(
const float val)
141 inline float MathTrait<float>::ceil(
const float val)
147 inline float MathTrait<float>::round(
const float val)
151 return floorf(val + 0.5f);
155 return ceilf(val - 0.5f);
160 inline float MathTrait<float>::abs(
const float val)
181 inline double MathTrait<double>::tan(
const double val)
187 inline double MathTrait<double>::acos(
const double val)
193 inline double MathTrait<double>::asin(
const double val)
199 inline double MathTrait<double>::atan(
const double val)
205 inline double MathTrait<double>::atan2(
const double y,
const double x)
211 inline double MathTrait<double>::exp(
const double val)
217 inline double MathTrait<double>::log(
const double val)
223 inline double MathTrait<double>::log10(
const double val)
229 inline double MathTrait<double>::pow(
const double base,
const double expo)
231 return pow(base, expo);
235 inline double MathTrait<double>::sqrt(
const double val)
241 inline double MathTrait<double>::cbrt(
const double val)
247 inline double MathTrait<double>::floor(
const double val)
253 inline double MathTrait<double>::ceil(
const double val)
259 inline double MathTrait<double>::round(
const double val)
263 return floor(val + 0.5);
267 return ceil(val - 0.5);
272 inline double MathTrait<double>::abs(
const double val)
293 inline long double MathTrait<long double>::tan(
const long double val)
299 inline long double MathTrait<long double>::acos(
const long double val)
305 inline long double MathTrait<long double>::asin(
const long double val)
311 inline long double MathTrait<long double>::atan(
const long double val)
317 inline long double MathTrait<long double>::atan2(
const long double y,
const long double x)
323 inline long double MathTrait<long double>::exp(
const long double val)
329 inline long double MathTrait<long double>::log(
const long double val)
335 inline long double MathTrait<long double>::log10(
const long double val)
341 inline long double MathTrait<long double>::pow(
const long double base,
const long double expo)
343 return powl(base, expo);
347 inline long double MathTrait<long double>::sqrt(
const long double val)
353 inline long double MathTrait<long double>::cbrt(
const long double val)
363 inline long double MathTrait<long double>::floor(
const long double val)
369 inline long double MathTrait<long double>::ceil(
const long double val)
375 inline long double MathTrait<long double>::round(
const long double val)
379 return floorl(val + 0.5l);
383 return ceill(val - 0.5l);
388 inline long double MathTrait<long double>::abs(
const long double val)