|  | 
| template<typename T0, typename T1> | 
| bool | operator== (const Vec3< T0 > &v0, const Vec3< T1 > &v1) | 
|  | Equality operator, does exact floating point comparisons. 
 | 
|  | 
| template<typename T0, typename T1> | 
| bool | operator!= (const Vec3< T0 > &v0, const Vec3< T1 > &v1) | 
|  | Inequality operator, does exact floating point comparisons. 
 | 
|  | 
| template<typename S, typename T> | 
| Vec3< typename promote< S, T >::type > | operator* (S scalar, const Vec3< T > &v) | 
|  | Multiply each element of the given vector by scalar and return the result. 
 | 
|  | 
| template<typename S, typename T> | 
| Vec3< typename promote< S, T >::type > | operator* (const Vec3< T > &v, S scalar) | 
|  | Multiply each element of the given vector by scalar and return the result. 
 | 
|  | 
| template<typename T0, typename T1> | 
| Vec3< typename promote< T0, T1 >::type > | operator* (const Vec3< T0 > &v0, const Vec3< T1 > &v1) | 
|  | Multiply corresponding elements of v0 and v1 and return the result. 
 | 
|  | 
| template<typename S, typename T> | 
| Vec3< typename promote< S, T >::type > | operator/ (S scalar, const Vec3< T > &v) | 
|  | Divide scalar by each element of the given vector and return the result. 
 | 
|  | 
| template<typename S, typename T> | 
| Vec3< typename promote< S, T >::type > | operator/ (const Vec3< T > &v, S scalar) | 
|  | Divide each element of the given vector by scalar and return the result. 
 | 
|  | 
| template<typename T0, typename T1> | 
| Vec3< typename promote< T0, T1 >::type > | operator/ (const Vec3< T0 > &v0, const Vec3< T1 > &v1) | 
|  | Divide corresponding elements of v0 and v1 and return the result. 
 | 
|  | 
| template<typename T0, typename T1> | 
| Vec3< typename promote< T0, T1 >::type > | operator+ (const Vec3< T0 > &v0, const Vec3< T1 > &v1) | 
|  | Add corresponding elements of v0 and v1 and return the result. 
 | 
|  | 
| template<typename S, typename T> | 
| Vec3< typename promote< S, T >::type > | operator+ (const Vec3< T > &v, S scalar) | 
|  | Add scalar to each element of the given vector and return the result. 
 | 
|  | 
| template<typename T0, typename T1> | 
| Vec3< typename promote< T0, T1 >::type > | operator- (const Vec3< T0 > &v0, const Vec3< T1 > &v1) | 
|  | Subtract corresponding elements of v0 and v1 and return the result. 
 | 
|  | 
| template<typename S, typename T> | 
| Vec3< typename promote< S, T >::type > | operator- (const Vec3< T > &v, S scalar) | 
|  | Subtract scalar from each element of the given vector and return the result. 
 | 
|  | 
| template<typename T> | 
| T | angle (const Vec3< T > &v1, const Vec3< T > &v2) | 
|  | 
| template<typename T> | 
| bool | isApproxEqual (const Vec3< T > &a, const Vec3< T > &b) | 
|  | 
| template<typename T> | 
| bool | isApproxEqual (const Vec3< T > &a, const Vec3< T > &b, const Vec3< T > &eps) | 
|  | 
| template<typename T> | 
| Vec3< T > | Abs (const Vec3< T > &v) | 
|  | 
| template<typename T> | 
| void | orthonormalize (Vec3< T > &v1, Vec3< T > &v2, Vec3< T > &v3) | 
|  | 
| template<typename T> | 
| Vec3< T > | minComponent (const Vec3< T > &v1, const Vec3< T > &v2) | 
|  | Return component-wise minimum of the two vectors. 
 | 
|  | 
| template<typename T> | 
| Vec3< T > | maxComponent (const Vec3< T > &v1, const Vec3< T > &v2) | 
|  | Return component-wise maximum of the two vectors. 
 | 
|  | 
| template<typename T> | 
| Vec3< T > | Exp (Vec3< T > v) | 
|  | Return a vector with the exponent applied to each of the components of the input vector. 
 | 
|  | 
| template<typename T> | 
| Vec3< T > | Log (Vec3< T > v) | 
|  | Return a vector with log applied to each of the components of the input vector. 
 | 
|  |