21 #ifndef LIB_LIGHTMETRICA_MATH_BASIC_H
22 #define LIB_LIGHTMETRICA_MATH_BASIC_H
24 #include "math.common.h"
27 LM_MATH_NAMESPACE_BEGIN
29 template <
typename T> LM_FORCE_INLINE T Radians(
const T& v);
30 template <
typename T> LM_FORCE_INLINE T Degrees(
const T& v);
31 template <
typename T> LM_FORCE_INLINE T Cos(
const T& v);
32 template <
typename T> LM_FORCE_INLINE T Sin(
const T& v);
33 template <
typename T> LM_FORCE_INLINE T Tan(
const T& v);
34 template <
typename T> LM_FORCE_INLINE T Abs(
const T& v);
35 template <
typename T> LM_FORCE_INLINE T Sqrt(
const T& v);
36 template <
typename T> LM_FORCE_INLINE T Log(
const T& v);
37 template <
typename T> LM_FORCE_INLINE T Exp(
const T& v);
38 template <
typename T> LM_FORCE_INLINE T Ceil(
const T& v);
39 template <
typename T> LM_FORCE_INLINE T Pow(
const T& base,
const T& exp);
40 template <
typename T> LM_FORCE_INLINE T Min(
const T& v1,
const T& v2);
41 template <
typename T> LM_FORCE_INLINE T Max(
const T& v1,
const T& v2);
42 template <
typename T> LM_FORCE_INLINE T Clamp(
const T& v,
const T& min,
const T& max);
43 template <
typename T> LM_FORCE_INLINE T Fract(
const T& v);
44 template <
typename T> LM_FORCE_INLINE
bool IsZero(
const T& v);
49 #include "math.basic.inl"
51 #endif // LIB_LIGHTMETRICA_MATH_BASIC_H