class used for unrolling loops for operators/functions of TinyVector More...
#include <TinyVector.hxx>
Static Public Member Functions | |
| template<int m, class T0 > | |
| static void | Zero (TinyVector< T0, m > &x) |
| Sets all components to 0. | |
| template<int m, class T0 > | |
| static void | FillGreater (TinyVector< T0, m > &x, const T0 &a) |
| Fills with a in ascendant order (instead of descendant order for Fill) | |
| template<int m, class T0 > | |
| static void | InitValue (TinyVector< T0, m > &x, const T0 &a) |
| initializes a single value | |
| template<int m, class T0 , class T1 > | |
| static void | Fill (TinyVector< T0, m > &x, const T1 &a) |
| Sets all components to a given value. | |
| template<int m, class T0 > | |
| static void | Fill (TinyVector< T0, m > &x) |
| Sets the vector to [0, 1, 2, 3, ..., n-1]. | |
| template<int m, class T0 > | |
| static void | FillRand (TinyVector< T0, m > &x) |
| sets randomly the components with function rand() | |
| template<int m, class T0 , class E0 > | |
| static bool | IsZero (const TinyVectorExpression< T0, m, E0 > &x) |
| returns true if all components are 0 | |
| template<int m, class T1 , class E , class T0 > | |
| static void | Copy (const TinyVectorExpression< T1, m, E > &x, TinyVector< T0, m > &y) |
| y = x | |
| template<int m, class T1 , class E , class T0 > | |
| static void | AddCopy (const TinyVectorExpression< T1, m, E > &x, TinyVector< T0, m > &y) |
| y += x | |
| template<int m, class T1 , class E , class T0 > | |
| static void | DiffCopy (const TinyVectorExpression< T1, m, E > &x, TinyVector< T0, m > &y) |
| y -= x | |
| template<int m, class T0 , class T1 > | |
| static void | CopyVector (const TinyVector< Vector< T0 >, m > &uvec, int j, TinyVector< T1, m > &u) |
| u(:) = uvec(:)(j) | |
| template<int m, class T0 , class T1 > | |
| static void | CopyVector (const TinyVector< T1, m > &u, int j, TinyVector< Vector< T0 >, m > &uvec) |
| uvec(:)(j) = u(:) | |
| template<int m, class T0 , class T1 > | |
| static void | CopyVector (const Vector< T0 > &Vh, int j, TinyVector< T1, m > &tmp) |
| tmp(:) = Vh(m*j + :) | |
| template<int m, class T > | |
| static void | CopyVector (const Vector< complex< T > > &Vh, int j, TinyVector< T, m > &vr, TinyVector< T, m > &vi) |
| vr(:) = real(Vh(m*j + :)) and vi(:) = imag(Vh(m*j + :)) | |
| template<int m, class T0 , class T1 > | |
| static void | CopyVector (const TinyVector< T1, m > &tmp, int j, Vector< T0 > &Vh) |
| Vh(m*j + :) = tmp(:) | |
| template<int m, class T0 , class T1 > | |
| static void | AddVector (const Vector< T0 > &Vh, int j, TinyVector< T1, m > &tmp) |
| tmp(:) += Vh(offset + :) | |
| template<int m, class T0 , class T1 > | |
| static void | AddVector (const TinyVector< T1, m > &tmp, int j, Vector< T0 > &Vh) |
| Vh(offset + :) += tmp(:) | |
| template<int m, class T0 , class T1 > | |
| static void | ExtractVector (const Vector< T0 > &Vh, int j, TinyVector< T1, m > &tmp) |
| tmp(:) = Vh(offset + :) | |
| template<int m, class T0 , class T1 > | |
| static void | ExtractVector (const TinyVector< T1, m > &tmp, int j, Vector< T0 > &Vh) |
| Vh(offset + :) = tmp(:) | |
| template<int m, class T0 , class T1 > | |
| static void | ExtractVector (const Vector< Vector< T0 > > &u, int j, int offset, TinyVector< T1, m > &v) |
| v(:) = u(offset+:)(j) | |
| template<int m, class T0 , class T1 > | |
| static void | CopyVector (const TinyVector< T1, m > &v, int j, int offset, Vector< Vector< T0 > > &u) |
| u(offset+:)(j) = v(:) | |
| template<int p, int m, class T0 , class T1 > | |
| static void | ExtractVector (const Vector< Vector< TinyVector< T0, p > > > &u, int j, int k, int offset, TinyVector< T1, m > &v) |
| v(:) = u(offset+:)(j)(k) | |
| template<int m, class T0 , class T1 > | |
| static void | ExtractVector (const Vector< T0 > &Vh, const IVect &row_num, int j, TinyVector< T1, m > &tmp) |
| tmp = Vh(row_num(nb+:)) | |
| template<int m, class T0 , class T1 > | |
| static void | ExtractVector (const TinyVector< T1, m > &tmp, const IVect &row_num, int j, Vector< T0 > &Vh) |
| Vh(row_num(nb+:)) = tmp. | |
| template<class T0 , class T1 > | |
| static void | ExtractVector (const Vector< T0 > &x_src, int offset_source, Vector< T1 > &x_dest, int offset_dest) |
| x_dest(offset_dest+:) = x_src(offset_source+:) | |
| template<int m, class T0 , class T1 > | |
| static void | AddVector (const T0 &alpha, const TinyVector< T1, m > &tmp, const IVect &row_num, int j, Vector< T0 > &Vh) |
| Vh(row_num(nb+:)) += alpha * tmp. | |
| template<int m, class T0 , class T1 > | |
| static void | ExtractVectorConj (const Vector< T0 > &Vh, const IVect &row_num, int j, TinyVector< T1, m > &tmp) |
| tmp = conj(Vh(row_num(nb+:))) | |
| template<int m, class T0 , class T1 > | |
| static void | ExtractVectorConj (const TinyVector< T1, m > &tmp, const IVect &row_num, int j, Vector< T0 > &Vh) |
| Vh(row_num(nb+:)) = conj(tmp) | |
| template<int m, class T0 , class T1 > | |
| static void | AddVectorConj (const T0 &alpha, const TinyVector< T1, m > &tmp, const IVect &row_num, int j, Vector< T0 > &Vh) |
| Vh(row_num(nb+:)) += alpha * conj(tmp) | |
| template<int m, class T0 , class T1 > | |
| static void | MltVector (const T1 &alpha, int j, TinyVector< Vector< T0 >, m > &uvec) |
| u(:)(j) *= alpha | |
| template<int m, class T0 , class T1 , class E0 , class E1 > | |
| static bool | Equal (const TinyVectorExpression< T0, m, E0 > &x, const TinyVectorExpression< T1, m, E1 > &y) |
| returns x == y | |
| template<int m, class T0 , class T1 , class E0 , class E1 > | |
| static bool | LessOrEqual (const TinyVectorExpression< T0, m, E0 > &x, const TinyVectorExpression< T1, m, E1 > &y) |
| returns x <= y | |
| template<int m, class T0 , class T1 , class E0 , class E1 > | |
| static bool | Less (const TinyVectorExpression< T0, m, E0 > &x, const TinyVectorExpression< T1, m, E1 > &y) |
| returns x < y | |
| template<int m, class T0 , class T1 > | |
| static bool | EqualInt (const TinyVector< T0, m > &x, const TinyVector< T1, m > &y) |
| returns x == y | |
| template<int m, class T0 , class T1 > | |
| static bool | LessOrEqualInt (const TinyVector< T0, m > &x, const TinyVector< T1, m > &y) |
| returns x <= y | |
| template<int m, class T0 , class T1 > | |
| static bool | LessInt (const TinyVector< T0, m > &x, const TinyVector< T1, m > &y) |
| returns x < y | |
| template<int m, class T0 , class T1 > | |
| static void | Mlt (const T1 &alpha, TinyVector< T0, m > &x) |
| Multiplies x by alpha. | |
| template<int m, class T0 , class T1 , class T2 , class E0 , class E1 > | |
| static void | DotProd (const TinyVectorExpression< T0, m, E0 > &u, const TinyVectorExpression< T1, m, E1 > &v, T2 &scal) |
| scal = u.v | |
| template<int m, class T0 , class T1 , class T2 , class E0 , class E1 > | |
| static void | DotProdConj (const TinyVectorExpression< T0, m, E0 > &u, const TinyVectorExpression< T1, m, E1 > &v, T2 &scal) |
| returns (conj(u), v) | |
| template<int m, class T0 , class T1 , class E0 > | |
| static void | Abs (const TinyVectorExpression< T0, m, E0 > &u, T1 &scal) |
| computes scal = \sum |u_i|^2 | |
| template<int m, class T0 , class T1 , class E0 > | |
| static void | NormInf (const TinyVectorExpression< T0, m, E0 > &u, T1 &scal) |
| computes scal = max |u_i|^2 | |
| template<int m, class T0 , class T1 , class E0 > | |
| static void | AbsSquare (const TinyVectorExpression< T0, m, E0 > &u, T1 &scal) |
| computes scal = \sum |u_i|^2 | |
| template<int m, class T > | |
| static void | Print (const TinyVector< T, m > &V, ostream &out) |
| displays V without brackets | |
| template<int m, class T > | |
| static ostream & | WriteText (const TinyVector< T, m > &V, ostream &out) |
| displays V | |
| template<int m, class T > | |
| static istream & | ReadText (TinyVector< T, m > &V, istream &in) |
| reads V | |
| template<class T , int m> | |
| static void | UpdateMinimum (const TinyVector< T, m > &u, TinyVector< T, m > &v) |
| sets v = min(v, u) | |
| template<class T , int m> | |
| static void | UpdateMaximum (const TinyVector< T, m > &u, TinyVector< T, m > &v) |
| sets v = max(v, u) | |
class used for unrolling loops for operators/functions of TinyVector
Definition at line 14 of file TinyVector.hxx.