QDP++
QDP::multi1d< T > Class Template Reference

Container for a multi-dimensional 1D array. More...

#include <qdp_multi.h>

Public Member Functions

 multi1d ()
 multi1d (T *f, int ns1)
 multi1d (int ns1)
 ~multi1d ()
 multi1d (const multi1d &s)
 Copy constructor.
void resize (int ns1)
 Resize routine, call a templated resize, using *this to disambiguate.
int size () const
 Size of array.
int size1 () const
multi1doperator= (const multi1d &s1)
 Equal operator uses underlying = of T.
template<class T1>
multi1d< T > & operator= (const T1 &s1)
 Equal operator uses underlying = of T.
multi1d< T > & operator= (const T *s1)
 Set equal to a old-style C 1-D array.
multi1d< T > & operator+= (const multi1d< T > &s1)
 Add-replace on each element.
multi1d< T > & operator+= (const T &s1)
 Add-replace on each element.
multi1d< T > & operator-= (const multi1d< T > &s1)
 Subtract-replace on each element.
multi1d< T > & operator-= (const T &s1)
 Subtract-replace on each element.
multi1d< T > & operator*= (const multi1d< T > &s1)
 Mult-replace on each element.
multi1d< T > & operator*= (const T &s1)
 Mult-replace on each element.
multi1d< T > & operator/= (const multi1d< T > &s1)
 Divide-replace on each element.
multi1d< T > & operator/= (const T &s1)
 Divide-replace on each element.
const T * slice () const
 Return ref to a column slice.
T & operator() (int i)
 Return ref to an element.
const T & operator() (int i) const
 Return const ref to an element.
T & operator[] (int i)
 Return ref to an element.
const T & operator[] (int i) const
 Return const ref to an element.
void moveToFastMemoryHint (bool copy=false)
void revertFromFastMemoryHint (bool copy=false)

Detailed Description

template<class T>
class QDP::multi1d< T >

Container for a multi-dimensional 1D array.

Definition at line 24 of file qdp_multi.h.

Constructor & Destructor Documentation

◆ multi1d() [1/4]

template<class T>
QDP::multi1d< T >::multi1d ( )
inline

Definition at line 28 of file qdp_multi.h.

◆ multi1d() [2/4]

template<class T>
QDP::multi1d< T >::multi1d ( T * f,
int ns1 )
inline

Definition at line 31 of file qdp_multi.h.

◆ multi1d() [3/4]

template<class T>
QDP::multi1d< T >::multi1d ( int ns1)
inlineexplicit

Definition at line 34 of file qdp_multi.h.

◆ ~multi1d()

template<class T>
QDP::multi1d< T >::~multi1d ( )
inline

Definition at line 36 of file qdp_multi.h.

◆ multi1d() [4/4]

template<class T>
QDP::multi1d< T >::multi1d ( const multi1d< T > & s)
inline

Copy constructor.

Definition at line 46 of file qdp_multi.h.

Member Function Documentation

◆ moveToFastMemoryHint()

template<class T>
void QDP::multi1d< T >::moveToFastMemoryHint ( bool copy = false)
inline

moveToFastMemoryHint for the whole multi1d if the internal type T supports it. Calls templated moveToFastMemoryHint, using *this to disambiguate type

Definition at line 242 of file qdp_multi.h.

Referenced by QDP::multi1d< OScalar< typename UnaryReturn< T, FnSumMulti >::Type_t > >::moveToFastMemoryHint().

◆ operator()() [1/2]

template<class T>
T & QDP::multi1d< T >::operator() ( int i)
inline

Return ref to an element.

Definition at line 228 of file qdp_multi.h.

◆ operator()() [2/2]

template<class T>
const T & QDP::multi1d< T >::operator() ( int i) const
inline

Return const ref to an element.

Definition at line 231 of file qdp_multi.h.

◆ operator*=() [1/2]

template<class T>
multi1d< T > & QDP::multi1d< T >::operator*= ( const multi1d< T > & s1)
inline

