|
| 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) |
| |
| std::ostream & | operator<< (std::ostream &s, const Vector4 &vec) |
| |
| std::istream & | operator>> (std::istream &s, Vector4 &vec) |
| |
|
(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