49 template<
typename Arg>
requires(std::is_arithmetic_v<Arg>)
51 template<
typename Arg>
requires(std::is_arithmetic_v<Arg>)
53 template<
typename Arg>
requires(std::is_arithmetic_v<Arg>)
61 template<
typename T>
requires(std::is_arithmetic_v<T>)
63 template<
typename T>
requires(std::is_arithmetic_v<T>)
69 [[
nodiscard]]
static JPL_INLINE constexpr float CrossProduct(
const Vec2& a,
const Vec2& b)
noexcept {
return a.X * b.Y - a.Y * b.X; }
70 [[
nodiscard]]
static JPL_INLINE constexpr float DotProduct(
const Vec2& a,
const Vec2& b)
noexcept {
return a.X * b.X + a.Y * b.Y; }
JPL_INLINE constexpr T InvSqrt(T x) noexcept
Definition Math.h:283
JPL_INLINE constexpr T Sqrt(T x) noexcept
Definition Math.h:269
JPL_INLINE constexpr auto Abs(const T &value) noexcept
Standard abs is not constexpr in C++20.
Definition Math.h:87
Definition AcousticMaterial.h:36
JPL_INLINE constexpr Vec2 operator/(T Scale, const JPL::Vec2 &V) noexcept
Definition MinimalVec2.h:64
JPL_INLINE constexpr bool operator==(const Vec2 &A, const Vec2 &B) noexcept
Definition MinimalVec2.h:59
JPL_INLINE constexpr Vec2 operator*(T Scale, const JPL::Vec2 &V) noexcept
Definition MinimalVec2.h:62
JPL_INLINE simd min(const simd &a, const simd &b) noexcept
Element-wise min.
Definition SIMD.h:1813
std::ostream & operator<<(std::ostream &os, const AcousticMaterial &v)
Definition AcousticMaterial.h:104
Definition MinimalVec2.h:29
JPL_INLINE constexpr Vec2 operator-(const Vec2 &V) const noexcept
Definition MinimalVec2.h:46
JPL_INLINE constexpr Vec2 & Normalize() noexcept
Definition MinimalVec2.h:37
JPL_INLINE constexpr float Length() const noexcept
Definition MinimalVec2.h:36
static JPL_INLINE constexpr Vec2 Zero() noexcept
Definition MinimalVec2.h:33
float X
Definition MinimalVec2.h:30
JPL_INLINE constexpr Vec2 operator+(const Vec2 &V) const noexcept
Definition MinimalVec2.h:47
JPL_INLINE constexpr float LengthSquared() const noexcept
Definition MinimalVec2.h:35
JPL_INLINE constexpr Vec2 operator-() const noexcept
Definition MinimalVec2.h:45
JPL_INLINE constexpr void operator+=(const Vec2 &V) noexcept
Definition MinimalVec2.h:56
float Y
Definition MinimalVec2.h:31