32 sfloat_rgb32() =
default;
33 sfloat_rgb32(sfloat_rgb32
const &rhs)
noexcept =
default;
34 sfloat_rgb32(sfloat_rgb32 &&rhs)
noexcept =
default;
35 sfloat_rgb32 &operator=(sfloat_rgb32
const &rhs)
noexcept =
default;
36 sfloat_rgb32 &operator=(sfloat_rgb32 &&rhs)
noexcept =
default;
38 sfloat_rgb32(f32x4
const &rhs) noexcept : v{rhs.r(), rhs.g(), rhs.b()} {}
40 sfloat_rgb32 &operator=(f32x4
const &rhs)
noexcept
42 v = {rhs.r(), rhs.g(), rhs.b()};
46 operator f32x4()
const noexcept
48 return f32x4{std::get<0>(v), std::get<1>(v), std::get<2>(v), 0.0f};
51 sfloat_rgb32(
point3 const &rhs) noexcept : sfloat_rgb32(
static_cast<f32x4
>(rhs)) {}
53 sfloat_rgb32 &operator=(
point3 const &rhs)
noexcept
55 return *
this =
static_cast<f32x4
>(rhs);
58 operator point3()
const noexcept
60 return point3{f32x4{*
this}};
63 [[nodiscard]]
friend bool operator==(sfloat_rgb32
const &lhs, sfloat_rgb32
const &rhs)
noexcept =
default;