Mult-replace on each element.

Uses underlying *=

Definition at line 166 of file qdp_multi.h.

◆ operator*=() [2/2]

template<class T>
multi1d< T > & QDP::multi1d< T >::operator*= ( const T & s1)
inline

Mult-replace on each element.

Uses underlying *=

Definition at line 181 of file qdp_multi.h.

◆ operator+=() [1/2]

template<class T>
multi1d< T > & QDP::multi1d< T >::operator+= ( const multi1d< T > & s1)
inline

Add-replace on each element.

Uses underlying +=

Definition at line 106 of file qdp_multi.h.

◆ operator+=() [2/2]

template<class T>
multi1d< T > & QDP::multi1d< T >::operator+= ( const T & s1)
inline

Add-replace on each element.

Uses underlying +=

Definition at line 121 of file qdp_multi.h.

◆ operator-=() [1/2]

template<class T>
multi1d< T > & QDP::multi1d< T >::operator-= ( const multi1d< T > & s1)
inline

Subtract-replace on each element.

Uses underlying -=

Definition at line 136 of file qdp_multi.h.

◆ operator-=() [2/2]

template<class T>
multi1d< T > & QDP::multi1d< T >::operator-= ( const T & s1)
inline

Subtract-replace on each element.

Uses underlying -=

Definition at line 151 of file qdp_multi.h.

◆ operator/=() [1/2]

template<class T>
multi1d< T > & QDP::multi1d< T >::operator/= ( const multi1d< T > & s1)
inline

Divide-replace on each element.

Uses underlying /=

Definition at line 196 of file qdp_multi.h.

◆ operator/=() [2/2]

template<class T>
multi1d< T > & QDP::multi1d< T >::operator/= ( const T & s1)
inline

Divide-replace on each element.

Uses underlying /=

Definition at line 211 of file qdp_multi.h.

◆ operator=() [1/3]

template<class T>
multi1d & QDP::multi1d< T >::operator= ( const multi1d< T > & s1)
inline

Equal operator uses underlying = of T.

Default =

Definition at line 65 of file qdp_multi.h.

◆ operator=() [2/3]

template<class T>
multi1d< T > & QDP::multi1d< T >::operator= ( const T * s1)
inline

Set equal to a old-style C 1-D array.

Definition at line 91 of file qdp_multi.h.

◆ operator=() [3/3]

template<class T>
template<class T1>
multi1d< T > & QDP::multi1d< T >::operator= ( const T1 & s1)
inline

Equal operator uses underlying = of T.

Definition at line 77 of file qdp_multi.h.

◆ operator[]() [1/2]

template<class T>
T & QDP::multi1d< T >::operator[] ( int i)
inline

Return ref to an element.

Definition at line 234 of file qdp_multi.h.

◆ operator[]() [2/2]

template<class T>
const T & QDP::multi1d< T >::operator[] ( int i) const
inline

Return const ref to an element.

Definition at line 237 of file qdp_multi.h.

◆ resize()

◆ revertFromFastMemoryHint()

template<class T>
void QDP::multi1d< T >::revertFromFastMemoryHint ( bool copy = false)
inline

revertFromFastMemoryHint for the whole multi1d if the internal type T supports it. Calls templated revertFrom fast memory hint, using *this to disambiguate template type.

Definition at line 249 of file qdp_multi.h.

Referenced by QDP::multi1d< OScalar< typename UnaryReturn< T, FnSumMulti >::Type_t > >::revertFromFastMemoryHint().

◆ size()

template<class T>
int QDP::multi1d< T >::size ( ) const
inline

Size of array.

Definition at line 60 of file qdp_multi.h.

