23 lines
739 B
C++
23 lines
739 B
C++
#pragma once
|
|
|
|
#include <Orange/Math/Angle.h>
|
|
#include <math.h>
|
|
|
|
namespace orange::Math
|
|
{
|
|
inline float sin(const Radian& theta) { return sinf(static_cast<float>(theta)); }
|
|
inline float cos(const Radian& theta) { return cosf(static_cast<float>(theta)); }
|
|
inline float tan(const Radian& theta) { return tanf(static_cast<float>(theta)); }
|
|
|
|
inline Radian asin(float a) { return Radian(asinf(a)); }
|
|
inline Radian acos(float a) { return Radian(acosf(a)); }
|
|
inline Radian atan(float a) { return Radian(atanf(a)); }
|
|
inline Radian atan2(float y, float x) { return Radian(atan2f(y, x)); }
|
|
|
|
template <typename T>
|
|
constexpr T kroneckerDelta(const T& i, const T& j)
|
|
{
|
|
return i == j ? T{1} : T{0};
|
|
}
|
|
}
|