Free Electron
|
Dense vector - size fixed by template. More...
#include <Vector.h>
Public Member Functions | |
Vector (const Vector< N, T > &other) | |
template<typename U > | |
Vector (const Vector< N, U > &other) | |
template<typename U > | |
Vector (const Vector< N+1, U > &other) | |
template<typename U > | |
Vector (const Vector< N+2, U > &other) | |
template<typename U > | |
Vector (const Vector< N-1, U > &other) | |
template<typename U > | |
Vector (const Vector< N-2, U > &other) | |
Vector (const T *array) | |
Vector (T x, T y, T z, T w, T v, T u) | |
Vector (T x, T y, T z, T w, T v) | |
Vector (T x, T y, T z, T w) | |
Vector (T x, T y, T z) | |
Vector (T x, T y) | |
Vector (T x) | |
const T & | operator[] (unsigned int index) const |
T & | operator[] (unsigned int index) |
T * | raw (void) |
const T * | raw (void) const |
const T * | temp (void) const |
Vector< N, T > & | operator= (const T *array) |
Vector< N, T > & | operator= (const Vector< N, T > &other) |
template<typename U > | |
Vector< N, T > & | operator= (const Vector< N, U > &other) |
Vector< N, T > & | operator= (const Vector< N+1, T > &other) |
template<typename U > | |
Vector< N, T > & | operator= (const Vector< N+1, U > &other) |
template<typename U > | |
Vector< N, T > & | operator= (const Vector< N+2, U > &other) |
template<typename U > | |
Vector< N, T > & | operator= (const Vector< N-1, U > &other) |
template<typename U > | |
Vector< N, T > & | operator= (const Vector< N-2, U > &other) |
bool | operator== (const Vector< N, T > &other) const |
bool | operator!= (const Vector< N, T > &other) const |
template<> | |
Vector (const Vector< 2, U > &other) | |
Public Attributes | |
T | m_data [N] |
Related Functions | |
(Note that these are not member functions.) | |
template<int M, int N, class T , class U > | |
Vector< M, T > & | multiply (Vector< M, T > &b, const Matrix< M, N, T > &A, const Vector< N, U > &x) |
Matrix Vector multiply. More... | |
template<int M, int N, class T , class U > | |
Vector< M, T > | multiply (const Matrix< M, N, T > &A, const Vector< N, U > &x) |
Matrix Vector multiply. More... | |
template<int M, int N, class T > | |
Vector< M, T > | transposeMultiply (const Matrix< M, N, T > &A, const Vector< N, T > &x) |
Matrix Vector multiply with the matrix transposed. More... | |
template<int M, int N, class T , class U > | |
Vector< M, U > | operator* (const Matrix< M, N, T > &lhs, const Vector< N, U > &rhs) |
Matrix Vector multiply. More... | |
template<class T , class U > | |
bool | equivalent (const Matrix< 3, 4, T > &lhs, const Matrix< 3, 4, T > &rhs, U margin) |
Equivalence test within the given tolerance margin. More... | |
template<int N, class T > | |
Vector< N, T > & | set (Vector< N, T > &lhs) |
Set all the elements to zero. More... | |
template<int N, class T , class U > | |
Vector< N, T > & | setAll (Vector< N, T > &lhs, const U value) |
Set all the elements to the given value. More... | |
template<int N, class T , class U > | |
Vector< N, T > & | setAt (Vector< N, T > &lhs, U32 index, const U value) |
Set the value at the index. More... | |
template<int N, class T > | |
U32 | size (const Vector< N, T > &lhs) |
Return the number of elements. More... | |
template<int N, class T > | |
Vector< N, T > & | operator+= (Vector< N, T > &lhs, const Vector< N, T > &rhs) |
In place add operator. More... | |
template<int M, int N, class T > | |
Vector< N, T > & | operator+= (Vector< N, T > &lhs, const Vector< M, T > &rhs) |
In place add operator. More... | |
template<int N, class T > | |
Vector< N, T > & | operator-= (Vector< N, T > &lhs, const Vector< N, T > &rhs) |
In place subtract operator. More... | |
template<int M, int N, class T > | |
Vector< N, T > & | operator-= (Vector< N, T > &lhs, const Vector< M, T > &rhs) |
In place subtract operator. More... | |
template<int N, class T > | |
Vector< N, T > | operator- (const Vector< N, T > &rhs) |
Negate operation. More... | |
template<int N, class T > | |
Vector< N, T > & | operator*= (Vector< N, T > &lhs, const Vector< N, T > &rhs) |
In place piecewise multiply operator. More... | |
template<int M, int N, class T > | |
Vector< N, T > & | operator*= (Vector< N, T > &lhs, const Vector< M, T > &rhs) |
In place piecewise multiply operator. More... | |
template<int N, class T , class U > | |
Vector< N, T > & | operator*= (Vector< N, T > &lhs, U scale) |
In place piecewise scale operator. More... | |
template<int N, class T > | |
T | dot (const Vector< N, T > &lhs, const Vector< N, T > &rhs) |
Dot (inner) product. More... | |
template<int N, class T > | |
T | magnitude (const Vector< N, T > &rhs) |
Frobenius norm operation. More... | |
template<int N, class T > | |
T | magnitudeSquared (const Vector< N, T > &rhs) |
Square of the length. More... | |
template<int N, class T > | |
Vector< N, T > | unit (const Vector< N, T > &vec) |
Return vector scaled to unit length. More... | |
template<int N, class T > | |
Vector< N, T > | unitSafe (const Vector< N, T > &vec) |
Return vector scaled to unit length with zero check. More... | |
template<int N, class T > | |
Vector< N, T > & | normalize (Vector< N, T > &vec) |
In place normalize operator. More... | |
template<int N, class T > | |
Vector< N, T > & | normalizeSafe (Vector< N, T > &vec) |
In place normalize operator with zero length check. More... | |
template<int N, class T > | |
String | print (const Vector< N, T > &vec) |
Print to a string. More... | |
template<int N, class T > | |
Vector< N, T > | operator+ (const Vector< N, T > &lhs, const Vector< N, T > &rhs) |
add operation More... | |
template<int N, int M, class T > | |
Vector< N, T > | operator+ (const Vector< N, T > &lhs, const Vector< M, T > &rhs) |
add operation More... | |
template<int N, class T > | |
Vector< N, T > | operator- (const Vector< N, T > &lhs, const Vector< N, T > &rhs) |
subtract operation More... | |
template<int N, int M, class T > | |
Vector< N, T > | operator- (const Vector< N, T > &lhs, const Vector< M, T > &rhs) |
subtract operation More... | |
template<int N, class T > | |
bool | operator== (const Vector< N, T > &lhs, const Vector< N, T > &rhs) |
equality test More... | |
template<int N, class T , class U > | |
bool | equivalent (const Vector< N, T > &lhs, const Vector< N, T > &rhs, U margin) |
Equivalence test within the given tolerance margin. More... | |
template<int N, class T > | |
Vector< N, T > | operator* (const Vector< N, T > &lhs, const Vector< N, T > &rhs) |
Piecewise multiply operation. More... | |
template<int N, class T , class U > | |
Vector< N, T > | operator* (const U lhs, const Vector< N, T > &rhs) |
Scale operation. More... | |
template<int N, class T , class U > | |
Vector< N, T > | operator* (const Vector< N, T > &lhs, const U &rhs) |
Scale operation. More... | |
template<int N, class T , class U > | |
Vector< N, T > | operator/ (const Vector< N, T > &lhs, const U &rhs) |
Inverse Scale operation. More... | |
template<int N, class T , class U > | |
Vector< N, T > & | addScaled (Vector< N, T > &lhs, U scalar, const Vector< N, T > &rhs) |
Add with scaling. More... | |
template<int N, class T , class U > | |
Vector< N, T > & | scaleAndAdd (Vector< N, T > &lhs, U scalar, const Vector< N, T > &rhs) |
Scale then add. More... | |
template<typename T > | |
Vector< 4, T > & | set (Vector< 4, T > &r) |
Set components. More... | |
template<typename T , typename U > | |
Vector< 4, T > & | set (Vector< 4, T > &r, U x) |
Set components. More... | |
template<typename T , typename U , typename V > | |
Vector< 4, T > & | set (Vector< 4, T > &r, U x, V y) |
Set components. More... | |
template<typename T , typename U , typename V , typename W > | |
Vector< 4, T > & | set (Vector< 4, T > &r, U x, V y, W z) |
Set components. More... | |
template<typename T , typename U , typename V , typename W , typename X > | |
Vector< 4, T > & | set (Vector< 4, T > &r, U x, V y, W z, X w) |
Set components. More... | |
template<typename T , typename U > | |
Vector< 4, T > & | setAt (Vector< 4, T > &lhs, U32 index, U value) |
Set indexed component. More... | |
template<typename T > | |
U32 | size (const Vector< 4, T > &lhs) |
Return the number of elements. More... | |
template<typename T > | |
Vector< 4, T > & | operator+= (Vector< 4, T > &lhs, const Vector< 4, T > &rhs) |
Add to Vector in place. More... | |
template<typename T > | |
Vector< 4, T > & | operator-= (Vector< 4, T > &lhs, const Vector< 4, T > &rhs) |
Subtract from Vector in place. More... | |
template<typename T > | |
Vector< 4, T > | operator- (const Vector< 4, T > &rhs) |
Negate the Vector. More... | |
template<typename T > | |
Vector< 4, T > & | operator*= (Vector< 4, T > &lhs, const Vector< 4, T > &rhs) |
Independently scale components in place. More... | |
template<typename T , typename U > | |
Vector< 4, T > & | operator*= (Vector< 4, T > &lhs, U scale) |
Uniformly scale components in place. More... | |
template<typename T > | |
T | dot (const Vector< 4, T > &lhs, const Vector< 4, T > &rhs) |
Return dot product. More... | |
template<typename T > | |
T | magnitudeSquared (const Vector< 4, T > &rhs) |
Return square of the Vector length. More... | |
template<typename T > | |
T | magnitude (const Vector< 4, T > &rhs) |
Return the Vector length. More... | |
template<typename T > | |
Vector< 4, T > | unit (const Vector< 4, T > &vector) |
Return the Vector direction scaled to unit length. More... | |
template<typename T > | |
Vector< 4, T > | unitSafe (const Vector< 4, T > &vector) |
Return the Vector direction scaled to unit length with zero check. More... | |
template<typename T > | |
Vector< 4, T > & | normalize (Vector< 4, T > &vector) |
Scale Vector to unit length. More... | |
template<typename T > | |
Vector< 4, T > & | normalizeSafe (Vector< 4, T > &vector) |
Scale Vector to unit length with zero check. More... | |
template<typename T > | |
String | print (const Vector< 4, T > &vector) |
Return text describing the Vector's state. More... | |
template<typename T > | |
Vector< 4, T > | operator+ (const Vector< 4, T > &lhs, const Vector< 4, T > &rhs) |
Return sum of Vectors. More... | |
template<typename T > | |
Vector< 4, T > | operator- (const Vector< 4, T > &lhs, const Vector< 4, T > &rhs) |
Return difference of Vectors. More... | |
template<typename T > | |
Vector< 4, T > | operator* (const Vector< 4, T > &lhs, const Vector< 4, T > &rhs) |
Return a Vector of products of each component. More... | |
template<typename T , typename U > | |
boost::enable_if< boost::is_arithmetic< U >, Vector< 4, T > >::type | operator* (const U lhs, const Vector< 4, T > &rhs) |
Return a uniformly scale Vector (pre) More... | |
template<typename T , typename U > | |
boost::enable_if< boost::is_arithmetic< U >, Vector< 4, T > >::type | operator* (const Vector< 4, T > &lhs, const U rhs) |
Return a uniformly scale Vector (post) More... | |
template<typename T > | |
Vector< 4, T > & | cross3 (Vector< 4, T > &r, const Vector< 4, T > &lhs, const Vector< 4, T > &rhs) |
Return a cross product of Vectors. More... | |
template<typename T > | |
Vector< 4, T > | cross3 (const Vector< 4, T > &lhs, const Vector< 4, T > &rhs) |
Set the Vector as a cross product of Vectors. More... | |
String | print (const Vector< FE_VDIM, F32 > &rhs) |
Return text describing the Vector's state. More... | |
Vector< FE_VDIM, F32 > & | set (Vector< FE_VDIM, F32 > &r) |
Set components. More... | |
template<typename T > | |
Vector< FE_VDIM, F32 > & | set (Vector< FE_VDIM, F32 > &r, T x) |
Set components. More... | |
template<typename T , typename U > | |
Vector< FE_VDIM, F32 > & | set (Vector< FE_VDIM, F32 > &r, T x, U y) |
Set components. More... | |
template<typename T , typename U , typename V > | |
Vector< FE_VDIM, F32 > & | set (Vector< FE_VDIM, F32 > &r, T x, U y, V z) |
Set components. More... | |
template<typename T , typename U , typename V , typename W > | |
Vector< FE_VDIM, F32 > & | set (Vector< FE_VDIM, F32 > &r, T x, U y, V z, W w) |
Set components. More... | |
template<typename T > | |
Vector< FE_VDIM, F32 > & | setAll (Vector< FE_VDIM, F32 > &lhs, T value) |
Set all components to the same value. More... | |
template<typename T > | |
Vector< FE_VDIM, F32 > & | setAt (Vector< FE_VDIM, F32 > &lhs, U32 index, T value) |
Set indexed component. More... | |
template<typename T > | |
U32 | size (const Vector< FE_VDIM, F32 > &lhs) |
Return the number of elements. More... | |
Vector< FE_VDIM, F32 > & | operator+= (Vector< FE_VDIM, F32 > &lhs, const Vector< FE_VDIM, F32 > &rhs) |
Add to Vector in place. More... | |
Vector< FE_VDIM, F32 > & | operator-= (Vector< FE_VDIM, F32 > &lhs, const Vector< FE_VDIM, F32 > &rhs) |
Subtract from Vector in place. More... | |
Vector< FE_VDIM, F32 > | operator- (const Vector< FE_VDIM, F32 > &rhs) |
Negate the Vector. More... | |
Vector< FE_VDIM, F32 > & | operator*= (Vector< FE_VDIM, F32 > &lhs, const Vector< FE_VDIM, F32 > &rhs) |
Independently scale components in place. More... | |
template<typename T > | |
Vector< FE_VDIM, F32 > & | operator*= (Vector< FE_VDIM, F32 > &lhs, T rhs) |
Uniformly scale components in place. More... | |
F32 | dot (const Vector< FE_VDIM, F32 > &lhs, const Vector< FE_VDIM, F32 > &rhs) |
Return dot product. More... | |
F32 | magnitudeSquared (const Vector< FE_VDIM, F32 > &rhs) |
Return square of the Vector length. More... | |
F32 | magnitude (const Vector< FE_VDIM, F32 > &rhs) |
Return the Vector length. More... | |
Vector< FE_VDIM, F32 > | operator+ (const Vector< FE_VDIM, F32 > &lhs, const Vector< FE_VDIM, F32 > &rhs) |
Return sum of Vectors. More... | |
Vector< FE_VDIM, F32 > | operator- (const Vector< FE_VDIM, F32 > &lhs, const Vector< FE_VDIM, F32 > &rhs) |
Return difference of Vectors. More... | |
Vector< FE_VDIM, F32 > | operator* (const Vector< FE_VDIM, F32 > &lhs, const Vector< FE_VDIM, F32 > &rhs) |
Return a Vector of products of each component. More... | |
template<typename T > | |
boost::enable_if< boost::is_arithmetic< T >, Vector< FE_VDIM, F32 > >::type | operator* (const T lhs, const Vector< FE_VDIM, F32 > &rhs) |
Return a uniformly scaled Vector (pre) More... | |
template<typename T > | |
boost::enable_if< boost::is_arithmetic< T >, Vector< FE_VDIM, F32 > >::type | operator* (const Vector< FE_VDIM, F32 > &lhs, const T rhs) |
Return a uniformly scaled Vector (post) More... | |
Vector< FE_VDIM, F32 > | unit (const Vector< FE_VDIM, F32 > &rhs) |
Return the Vector direction scaled to unit length. More... | |
Vector< FE_VDIM, F32 > | unitSafe (const Vector< FE_VDIM, F32 > &rhs) |
Return the Vector direction scaled to unit length with zero check. More... | |
Vector< FE_VDIM, F32 > & | normalize (Vector< FE_VDIM, F32 > &rhs) |
Scale Vector to unit length. More... | |
Vector< FE_VDIM, F32 > & | normalizeSafe (Vector< FE_VDIM, F32 > &rhs) |
Scale Vector to unit length. More... | |
Vector< FE_VDIM, F32 > & | cross3 (Vector< FE_VDIM, F32 > &r, const Vector< FE_VDIM, F32 > &lhs, const Vector< FE_VDIM, F32 > &rhs) |
Return a cross product of Vectors. More... | |
Vector< FE_VDIM, F32 > | cross3 (const Vector< FE_VDIM, F32 > &lhs, const Vector< FE_VDIM, F32 > &rhs) |
Set the Vector as a cross product of Vectors. More... | |
Dense vector - size fixed by template.
|
related |
Set the Vector as a cross product of Vectors.
<4,T>
|
related |
Return a cross product of Vectors.
<4,F32>
|
related |
Set the Vector as a cross product of Vectors.
<4,F32>
Return dot product.
<4,T>
|
related |
Return dot product.
<4,F32>
Dot (inner) product.
Referenced by fe::Vector< 4, t_moa_real >::magnitudeSquared().
|
related |
Equivalence test within the given tolerance margin.
|
related |
Equivalence test within the given tolerance margin.
|
related |
Return the Vector length.
<4,T>
|
related |
Return the Vector length.
<4,F32>
|
related |
Frobenius norm operation.
Referenced by fe::Vector< 4, t_moa_real >::normalize(), fe::Vector< 4, t_moa_real >::normalizeSafe(), fe::Vector< 4, t_moa_real >::unit(), and fe::Vector< 4, t_moa_real >::unitSafe().
|
related |
Return square of the Vector length.
<4,T>
|
related |
Return square of the Vector length.
<4,F32>
|
related |
Square of the length.
Referenced by fe::Vector< 4, t_moa_real >::magnitude().
Scale Vector to unit length.
<4,T>
Scale Vector to unit length.
<4,F32>
In place normalize operator.
Scale Vector to unit length with zero check.
<4,T>
|
related |
Scale Vector to unit length.
<4,F32>
In place normalize operator with zero length check.
|
related |
Return a Vector of products of each component.
<4,T>
|
related |
Return a uniformly scale Vector (pre)
<4,T>
|
related |
Return a uniformly scale Vector (post)
<4,T>
|
related |
Return a Vector of products of each component.
<4,F32>
|
related |
Return a uniformly scaled Vector (pre)
<4,F32>
|
related |
Return a uniformly scaled Vector (post)
<4,F32>
|
related |
Piecewise multiply operation.
|
related |
Scale operation.
|
related |
Scale operation.
|
related |
Independently scale components in place.
<4,T>
|
related |
Uniformly scale components in place.
<4,T>
|
related |
Independently scale components in place.
<4,F32>
|
related |
Uniformly scale components in place.
<4,F32>
|
related |
In place piecewise multiply operator.
|
related |
In place piecewise multiply operator.
|
related |
In place piecewise scale operator.
|
related |
Return sum of Vectors.
<4,T>
|
related |
Return sum of Vectors.
<4,F32>
|
related |
add operation
|
related |
add operation
|
related |
Add to Vector in place.
<4,T>
|
related |
Add to Vector in place.
<4,F32>
|
related |
In place add operator.
|
related |
In place add operator.
Negate the Vector.
<4,T>
|
related |
Return difference of Vectors.
<4,T>
|
related |
Negate the Vector.
<4,F32>
|
related |
Return difference of Vectors.
<4,F32>
Negate operation.
|
related |
subtract operation
|
related |
subtract operation
|
related |
Subtract from Vector in place.
<4,T>
|
related |
Subtract from Vector in place.
<4,F32>
|
related |
In place subtract operator.
|
related |
In place subtract operator.
|
related |
Inverse Scale operation.
|
related |
equality test
Return text describing the Vector's state.
<4,F32>
Return text describing the Vector's state.
<4,T>
Print to a string.
Referenced by fe::Vector< 4, t_moa_real >::print().
Set components.
<4,T>
|
related |
Set components.
<4,T>
|
related |
Set components.
<4,T>
|
related |
Set components.
<4,T>
Set components.
<4,F32>
Set components.
<4,F32>
|
related |
Set components.
<4,F32>
|
related |
Set components.
<4,F32>
|
related |
Set components.
<4,F32>
Set all the elements to zero.
|
related |
Set all components to the same value.
<4,F32>
|
related |
Set all the elements to the given value.
|
related |
Set indexed component.
<4,T>
|
related |
Set indexed component.
<4,F32>
|
related |
Set the value at the index.
|
related |
Return the number of elements.
<4,T>
|
related |
Return the number of elements.
<4,F32>
|
related |
Return the number of elements.
Referenced by fe::Box< 2, I32 >::print().
Return the Vector direction scaled to unit length.
<4,T>
Return the Vector direction scaled to unit length.
<4,F32>
Return vector scaled to unit length.
Return the Vector direction scaled to unit length with zero check.
<4,T>
|
related |
Return the Vector direction scaled to unit length with zero check.
<4,F32>
Return vector scaled to unit length with zero check.