Referenced by QDP::acos(), QDP::Array1dO< T >::Array1dO(), QDP::asin(), QDP::assert_global_size(), QDP::atan(), QDP::concat(), QDP::cos(), QDP::crtesn(), QDP::local_site(), QDP::log(), QDP::Map::make(), QDP::Set::make(), QDP::norm2(), QDP::SetRB3Func::operator()(), QDP::SetRBFunc::operator()(), QDP::multi1d< OScalar< typename UnaryReturn< T, FnSumMulti >::Type_t > >::operator*=(), QDP::multi1d< OScalar< typename UnaryReturn< T, FnSumMulti >::Type_t > >::operator+=(), QDP::multi1d< OScalar< typename UnaryReturn< T, FnSumMulti >::Type_t > >::operator-=(), QDP::operator/(), QDP::multi1d< OScalar< typename UnaryReturn< T, FnSumMulti >::Type_t > >::operator/=(), QDP::operator<(), QDP::operator<<(), QDP::operator<<(), QDP::multi1d< OScalar< typename UnaryReturn< T, FnSumMulti >::Type_t > >::operator=(), QDP::operator==(), QDP::operator>(), QDP::operator>>(), QDP::multiNd< T >::operator[](), QDP::multiNd< T >::operator[](), QDP::QDPOLatticeFactoryGetArray(), QDP::QDPOLatticeFactoryPutArray(), QDP::RANNYU::random(), QDP::HDF5::read(), QDP::HDF5::read(), QDP::HDF5::read(), QDP::HDF5::read(), QDP::QDPFileReader::read(), QDP::QDPFileReader::read(), QDP::read(), QDP::read(), QDP::readArrayPrimitive(), QDP::multiNd< T >::resize(), QDP::RANNYU::setrn(), QDP::sin(), QDP::sqrt(), QDP::tan(), QDP::uniquify_list(), QDP::QDPFileWriter::write(), QDP::QDPFileWriter::write(), QDP::write(), QDP::write(), QDP::write(), QDP::write(), QDP::write(), QDP::write(), and QDP::writeArrayPrimitive().

◆ size1()

template<class T>
int QDP::multi1d< T >::size1 ( ) const
inline

Definition at line 61 of file qdp_multi.h.

◆ slice()

template<class T>
const T * QDP::multi1d< T >::slice ( ) const
inline

Return ref to a column slice.

Definition at line 225 of file qdp_multi.h.

Referenced by QDP::QDPSubType< T, C >::assign(), QDP::QDPType< typename UnaryReturn< T1, Op >::Type_t, typename UnaryReturn< C1, Op >::Type_t >::assign(), QDP::copymask(), QDP::copymask(), QDP::Layout::create(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate(), QDP::evaluate_F(), QDP::gaussian(), QDP::Layout::getNodeNumberFrom(), QDP::innerProduct(), QDP::innerProduct(), QDP::innerProduct(), QDP::innerProduct(), QDP::innerProductReal(), QDP::innerProductReal(), QDP::innerProductReal(), QDP::innerProductReal(), QDP::localColorInnerProduct(), QDP::localColorInnerProduct(), QDP::localInnerProduct(), QDP::localInnerProduct(), QDP::norm2(), QDP::norm2(), QDP::norm2(), QDP::norm2(), QDP::QDPType< typename UnaryReturn< T1, Op >::Type_t, typename UnaryReturn< C1, Op >::Type_t >::QDP_extract(), QDP::QDPType< typename UnaryReturn< T1, Op >::Type_t, typename UnaryReturn< C1, Op >::Type_t >::QDP_extract(), QDP::QDP_initialize(), QDP::QDPType< typename UnaryReturn< T1, Op >::Type_t, typename UnaryReturn< C1, Op >::Type_t >::QDP_insert(), QDP::QDPType< typename UnaryReturn< T1, Op >::Type_t, typename UnaryReturn< C1, Op >::Type_t >::QDP_insert(), QDP::random(), QDP::QDPFileReader::read(), QDP::sum(), QDP::unordered_scal_g5_user_arg::unordered_scal_g5_user_arg(), QDP::unordered_vaxpy3_z_user_arg::unordered_vaxpy3_z_user_arg(), QDP::QDPFileWriter::write(), QDP::QDPFileWriter::write(), and QDP::zero_rep().


The documentation for this class was generated from the following file: