|
constexpr bool | operator== (const Vector4< T > &a, const Vector4< T > &b) |
|
constexpr bool | operator!= (const Vector4< T > &a, const Vector4< T > &b) |
|
constexpr const Vector4< T > & | operator+ (const Vector4< T > &a) |
|
constexpr auto | operator- (const Vector4< T > &a) -> Vector4< decltype(-std::declval< T >())> |
|
constexpr auto | operator+ (const Vector4< T > &a, const Vector4< T > &b) -> Vector4< decltype(std::declval< T >()+std::declval< T >())> |
|
constexpr auto | operator- (const Vector4< T > &a, const Vector4< T > &b) -> Vector4< decltype(std::declval< T >() - std::declval< T >())> |
|
constexpr auto | operator* (T a, const Vector4< T > &b) -> Vector4< decltype(std::declval< T >() *std::declval< T >())> |
|
constexpr auto | operator* (const Vector4< T > &b, T a) -> Vector4< decltype(std::declval< T >() *std::declval< T >())> |
|
constexpr auto | operator/ (Vector4< T > b, T a) -> Vector4< decltype(std::declval< T >()/std::declval< T >())> |
|
constexpr Vector4< T > & | operator+= (Vector4< T > &a, const Vector4< T > &b) |
|
constexpr Vector4< T > & | operator-= (Vector4< T > &a, const Vector4< T > &b) |
|
constexpr Vector4< T > & | operator*= (Vector4< T > &a, T b) |
|
constexpr Vector4< T > & | operator/= (Vector4< T > &a, T b) |
|
|
(Note that these are not member symbols.)
|
|
template<typename T > |
T | distanceSq (const Vector4< T > &a, const Vector4< T > &b) |
| squared distance between two points, which is faster to compute than just distance
|
|
template<typename T > |
T | distance (const Vector4< T > &a, const Vector4< T > &b) |
| distance between two points, better use distanceSq for higher performance
|
|
template<typename T > |
auto | dot (const Vector4< T > &a, const Vector4< T > &b) -> decltype(a.x *b.x) |
| dot product
|
|
template<typename T > |
T | sqr (const Vector4< T > &a) |
| squared length
|
|
template<typename T > |
Vector4< T > | mult (const Vector4< T > &a, const Vector4< T > &b) |
| per component multiplication
|
|
template<typename T > |
Vector4< T > | div (const Vector4< T > &a, const Vector4< T > &b) |
| per component division
|
|
template<typename T>
struct MR::Vector4< T >
four-dimensional vector