Add NormalizeAngleRad
This commit is contained in:
@@ -36,6 +36,22 @@ namespace OpenVulkano::Math
|
||||
{
|
||||
return val * val;
|
||||
}
|
||||
|
||||
// Ensures that a given angle is between 0 and 2 pi
|
||||
template<typename T, typename = std::enable_if_t<std::is_floating_point_v<T>>>
|
||||
constexpr T NormalizeAngleRad(T angle)
|
||||
{
|
||||
constexpr T PIX2 = 2 * std::numbers::pi;
|
||||
while (angle < 0)
|
||||
{
|
||||
angle += PIX2;
|
||||
}
|
||||
while (angle >= PIX2)
|
||||
{
|
||||
angle -= PIX2;
|
||||
}
|
||||
return angle;
|
||||
}
|
||||
}
|
||||
|
||||
template<typename T> using Matrix2_SIMD = glm::tmat2x2<T, glm::aligned>;
|
||||
|
||||
Reference in New Issue
Block a user