16 template<std::
signed_
integral T>
26 if (
literal < std::numeric_limits<T>::min()
or
27 literal > std::numeric_limits<T>::max()) {
29 throw std::runtime_error{
"provided value is out of range"};
43 explicit constexpr operator float()
const
48 explicit constexpr operator T()
const
70 const float fvalue =
static_cast<float>(value_) /
static_cast<float>(std::numeric_limits<T>::max());
75 static constexpr T to_normalized_int(
float v)
77 const float saturated =
v > -1.0f ? (
v < 1.0f ?
v : 1.0f) : -1.0f;
86 template<std::
signed_
integral T>
88 static constexpr bool value =
true;
constexpr float normalized_value() const
Definition snorm.h:58
consteval Snorm(int literal)
Definition snorm.h:23
constexpr Snorm()=default
constexpr T raw_value() const
Definition snorm.h:53
friend auto operator<=>(const Snorm &, const Snorm &)=default
constexpr Snorm(T raw_value)
Definition snorm.h:33
constexpr Snorm(float normalized_value)
Definition snorm.h:37
T value_type
Definition snorm.h:19
Definition custom_decoration_generator.h:5
constexpr U to(T &&value)
Definition conversion.h:56
static constexpr bool value
Definition scalar.h:12