5#ifndef SAPPHIRE_MATHS_RADIAN_GUARD
6#define SAPPHIRE_MATHS_RADIAN_GUARD
49 constexpr Rad(T _rad)
noexcept;
56 template <
typename TIn>
64 template <
typename TIn>
83 constexpr
bool Equals(
Rad _other, T _epsilon = std::numeric_limits<T>::epsilon()) const noexcept;
97 constexpr
Rad operator-() const noexcept;
106 constexpr
Rad operator+(
Rad _rhs) const noexcept;
115 constexpr
Rad operator-(
Rad _rhs) const noexcept;
124 constexpr
Rad operator*(T _scale) const noexcept;
133 Rad operator/(T _scale) const;
161 Rad& operator*=(T _scale) noexcept;
170 Rad& operator/=(T _scale);
180 constexpr
bool operator==(
Rad _rhs) const noexcept;
189 constexpr
bool operator!=(
Rad _rhs) const noexcept;
197 explicit constexpr operator T() const noexcept;
213 template <
typename T>
214 std::string ToString(
const Rad<T>& _r);
228 template <
typename T>
241 constexpr Radf operator""_rad(
unsigned long long _lit)
noexcept;
250 constexpr Radd operator""_rad(
long double _lit)
noexcept;
261#include <SA/Maths/Angle/Radian.inl>
Maths Constants definition file.
Maths module Debug compatibility definition.
Equals method implementation.
Maths Degree type.
Definition Degree.hpp:37
Maths Radian type.
Definition Radian.hpp:36
constexpr bool Equals(Rad _other, T _epsilon=std::numeric_limits< T >::epsilon()) const noexcept
Compare 2 Rad.
void Clamp() noexcept
clamp this angle between [-Pi, Pi].
constexpr Rad(Deg< TIn > _deg) noexcept
Value constructor from radian.
constexpr Rad(T _rad) noexcept
Value constructor without conversion.
Rad()=default
Default contructor.
constexpr T Handle() const noexcept
Access the handled value.
constexpr Rad(Rad< TIn > _other) noexcept
Value constructor without conversion.