31struct sdf_r8 :
public snorm_r8 {
38 constexpr static float one_over_max_distance = 1.0f /
max_distance;
40 sdf_r8() noexcept = default;
41 sdf_r8(sdf_r8 const& other) noexcept = default;
42 sdf_r8(sdf_r8&& other) noexcept = default;
43 sdf_r8& operator=(sdf_r8 const& other) noexcept = default;
44 sdf_r8& operator=(sdf_r8&& other) noexcept = default;
47 sdf_r8(
float rhs) noexcept : snorm_r8(rhs * one_over_max_distance) {}
49 sdf_r8& operator=(
float rhs)
noexcept
51 snorm_r8::operator=(rhs *one_over_max_distance);
55 operator float() const noexcept
57 return (snorm_r8::operator
float()) * max_distance;
60 void repair() noexcept
62 *
this = -
static_cast<float>(*this);