39#ifdef VF_DOUBLE_ACCURACY
48#define INVALID_INDEX 4294967295
57 return { a.
x +
b.x, a.
y +
b.y, a.
z +
b.z };
62 a.
x +=
b.x; a.
y +=
b.y; a.
z +=
b.z;
67 return { a.
x -
b.x, a.
y -
b.y, a.
z -
b.z };
72 return { a.
x *
b, a.
y *
b, a.
z *
b };
77 return { a *
b.
x, a *
b.y, a *
b.z };
82 return { a.
x /
b, a.
y /
b, a.
z /
b };
94 return a.
x *
b.x + a.
y *
b.y + a.
z *
b.z;
99 return a.
x * a.
x + a.
y * a.
y + a.
z * a.
z;
constexpr real square(real3 a)
constexpr void operator/=(real3 &a, real b)
std::numeric_limits< real > realLim
std::shared_ptr< T > SPtr
constexpr real3 operator+(real3 a, real3 b)
constexpr real3 operator*(real3 a, real b)
constexpr void operator+=(real3 a, real3 b)
constexpr real3 operator-(real3 a, real3 b)
constexpr real3 operator/(real3 a, real b)
constexpr real dot(real3 a, real3 b)