36 template<
typename T,
int N>
class IndexTM;
63 template<
typename T,
int N> std::ostream&
operator<<(std::ostream & a_os,
66 template<
typename T,
int N> std::istream&
operator>>(std::istream & a_os,
111 IndexTM(T a_i, T a_j, T a_k, T a_l);
112 IndexTM(T a_i, T a_j, T a_k, T a_l, T a_m);
113 IndexTM(T a_i, T a_j, T a_k, T a_l, T a_m, T a_n);
120 explicit IndexTM(
const T* a_a);
286 const OP & a_op)
const;
305 int minDir(
bool a_doAbs)
const;
312 int maxDir(
bool a_doAbs)
const;
393 void printOn(std::ostream & a_os)
const;
405 void dumpOn(std::ostream & a_os)
const;
411 friend std::ostream& operator<< <>(std::ostream & a_os,
418 friend std::istream& operator>> <> (std::istream & a_os,
471 static bool const m_isInt=
false;
472 static bool const m_isReal=
false;
476 static bool const m_isInt=
true;
477 static bool const m_isReal=
false;
481 static bool const m_isInt=
false;
482 static bool const m_isReal=
true;
514 #endif // include guard const T * dataPtr() const
Definition: IndexTMI.H:202
void dumpOn(std::ostream &a_os) const
Definition: IndexTMI.H:114
IndexTM< T, N > & operatorOpEquals(const IndexTM< T, N > &a_p, const OP &a_op)
Definition: IndexTMI.H:284
IndexTM()
Definition: IndexTM.H:93
void setAll(T a_val)
Definition: IndexTMI.H:194
IndexTM< T, N > BASISV_TM(int a_dir)
Definition: IndexTMI.H:410
bool operator!=(const IndexTM &a_p) const
Definition: IndexTMI.H:222
IndexTM< T, N > min(const IndexTM< T, N > &a_p1, const IndexTM< T, N > &a_p2)
Definition: IndexTMI.H:396
IndexTM operator-() const
Definition: IndexTMI.H:242
IndexTM< T, N > diagShift(const IndexTM< T, N > &a_p, T a_s)
Definition: IndexTMI.H:390
IndexTM< T, N > scale(const IndexTM< T, N > &a_p, T a_s)
Definition: IndexTMI.H:384
Definition: GenericArithmetic.H:54
T dotProduct(const IndexTM &a_rhs) const
Definition: IndexTMI.H:252
IndexTM< T, N > reflect(const IndexTM< T, N > &a_a, T a_refIx, int a_idir)
Definition: IndexTMI.H:418
IndexTM & reciprocal()
Definition: IndexTMI.H:291
bool lexLT(const IndexTM &a_s) const
Definition: IndexTMI.H:227
IndexTM & diagShift(T a_s)
Definition: IndexTMI.H:379
void setVal(int a_i, T a_val)
Definition: IndexTMI.H:187
IndexTM< T, N > coarsen(const IndexTM< T, N > &a_p, T a_s)
Definition: IndexTMI.H:432
T sum() const
Definition: IndexTMI.H:260
std::ostream & operator<<(std::ostream &a_os, const IndexTM< T, N > &a_iv)
T & operator[](int a_i)
Definition: IndexTMI.H:175
IndexTM copy() const
Definition: IndexTM.H:128
IndexTM & reflect(T a_refIx, int a_idir)
Definition: IndexTMI.H:358
IndexTM operator+() const
Definition: IndexTMI.H:237
std::istream & operator>>(std::istream &a_os, IndexTM< T, N > &a_iv)
bool lexGT(const IndexTM &a_s) const
Definition: IndexTMI.H:232
IndexTM & coarsen(const IndexTM &a_p)
Definition: IndexTMI.H:466
double Real
Definition: REAL.H:33
IndexTM & scale(T a_s)
Definition: IndexTMI.H:353
static const IndexTM Unit
Definition: IndexTM.H:436
IndexTM & min(const IndexTM &a_p)
Definition: IndexTMI.H:338
IndexTM< T, N > max(const IndexTM< T, N > &a_p1, const IndexTM< T, N > &a_p2)
Definition: IndexTMI.H:403
bool operator==(const IndexTM &a_p) const
Definition: IndexTMI.H:217
void linearOut(void *a_outBuf) const
Definition: IndexTMI.H:478
T product() const
Definition: IndexTMI.H:265
bool operatorCompare(const IndexTM< T, N > &a_p, const OP &a_op) const
Definition: IndexTMI.H:270
~IndexTM()
Definition: IndexTM.H:101
void p() const
Definition: IndexTMI.H:109
const T * getVect() const
Definition: IndexTMI.H:212
IndexTM & max(const IndexTM &a_p)
Definition: IndexTMI.H:345
IndexTM & shift(int a_coord, T a_s)
Definition: IndexTMI.H:366
void linearIn(const void *a_inBuf)
Definition: IndexTMI.H:473
void printOn(std::ostream &a_os) const
Definition: IndexTMI.H:104
int minDir(bool a_doAbs) const
Definition: IndexTMI.H:302
IndexTM & operator=(const IndexTM &a_rhs)
Definition: IndexTMI.H:169
T m_vect[N]
Definition: IndexTM.H:460
static const IndexTM Zero
Definition: IndexTM.H:431
int maxDir(bool a_doAbs) const
Definition: IndexTMI.H:314