Fixed-length multiplet of ScalarField and ScalarFieldTilde, and specialization to vector fields (3-component)
More...
|
|
template<class T , int N> |
| TptrMul | clone (const TptrMul &X) |
| | Clone (NOTE: operator= is by reference for ScalarField multiplets)
|
| |
|
template<class T , int N> |
| void | initZero (TptrMul &X) |
| | Initialize data to 0 and scale factors to 1.
|
| |
|
template<class T , int N> |
| void | nullToZero (TptrMul &X, const GridInfo &gInfo) |
| | Allocate and initialize each component of X to 0 if null.
|
| |
|
template<int N> |
| void | initRandom (RptrMul &X, double cap=0.0) |
| | initialize element-wise with a unit-normal random number (with a cap if cap>0)
|
| |
|
template<int N> |
| void | initRandomFlat (RptrMul &X) |
| | initialize element-wise with a unit-flat [0:1) random number
|
| |
|
template<int N> |
| void | randomize (RptrMul &X) |
| | alternate interface required by Minimizable
|
| |
|
template<class T , int N> |
| TptrMul & | operator*= (TptrMul &in, const TptrMul &other) |
| | Elementwise multiply each component.
|
| |
|
template<class T , int N> |
| TptrMul | operator* (const TptrMul &in1, const TptrMul &in2) |
| | Elementwise multiply each component (preserve inputs)
|
| |
|
template<class T , int N> |
| TptrMul | operator* (TptrMul &&in1, const TptrMul &in2) |
| | Elementwise multiply each component (destructible input)
|
| |
|
template<class T , int N> |
| TptrMul | operator* (const TptrMul &in1, TptrMul &&in2) |
| | Elementwise multiply each component (destructible input)
|
| |
|
template<class T , int N> |
| TptrMul | operator* (TptrMul &&in1, TptrMul &&in2) |
| | Elementwise multiply each component (destructible inputs)
|
| |
|
template<class T , int N> |
| TptrMul & | operator*= (TptrMul &inM, const Tptr &inS) |
| | Elementwise multiply each component.
|
| |
|
template<class T , int N> |
| TptrMul | operator* (const TptrMul &inM, const Tptr &inS) |
| | Elementwise multiply each component (preserve inputs)
|
| |
|
template<class T , int N> |
| TptrMul | operator* (const Tptr &inS, const TptrMul &inM) |
| | Elementwise multiply each component (preserve inputs)
|
| |
|
template<class T , int N> |
| TptrMul | operator* (TptrMul &&inM, const Tptr &inS) |
| | Elementwise multiply each component (destructible input)
|
| |
|
template<class T , int N> |
| TptrMul | operator* (const Tptr &inS, TptrMul &&inM) |
| | Elementwise multiply each component (destructible input)
|
| |
|
template<class T , int N> |
| TptrMul & | operator*= (TptrMul &in, double scaleFac) |
| | Scale.
|
| |
|
template<class T , int N> |
| TptrMul | operator* (const TptrMul &in, double scaleFac) |
| | Scalar multiply (preserve input)
|
| |
|
template<class T , int N> |
| TptrMul | operator* (double scaleFac, const TptrMul &in) |
| | Scalar multiply (preserve input)
|
| |
|
template<class T , int N> |
| TptrMul | operator* (TptrMul &&in, double scaleFac) |
| | Scalar multiply (destructible input)
|
| |
|
template<class T , int N> |
| TptrMul | operator* (double scaleFac, TptrMul &&in) |
| | Scalar multiply (destructible input)
|
| |
|
template<class T > |
| ScalarFieldMultiplet< T, 3 > | operator* (vector3<> v, const Tptr &in) |
| | 3-vector multiply
|
| |
|
template<class T > |
| Tptr | dot (vector3<> v, const ScalarFieldMultiplet< T, 3 > &in) |
| | 3-vector multiply
|
| |
|
template<class T , int N> |
| void | axpy (double alpha, const TptrMul &X, TptrMul &Y) |
| | Linear combine Y += alpha * X.
|
| |
|
template<class T , int N> |
| TptrMul & | operator+= (TptrMul &in, const TptrMul &other) |
| | Increment.
|
| |
|
template<class T , int N> |
| TptrMul & | operator-= (TptrMul &in, const TptrMul &other) |
| | Decrement.
|
| |
|
template<class T , int N> |
| TptrMul | operator+ (const TptrMul &in1, const TptrMul &in2) |
| | Add (preserve inputs)
|
| |
|
template<class T , int N> |
| TptrMul | operator+ (const TptrMul &in1, TptrMul &&in2) |
| | Add (destructible input)
|
| |
|
template<class T , int N> |
| TptrMul | operator+ (TptrMul &&in1, const TptrMul &in2) |
| | Add (destructible input)
|
| |
|
template<class T , int N> |
| TptrMul | operator+ (TptrMul &&in1, TptrMul &&in2) |
| | Add (destructible inputs)
|
| |
|
template<class T , int N> |
| TptrMul | operator- (const TptrMul &in1, const TptrMul &in2) |
| | Subtract (preserve input)
|
| |
|
template<class T , int N> |
| TptrMul | operator- (const TptrMul &in1, TptrMul &&in2) |
| | Subtract (destructible input)
|
| |
|
template<class T , int N> |
| TptrMul | operator- (TptrMul &&in1, const TptrMul &in2) |
| | Subtract (destructible input)
|
| |
|
template<class T , int N> |
| TptrMul | operator- (TptrMul &&in1, TptrMul &&in2) |
| | Subtract (destructible inputs)
|
| |
|
template<class T , int N> |
| TptrMul | operator- (const TptrMul &in) |
| | Negate.
|
| |
|
template<class T , int N> |
| TptrMul | operator- (TptrMul &&in) |
| | Negate.
|
| |
|
template<class T , int N> |
| void | axpy (double alpha, const Tptr &X, TptrMul &Y) |
| | Linear combine Y += alpha * X.
|
| |
|
template<class T , int N> |
| TptrMul & | operator+= (TptrMul &in, const Tptr &other) |
| | Increment.
|
| |
|
template<class T , int N> |
| TptrMul & | operator-= (TptrMul &in, const Tptr &other) |
| | Decrement.
|
| |
|
template<class T , int N> |
| TptrMul | operator+ (const TptrMul &in1, const Tptr &in2) |
| | Add (preserve inputs)
|
| |
|
template<class T , int N> |
| TptrMul | operator+ (const Tptr &in1, const TptrMul &in2) |
| | Add (preserve inputs)
|
| |
|
template<class T , int N> |
| TptrMul | operator+ (const Tptr &in1, TptrMul &&in2) |
| | Add (destructible input)
|
| |
|
template<class T , int N> |
| TptrMul | operator+ (TptrMul &&in1, const Tptr &in2) |
| | Add (destructible input)
|
| |
|
template<class T , int N> |
| TptrMul | operator- (const TptrMul &in1, const Tptr &in2) |
| | Subtract (preserve input)
|
| |
|
template<class T , int N> |
| TptrMul | operator- (const Tptr &in1, const TptrMul &in2) |
| | Subtract (preserve input)
|
| |
|
template<class T , int N> |
| TptrMul | operator- (TptrMul &&in1, const Tptr &in2) |
| | Subtract (destructible input)
|
| |
|
template<class T , int N> |
| TptrMul | operator- (const Tptr &in1, TptrMul &&in2) |
| | Subtract (destructible input)
|
| |
|
template<class T , int N> |
| double | dot (const TptrMul &X, const TptrMul &Y) |
| | Inner product.
|
| |
|
template<class T , int N> |
| double | nrm2 (const TptrMul &X) |
| | 2-norm
|
| |
|
template<class T , int N> |
| double | sum (const TptrMul &X) |
| | Sum of elements.
|
| |
|
vector3 | getGzero (const VectorFieldTilde &X) |
| | return G=0 components
|
| |
|
void | setGzero (const VectorFieldTilde &X, vector3<> v) |
| | set G=0 components
|
| |
|
vector3 | sumComponents (const VectorField &X) |
| | Sum of elements (component-wise)
|
| |
|
ScalarField | lengthSquared (const VectorField &X) |
| | Elementwise length squared.
|
| |
|
ScalarField | lengthSquaredWeighted (const vector3<> &w, const VectorField &X) |
| | Elementwise length squared (weighted)
|
| |
|
ScalarField | dotElemwise (const VectorField &X, const VectorField &Y) |
| | Elementwise dot.
|
| |
|
matrix3 | dotOuter (const VectorField &X, const VectorField &Y) |
| | Compute m(i,j) = dot(X[i], Y[j])
|
| |
|
matrix3 | dotOuter (const VectorField &X, const VectorField &Y, const ScalarField &w) |
| | Compute m(i,j) = dot(X[i], w * Y[j])
|
| |
|
template<int N> |
| RptrMul & | operator+= (RptrMul &in, double scalar) |
| | Increment by scalar.
|
| |
|
template<int N> |
| RptrMul | operator+ (double scalar, const RptrMul &in) |
| | Add scalar (preserve input)
|
| |
|
template<int N> |
| RptrMul | operator+ (const RptrMul &in, double scalar) |
| | Add scalar (preserve input)
|
| |
|
template<int N> |
| RptrMul | operator+ (double scalar, RptrMul &&in) |
| | Add scalar (destructible input)
|
| |
|
template<int N> |
| RptrMul | operator+ (RptrMul &&in, double scalar) |
| | Add scalar (destructible input)
|
| |
|
template<int N> |
| GptrMul & | operator*= (GptrMul &in, const RealKernel &kernel) |
| | Multiply by kernel.
|
| |
|
template<int N> |
| GptrMul | operator* (const RealKernel &kernel, const GptrMul &in) |
| | Multiply by kernel (preserve input)
|
| |
|
template<int N> |
| GptrMul | operator* (const GptrMul &in, const RealKernel &kernel) |
| | Multiply by kernel (preserve input)
|
| |
|
template<int N> |
| GptrMul | operator* (const RealKernel &kernel, GptrMul &&in) |
| | Multiply by kernel (destructible input)
|
| |
|
template<int N> |
| GptrMul | operator* (GptrMul &&in, const RealKernel &kernel) |
| | Multiply by kernel (destructible input)
|
| |
|
template<int N> |
| GptrMul | O (GptrMul &&X) |
| | Inner product operator (diagonal in PW basis)
|
| |
|
template<int N> |
| GptrMul | O (const GptrMul &X) |
| | Inner product operator (diagonal in PW basis)
|
| |
|
template<int N> |
| RptrMul | I (GptrMul &&X) |
| | Forward transform: PW basis -> real space (destructible input)
|
| |
|
template<int N> |
| GptrMul | J (const RptrMul &X) |
| | Inverse transform: Real space -> PW basis.
|
| |
|
template<int N> |
| GptrMul | Idag (const RptrMul &X) |
| | Forward transform transpose: Real space -> PW basis.
|
| |
|
template<int N> |
| RptrMul | Jdag (GptrMul &&X) |
| | Inverse transform transpose: PW basis -> real space (destructible input)
|
| |
|
template<int N> |
| RptrMul | Jdag (const GptrMul &X) |
| | Inverse transform transpose: PW basis -> real space (preserve input)
|
| |
|
template<int N> |
| RptrMul | I (const GptrMul &X) |
| | Forward transform: PW basis -> real space (preserve input)
|
| |
|
VectorFieldTilde | gradient (const ScalarFieldTilde &) |
| | compute the gradient of a complex field, returns cartesian components
|
| |
|
VectorField | gradient (const ScalarField &) |
| | compute the gradient of a complex field, returns cartesian components
|
| |
|
ScalarFieldTilde | divergence (const VectorFieldTilde &) |
| | compute the divergence of a vector field specified in cartesian components
|
| |
|
ScalarField | divergence (const VectorField &) |
| | compute the divergence of a vector field specified in cartesian components
|
| |
|
VectorFieldTilde | operator* (const RadialFunctionG &, const VectorFieldTilde &) |
| | Convolve a vector field by a radial function (preserve input)
|
| |
|
VectorFieldTilde | operator* (const RadialFunctionG &, VectorFieldTilde &&) |
| | Convolve a vector field by a radial function (destructible input)
|
| |
|
TensorFieldTilde | tensorGradient (const ScalarFieldTilde &) |
| | symmetric traceless tensor second derivative of a scalar field
|
| |
|
ScalarFieldTilde | tensorDivergence (const TensorFieldTilde &) |
| | second derivative contraction of a symmetric traceless tensor field
|
| |
|
template<int N> |
| void | printStats (const RptrMul &, const char *name, FILE *fpLog=stdout) |
| | Print mean and standard deviation of each component array with specified name (debug utility)
|
| |