22 using array_type = simd<value_type, 4>;
30 [[nodiscard]]
constexpr corner_radii(value_type radius) noexcept : _v(radius, radius, radius, radius) {}
31 [[nodiscard]]
constexpr corner_radii(value_type lb, value_type rb, value_type lt, value_type rt) noexcept : _v(lb, rb, lt, rt)
39 [[nodiscard]]
constexpr explicit corner_radii(array_type v) noexcept : _v(v) {}
41 [[nodiscard]]
constexpr explicit operator array_type() const noexcept
46 [[nodiscard]]
constexpr value_type left_bottom() const noexcept
51 [[nodiscard]]
constexpr value_type right_bottom() const noexcept
56 [[nodiscard]]
constexpr value_type left_top() const noexcept
61 [[nodiscard]]
constexpr value_type right_top() const noexcept
66 [[nodiscard]]
constexpr value_type& left_bottom() noexcept
71 [[nodiscard]]
constexpr value_type& right_bottom() noexcept
76 [[nodiscard]]
constexpr value_type& left_top() noexcept
81 [[nodiscard]]
constexpr value_type& right_top() noexcept
94 return get<I>(rhs._v);
112 [[nodiscard]]
constexpr friend corner_radii operator-(corner_radii
const& lhs, value_type rhs)
noexcept
114 return corner_radii{array_type{lhs} - rhs};
117 [[nodiscard]]
constexpr friend corner_radii operator*(corner_radii
const& lhs, value_type rhs)
noexcept
119 return corner_radii{array_type{lhs} * rhs};
122 [[nodiscard]]
constexpr friend corner_radii round(corner_radii
const& rhs)
noexcept
124 return corner_radii{round(rhs._v)};
127 [[nodiscard]]
constexpr friend corner_radii floor(corner_radii
const& rhs)
noexcept
129 return corner_radii{floor(rhs._v)};
132 [[nodiscard]]
constexpr friend corner_radii ceil(corner_radii
const& rhs)
noexcept
134 return corner_radii{ceil(rhs._v)};