40 decltype(q.
s) rs = q.
s * p.
s - q.
x * p.
x - q.
y * p.
y - q.
z * p.
z;
41 decltype(q.
x) rx = q.
s * p.
x + q.
x * p.
s + q.
y * p.
z - q.
z * p.
y;
42 decltype(q.
y) ry = q.
s * p.
y - q.
x * p.
z + q.
y * p.
s + q.
z * p.
x;
43 decltype(q.
z) rz = q.
s * p.
z + q.
x * p.
y - q.
y * p.
x + q.
z * p.
s;
75 return (*
this *= (T{1.0} / scalar));
nem::vec< T, 3 > cross(const nem::vec< T, 3 > &a, const nem::vec< T, 3 > &b)
constexpr quat_t & operator*=(T scalar)
constexpr friend quat_t operator*(quat_t q, T scalar)
constexpr friend quat_t operator+(quat_t lhs, const quat_t &rhs)
constexpr friend quat_t operator*(quat_t lhs, const quat_t &rhs)
constexpr quat_t & operator+=(const quat_t &other)
constexpr friend quat_t operator-(quat_t q)
constexpr friend quat_t operator/(quat_t q, T scalar)
constexpr quat_t & operator*=(const quat_t &other)
constexpr quat_t & operator/=(T scalar)
constexpr friend nem::vec< T, 3 > operator*(const quat_t &q, const nem::vec< T, 3 > &v)