Chombo + EB + MF
3.2
|
#include <IndexTM.H>
Public Member Functions | |
template<typename OP > | |
bool | operatorCompare (const IndexTM< T, N > &a_p, const OP &a_op) const |
template<typename OP > | |
IndexTM< T, N > & | operatorOpEquals (const IndexTM< T, N > &a_p, const OP &a_op) |
template<typename OP > | |
IndexTM< T, N > & | operatorOpEquals (const T &a_p, const OP &a_op) |
IndexTM & | reciprocal () |
int | minDir (bool a_doAbs) const |
int | maxDir (bool a_doAbs) const |
T | integer_factorial (int n) const |
T | factorial () const |
Constructors and Accessors | |
See derived class IndexTM for more constructors. | |
IndexTM () | |
~IndexTM () | |
IndexTM (T a_i) | |
IndexTM (T a_i, T a_j) | |
IndexTM (T a_i, T a_j, T a_k) | |
IndexTM (T a_i, T a_j, T a_k, T a_l) | |
IndexTM (T a_i, T a_j, T a_k, T a_l, T a_m) | |
IndexTM (T a_i, T a_j, T a_k, T a_l, T a_m, T a_n) | |
IndexTM (const T *a_a) | |
IndexTM (const IndexTM &a_rhs) | |
IndexTM | copy () const |
IndexTM & | operator= (const IndexTM &a_rhs) |
T & | operator[] (int a_i) |
T | operator[] (int a_i) const |
void | setVal (int a_i, T a_val) |
void | setAll (T a_val) |
Data pointer functions | |
const T * | getVect () const |
const T * | dataPtr () const |
T * | dataPtr () |
Comparison Operators | |
bool | operator== (const IndexTM &a_p) const |
bool | operator!= (const IndexTM &a_p) const |
bool | lexLT (const IndexTM &a_s) const |
bool | operator< (const IndexTM &a_s) const |
bool | componentwiseLE (const IndexTM &a_s) |
bool | lexGT (const IndexTM &a_s) const |
Unary operators | |
IndexTM | operator+ () const |
IndexTM | operator- () const |
T | dotProduct (const IndexTM &a_rhs) const |
T | sum () const |
T | product () const |
Other arithmetic operators | |
IndexTM & | min (const IndexTM &a_p) |
IndexTM & | max (const IndexTM &a_p) |
IndexTM & | scale (T a_s) |
IndexTM & | reflect (T a_refIx, int a_idir) |
IndexTM & | shift (int a_coord, T a_s) |
IndexTM & | shift (const IndexTM &a_iv) |
IndexTM & | diagShift (T a_s) |
IndexTM & | coarsen (const IndexTM &a_p) |
IndexTM & | coarsen (T a_p) |
Public Member Functions inherited from GenericArithmeticable< T, IndexTM< T, N > > | |
virtual | ~GenericArithmeticable () |
GenericArithmeticable (IndexTM< T, N > *s) | |
bool | operator< (const IndexTM< T, N > &) const |
bool | operator> (const IndexTM< T, N > &) const |
bool | operator<= (const IndexTM< T, N > &) const |
bool | operator>= (const IndexTM< T, N > &) const |
IndexTM< T, N > & | operator+= (const IndexTM< T, N > &) |
IndexTM< T, N > & | operator+= (const T &) |
IndexTM< T, N > & | operator-= (const IndexTM< T, N > &) |
IndexTM< T, N > & | operator-= (const T &) |
IndexTM< T, N > & | operator*= (const IndexTM< T, N > &) |
IndexTM< T, N > & | operator*= (const T &) |
IndexTM< T, N > & | operator/= (const IndexTM< T, N > &) |
IndexTM< T, N > & | operator/= (const T &) |
Protected Member Functions | |
IndexTM (const char *) | |
Protected Attributes | |
T | m_vect [N] |
I/O Functions | |
void | printOn (std::ostream &a_os) const |
void | p () const |
void | dumpOn (std::ostream &a_os) const |
std::ostream & | operator<< (std::ostream &a_os, const IndexTM &a_iv) |
std::istream & | operator>> (std::istream &a_os, IndexTM &a_iv) |
Constants | |
static const IndexTM | Zero |
static const IndexTM | Unit |
void | linearIn (const void *a_inBuf) |
void | linearOut (void *a_outBuf) const |
static int | InitStatics () |
Additional Inherited Members | |
Public Types inherited from GenericArithmeticable< T, IndexTM< T, N > > | |
typedef T | scalar_type |
typedef IndexTM< T, N > | self_type |
Construct an IndexTM whose components are uninitialized.
Referenced by IndexTM< Real, GLOBALDIM >::factorial(), and IndexTM< Real, GLOBALDIM >::~IndexTM().
Construct an IndexTM setting the coordinates to the corresponding values in the integer array a_a.
The copy constructor.
|
inline |
The assignment operator.
Referenced by IndexTM< Real, GLOBALDIM >::copy().
Returns a modifiable lvalue reference to the i'th coordinate of the IndexTM.
Referenced by IndexTM< Real, GLOBALDIM >::copy().
Returns the i'th coordinate of the IndexTM.
Set i'th coordinate of IndexTM to val.
Referenced by IndexTM< Real, GLOBALDIM >::copy().
set all values to val
Referenced by checkMoments(), IndexTM< Real, GLOBALDIM >::copy(), and IndexTM< Real, GLOBALDIM >::IndexTM().
Returns a const pointer to an array of coordinates of the IndexTM. Useful for arguments to FORTRAN calls.
Referenced by IndexTM< Real, GLOBALDIM >::copy().
Only for sending to Fortran
Referenced by BASISV_TM(), and IndexTM< Real, GLOBALDIM >::copy().
|
inline |
Returns true if this IndexTM is equivalent to argument IndexTM. All comparisons between analogous components must be satisfied.
Referenced by IndexTM< Real, GLOBALDIM >::copy(), and IndexTM< Real, GLOBALDIM >::operator!=().
|
inline |
Returns true if this IndexTM is different from argument IndexTM. All comparisons between analogous components must be satisfied.
Referenced by IndexTM< Real, GLOBALDIM >::copy().
|
inline |
Returns true if this IndexTM is lexically less than the argument. An IndexTM MUST BE either lexically less than, lexically greater than, or equal to another IndexTM.
iv1 is lexically less than iv2 if:
in 2-D:
(iv1[0] < iv2[0]) || ((iv1[0] == iv2[0]) && (iv1[1] < iv2[1]));
in 3-D:
(iv1[0] < iv2[0]) || (iv1[0]==iv2[0] && ((iv1[1] < iv2[1] || ((iv1[1] == iv2[1]) && (iv1[2] < iv2[2])))));
Referenced by IndexTM< Real, GLOBALDIM >::copy(), and IndexTM< Real, GLOBALDIM >::operator<().
|
inline |
Returns true if this IndexTM is lexically less than the argument. An IndexTM MUST BE either lexically less than, lexically greater than, or equal to another IndexTM.
iv1 is lexically less than iv2 if:
in 2-D:
(iv1[0] < iv2[0]) || ((iv1[0] == iv2[0]) && (iv1[1] < iv2[1]));
in 3-D:
(iv1[0] < iv2[0]) || (iv1[0]==iv2[0] && ((iv1[1] < iv2[1] || ((iv1[1] == iv2[1]) && (iv1[2] < iv2[2])))));
|
inline |
Does operator <= the same way that intvect does it Intvect code looks like this: return D_TERM6(vect[0] >= p[0], && vect[1] >= p[1], && vect[2] >= p[2], && vect[3] >= p[3], && vect[4] >= p[4], && vect[5] >= p[5]);
Referenced by IndexedMoments< SpaceDim, CH_EBIS_ORDER >::shift().
|
inline |
Returns true if this IndexTM is lexically greater than the argument. An IndexTM MUST BE either lexically less than, lexically greater than, or equal to another IndexTM.
iv1 is lexically less than iv2 if:
in 2-D:
(iv1[0] > iv2[0]) || ((iv1[0] == iv2[0]) && (iv1[1] > iv2[1]));
in 3-D:
(iv1[0] > iv2[0]) || (iv1[0]==iv2[0] && ((iv1[1] > iv2[1] || ((iv1[1] == iv2[1]) && (iv1[2] > iv2[2])))));
Referenced by IndexTM< Real, GLOBALDIM >::componentwiseLE().
Unary plus – for completeness.
Referenced by IndexTM< Real, GLOBALDIM >::componentwiseLE().
Unary minus – negates all components of this IndexTM.
Referenced by IndexTM< Real, GLOBALDIM >::componentwiseLE().
|
inline |
Referenced by IndexTM< Real, GLOBALDIM >::componentwiseLE().
Sum of all components of this IndexTM.
Referenced by NormalDerivativeNew< dim >::calculateAll(), checkMoments(), IndexTM< Real, GLOBALDIM >::componentwiseLE(), LSProblem< dim >::computeBounds(), IndexedMoments< SpaceDim, CH_EBIS_ORDER >::indexOf(), IndexedMoments< SpaceDim, CH_EBIS_ORDER >::setMultiIndicies(), IndexedMoments< SpaceDim, CH_EBIS_ORDER >::setRegular(), and IndexedMoments< SpaceDim, CH_EBIS_ORDER >::setToTruncatedMultiply().
Product of all components of this IndexTM.
Referenced by IndexTM< Real, GLOBALDIM >::componentwiseLE().
bool IndexTM< T, N >::operatorCompare | ( | const IndexTM< T, N > & | a_p, |
const OP & | a_op | ||
) | const |
Used by GenericArithmeticable to implement all pointwise arithmetic and comparison functions.
Referenced by IndexTM< Real, GLOBALDIM >::componentwiseLE().
|
inline |
Referenced by IndexTM< Real, GLOBALDIM >::componentwiseLE().
|
inline |
Modifies this IndexTM by division of each component into T(1).
Referenced by IndexTM< Real, GLOBALDIM >::componentwiseLE().
Component with the minimum value of this Index(returns 0 if they are all the same). a_doAbs : if true then take the absolute value before comparing
Referenced by IndexTM< Real, GLOBALDIM >::componentwiseLE().
Component with the maximum value of this Index (returns 0 if they are all the same). a_doAbs : if true then take the absolute value before comparing.
Referenced by IndexTM< Real, GLOBALDIM >::componentwiseLE().
|
inline |
Modifies this IndexTM by taking component-wise min with IndexTM argument.
Referenced by IndexTM< Real, GLOBALDIM >::componentwiseLE(), and min().
|
inline |
Modifies this IndexTM by taking component-wise max with IndexTM argument.
Referenced by IndexTM< Real, GLOBALDIM >::componentwiseLE(), and max().
Modifies this IndexTM by multiplying each component by a scalar.
Referenced by IndexTM< Real, GLOBALDIM >::componentwiseLE().
|
inline |
Modifies IndexTM by reflecting it in the plane defined by the index ref_ix and with normal in the direction of idir. Directions are based at zero.
Referenced by IndexTM< Real, GLOBALDIM >::componentwiseLE(), and reflect().
Modifies this IndexTM by adding s to component in given coordinate direction.
Referenced by IndexTM< Real, GLOBALDIM >::componentwiseLE().
Modifies this IndexTM by adding a scalar s to each component.
Referenced by IndexTM< Real, GLOBALDIM >::componentwiseLE().
|
inline |
Modify IndexTM by component-wise integer projection.
Referenced by coarsen(), and IndexTM< Real, GLOBALDIM >::componentwiseLE().
Modify IndexTM by component-wise integer projection.
void IndexTM< T, N >::printOn | ( | std::ostream & | a_os | ) | const |
Print an IndexTM to the ostream.
Referenced by IndexTM< Real, GLOBALDIM >::componentwiseLE().
Print an IndexTM to the pout().
Referenced by IndexTM< Real, GLOBALDIM >::componentwiseLE().
Print an IndexTM to the ostream a bit more verbosely.
Referenced by IndexTM< Real, GLOBALDIM >::componentwiseLE().
Initializes Zero and Unit.
Low-level data copy.
|
friend |
Print the IndexTM to given output stream in ASCII.
|
friend |
Read next IndexTM from given input stream.
This is an IndexTM all of whose components are equal to zero.
Referenced by NormalDerivativeNew< dim >::addLDeriv(), NormalDerivativeNew< dim >::addNDeriv(), CutCellMoments< dim >::getVol(), and NormalDerivativeNew< dim >::nChoosek().
This is an IndexTM all of whose components are equal to one.
The individual components of this IndexTM.
Referenced by IndexTM< Real, GLOBALDIM >::coarsen(), IndexTM< Real, GLOBALDIM >::dataPtr(), IndexTM< Real, GLOBALDIM >::dotProduct(), IndexTM< Real, GLOBALDIM >::factorial(), IndexTM< Real, GLOBALDIM >::getVect(), IndexTM< Real, GLOBALDIM >::IndexTM(), IndexTM< Real, GLOBALDIM >::lexGT(), IndexTM< Real, GLOBALDIM >::lexLT(), IndexTM< Real, GLOBALDIM >::linearIn(), IndexTM< Real, GLOBALDIM >::linearOut(), IndexTM< Real, GLOBALDIM >::max(), IndexTM< Real, GLOBALDIM >::maxDir(), IndexTM< Real, GLOBALDIM >::min(), IndexTM< Real, GLOBALDIM >::minDir(), IndexTM< Real, GLOBALDIM >::operator-(), IndexTM< Real, GLOBALDIM >::operator=(), IndexTM< Real, GLOBALDIM >::operator==(), IndexTM< Real, GLOBALDIM >::operator[](), IndexTM< Real, GLOBALDIM >::operatorCompare(), IndexTM< Real, GLOBALDIM >::operatorOpEquals(), IndexTM< Real, GLOBALDIM >::product(), IndexTM< Real, GLOBALDIM >::reciprocal(), IndexTM< Real, GLOBALDIM >::reflect(), IndexTM< Real, GLOBALDIM >::setAll(), IndexTM< Real, GLOBALDIM >::setVal(), IndexTM< Real, GLOBALDIM >::shift(), and IndexTM< Real, GLOBALDIM >::sum().