28 alignas(
sizeof(float) * 2)
33 sfloat_rg32() =
default;
34 sfloat_rg32(sfloat_rg32
const &rhs)
noexcept =
default;
35 sfloat_rg32(sfloat_rg32 &&rhs)
noexcept =
default;
36 sfloat_rg32 &operator=(sfloat_rg32
const &rhs)
noexcept =
default;
37 sfloat_rg32 &operator=(sfloat_rg32 &&rhs)
noexcept =
default;
39 constexpr sfloat_rg32(
float x,
float y) noexcept : v{x, y} {}
41 explicit sfloat_rg32(f32x4
const &rhs) noexcept : v{rhs.r(), rhs.g()} {}
43 sfloat_rg32 &operator=(f32x4
const &rhs)
noexcept
45 v = {rhs.r(), rhs.g()};
49 explicit operator f32x4()
const noexcept
51 return f32x4{std::get<0>(v), std::get<1>(v), 0.0f, 0.0f};
54 sfloat_rg32(extent2
const &rhs) noexcept : sfloat_rg32{
static_cast<f32x4
>(rhs)} {}
55 sfloat_rg32(scale2
const &rhs) noexcept : sfloat_rg32{
static_cast<f32x4
>(rhs)} {}
56 sfloat_rg32(vector2
const &rhs) noexcept : sfloat_rg32{
static_cast<f32x4
>(rhs)} {}
57 sfloat_rg32(
point2 const &rhs) noexcept : sfloat_rg32{
static_cast<f32x4
>(rhs)} {}
59 [[nodiscard]]
friend bool operator==(sfloat_rg32
const &lhs, sfloat_rg32
const &rhs)
noexcept =
default;