26 sfloat_rgb32() =
default;
27 sfloat_rgb32(sfloat_rgb32
const &rhs)
noexcept =
default;
28 sfloat_rgb32(sfloat_rgb32 &&rhs)
noexcept =
default;
29 sfloat_rgb32 &operator=(sfloat_rgb32
const &rhs)
noexcept =
default;
30 sfloat_rgb32 &operator=(sfloat_rgb32 &&rhs)
noexcept =
default;
32 sfloat_rgb32(f32x4
const &rhs) noexcept : v{rhs.r(), rhs.g(), rhs.b()} {}
34 sfloat_rgb32 &operator=(f32x4
const &rhs)
noexcept
36 v = {rhs.r(), rhs.g(), rhs.b()};
40 operator f32x4()
const noexcept
42 return f32x4{std::get<0>(v), std::get<1>(v), std::get<2>(v), 0.0f};
45 sfloat_rgb32(
point3 const &rhs) noexcept : sfloat_rgb32(
static_cast<f32x4
>(rhs)) {}
47 sfloat_rgb32 &operator=(
point3 const &rhs)
noexcept
49 return *
this =
static_cast<f32x4
>(rhs);
52 operator point3()
const noexcept
54 return point3{f32x4{*
this}};
57 [[nodiscard]]
friend bool operator==(sfloat_rgb32
const &lhs, sfloat_rgb32
const &rhs)
noexcept =
default;