Trying to fix specialization before instantiation error

This commit is contained in:
Pascal Serrarens 2024-12-28 15:10:51 +01:00
parent b877d4d2f3
commit f47e504bf4
2 changed files with 12 additions and 12 deletions

View File

@ -9,17 +9,6 @@
const float Rad2Deg = 57.29578F;
const float Deg2Rad = 0.0174532924F;
template <> AngleOf<float> AngleOf<float>::Degrees(float degrees) {
if (isfinite(degrees)) {
while (degrees < -180)
degrees += 360;
while (degrees >= 180)
degrees -= 360;
}
return AngleOf<float>(degrees);
}
//===== Generic
template <typename T> AngleOf<T>::AngleOf() : value(0) {}
@ -285,6 +274,17 @@ template class AngleOf<signed short>;
//===== AngleSingle, AngleOf<float>
template <> AngleOf<float> AngleOf<float>::Degrees(float degrees) {
if (isfinite(degrees)) {
while (degrees < -180)
degrees += 360;
while (degrees >= 180)
degrees -= 360;
}
return AngleOf<float>(degrees);
}
template <> AngleOf<float> AngleOf<float>::Radians(float radians) {
if (isfinite(radians)) {
while (radians <= -pi)

View File

@ -28,12 +28,12 @@ public:
// const static AngleOf<T> deg90;
// const static AngleOf<T> deg180;
constexpr static auto Deg = Degrees;
/// @brief Creates an angle in degrees
/// @param degrees the angle in degrees
/// @return The angle value
static AngleOf<T> Degrees(float degrees);
/// @brief Short-hand Deg alias for the Degrees function
// constexpr static auto Deg = Degrees;
/// @brief Creates an angle in radians
/// @param radians the angle in radians
/// @return The angle value