9#include "../macros.hpp"
11namespace hi {
inline namespace v1 {
16 using value_type = array_type::value_type;
20 constexpr scale2& operator=(
scale2 const&)
noexcept =
default;
21 constexpr scale2& operator=(
scale2&&)
noexcept =
default;
30 hi_axiom(holds_invariant());
55 return equal(lhs._v, rhs._v);
60 return _v.z() == 1.0f
and _v.w() == 1.0f;
87[[
nodiscard]]
constexpr scale2 operator/(extent2
const& lhs, extent2
const& rhs)
noexcept
89 hi_axiom(rhs.width() > 0.0f
and rhs.height() > 0.0f);
90 return scale2{
f32x4{lhs}.xy11() /
f32x4{rhs}.xy11()};
Defined the geo::extent, extent2 and extent3 types.
DOXYGEN BUG.
Definition algorithm.hpp:16
geometry/margins.hpp
Definition lookahead_iterator.hpp:5
constexpr Out narrow_cast(In const &rhs) noexcept
Cast numeric values without loss of precision.
Definition cast.hpp:377
A high-level geometric extent.
Definition extent2.hpp:29
static constexpr scale2 uniform(extent2 src_extent, extent2 dst_extent) noexcept
Get a uniform-scale-transform to scale an extent to another extent.
Definition scale2.hpp:46
A high-level geometric vector Part of the high-level vector, point, mat and color types.
Definition vector2.hpp:19