QDP++
QDP::BiDirectionalMap Class Reference

BiDirectional of general permutation map class for communications. More...

#include <qdp_parscalar_specific.h>

Public Member Functions

 BiDirectionalMap ()
 Constructor - does nothing really.
 ~BiDirectionalMap ()
 Destructor.
 BiDirectionalMap (const MapFunc &fn)
 Constructor from a function object.
void make (const MapFunc &func)
 Actual constructor from a function object.
template<class T1>
OLattice< T1 > operator() (const OLattice< T1 > &l, int isign)
 Function call operator for a shift.
template<class T1>
OScalar< T1 > operator() (const OScalar< T1 > &l, int isign)
template<class RHS, class T1>
OScalar< T1 > operator() (const QDPExpr< RHS, OScalar< T1 > > &l, int isign)
template<class RHS, class T1>
OLattice< T1 > operator() (const QDPExpr< RHS, OLattice< T1 > > &l, int isign)
 BiDirectionalMap ()
 Constructor - does nothing really.
 ~BiDirectionalMap ()
 Destructor.
 BiDirectionalMap (const MapFunc &fn)
 Constructor from a function object.
void make (const MapFunc &func)
 Actual constructor from a function object.
template<class T1>
OLattice< T1 > operator() (const OLattice< T1 > &l, int isign)
 Function call operator for a shift.
template<class T1>
OScalar< T1 > operator() (const OScalar< T1 > &l, int isign)
template<class RHS, class T1>
OScalar< T1 > operator() (const QDPExpr< RHS, OScalar< T1 > > &l, int isign)
template<class RHS, class T1>
OLattice< T1 > operator() (const QDPExpr< RHS, OLattice< T1 > > &l, int isign)
 BiDirectionalMap ()
 Constructor - does nothing really.
 ~BiDirectionalMap ()
 Destructor.
 BiDirectionalMap (const MapFunc &fn)
 Constructor from a function object.
void make (const MapFunc &func)
 Actual constructor from a function object.
template<class T1, class C1>
MakeReturn< UnaryNode< FnMap, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, C1 >::Expression_t operator() (const QDPType< T1, C1 > &l, int isign)
 Function call operator for a shift.
template<class T1, class C1>
MakeReturn< UnaryNode< FnMap, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, C1 >::Expression_t operator() (const QDPExpr< T1, C1 > &l, int isign)
 BiDirectionalMap ()
 Constructor - does nothing really.
 ~BiDirectionalMap ()
 Destructor.
 BiDirectionalMap (const MapFunc &fn)
 Constructor from a function object.
void make (const MapFunc &func)
 Actual constructor from a function object.
template<class T1>
OLattice< T1 > operator() (const OLattice< T1 > &l, int isign)
 Function call operator for a shift.
template<class T1>
OScalar< T1 > operator() (const OScalar< T1 > &l, int isign)
template<class RHS, class T1>
OScalar< T1 > operator() (const QDPExpr< RHS, OScalar< T1 > > &l, int isign)
template<class RHS, class T1>
OLattice< T1 > operator() (const QDPExpr< RHS, OLattice< T1 > > &l, int isign)

Detailed Description

BiDirectional of general permutation map class for communications.

Bi-directional version of general permutation map class for communications.

Definition at line 2282 of file qdp_parscalar_specific.h.

Constructor & Destructor Documentation

◆ BiDirectionalMap() [1/8]

QDP::BiDirectionalMap::BiDirectionalMap ( )
inline

Constructor - does nothing really.

Definition at line 2286 of file qdp_parscalar_specific.h.

◆ ~BiDirectionalMap() [1/4]

QDP::BiDirectionalMap::~BiDirectionalMap ( )
inline

Destructor.

Definition at line 2289 of file qdp_parscalar_specific.h.

◆ BiDirectionalMap() [2/8]

QDP::BiDirectionalMap::BiDirectionalMap ( const MapFunc & fn)
inline

Constructor from a function object.

Definition at line 2292 of file qdp_parscalar_specific.h.

References make().

◆ BiDirectionalMap() [3/8]

QDP::BiDirectionalMap::BiDirectionalMap ( )
inline

Constructor - does nothing really.

Definition at line 1397 of file qdp_parscalarvec_specific.h.

◆ ~BiDirectionalMap() [2/4]

QDP::BiDirectionalMap::~BiDirectionalMap ( )
inline

Destructor.

Definition at line 1400 of file qdp_parscalarvec_specific.h.

◆ BiDirectionalMap() [4/8]

QDP::BiDirectionalMap::BiDirectionalMap ( const MapFunc & fn)
inline

Constructor from a function object.

Definition at line 1403 of file qdp_parscalarvec_specific.h.

References make().

◆ BiDirectionalMap() [5/8]

QDP::BiDirectionalMap::BiDirectionalMap ( )
inline

Constructor - does nothing really.

Definition at line 1923 of file qdp_scalar_specific.h.

◆ ~BiDirectionalMap() [3/4]

QDP::BiDirectionalMap::~BiDirectionalMap ( )
inline

Destructor.

Definition at line 1926 of file qdp_scalar_specific.h.

◆ BiDirectionalMap() [6/8]

QDP::BiDirectionalMap::BiDirectionalMap ( const MapFunc & fn)
inline

Constructor from a function object.

Definition at line 1929 of file qdp_scalar_specific.h.

References make().

◆ BiDirectionalMap() [7/8]

QDP::BiDirectionalMap::BiDirectionalMap ( )
inline

Constructor - does nothing really.

Definition at line 1103 of file qdp_scalarvec_specific.h.

◆ ~BiDirectionalMap() [4/4]

QDP::BiDirectionalMap::~BiDirectionalMap ( )
inline

Destructor.

Definition at line 1106 of file qdp_scalarvec_specific.h.

◆ BiDirectionalMap() [8/8]

QDP::BiDirectionalMap::BiDirectionalMap ( const MapFunc & fn)
inline

Constructor from a function object.

Definition at line 1109 of file qdp_scalarvec_specific.h.

References make().

Member Function Documentation

◆ make() [1/4]

void QDP::BiDirectionalMap::make ( const MapFunc & func)

Actual constructor from a function object.

Initializer for a generic bi-directional maps.

The semantics are source_site = func(dest_site,isign)

Definition at line 114 of file qdp_map.cc.

Referenced by BiDirectionalMap(), operator()(), and operator()().

◆ make() [2/4]

void QDP::BiDirectionalMap::make ( const MapFunc & func)

Actual constructor from a function object.

The semantics are source_site = func(dest_site,isign)

◆ make() [3/4]

void QDP::BiDirectionalMap::make ( const MapFunc & func)

Actual constructor from a function object.

The semantics are source_site = func(dest_site,sign)

◆ make() [4/4]

void QDP::BiDirectionalMap::make ( const MapFunc & func)

Actual constructor from a function object.

The semantics are source_site = func(dest_site,isign)

◆ operator()() [1/14]

template<class T1>
OLattice< T1 > QDP::BiDirectionalMap::operator() ( const OLattice< T1 > & l,
int isign )
inline

Function call operator for a shift.

map(source,isign)

Implements: dest(x) = source(map(x,isign))

Shifts on a OLattice are non-trivial. Notice, there may be an ILattice underneath which requires shift args. This routine is very architecture dependent.

Definition at line 2310 of file qdp_parscalar_specific.h.

References QDP::QDP_info().

◆ operator()() [2/14]

template<class T1>
OLattice< T1 > QDP::BiDirectionalMap::operator() ( const OLattice< T1 > & l,
int isign )
inline

Function call operator for a shift.

map(source,isign)

Implements: dest(x) = source(map(x,isign))

Shifts on a OLattice are non-trivial. Notice, there may be an ILattice underneath which requires shift args. This routine is very architecture dependent.

Definition at line 1421 of file qdp_parscalarvec_specific.h.

References QDP::QDP_info().

◆ operator()() [3/14]

template<class T1>
OLattice< T1 > QDP::BiDirectionalMap::operator() ( const OLattice< T1 > & l,
int isign )
inline

Function call operator for a shift.

map(source,isign)

Implements: dest(x) = source(map(x,isign))

Shifts on a OLattice are non-trivial. Notice, there may be an ILattice underneath which requires shift args. This routine is very architecture dependent.

Definition at line 1127 of file qdp_scalarvec_specific.h.

References QDP::QDP_info().

◆ operator()() [4/14]

template<class T1>
OScalar< T1 > QDP::BiDirectionalMap::operator() ( const OScalar< T1 > & l,
int isign )
inline

Definition at line 2322 of file qdp_parscalar_specific.h.

References QDP::QDP_info().

◆ operator()() [5/14]

template<class T1>
OScalar< T1 > QDP::BiDirectionalMap::operator() ( const OScalar< T1 > & l,
int isign )
inline

Definition at line 1433 of file qdp_parscalarvec_specific.h.

References QDP::QDP_info().

◆ operator()() [6/14]

template<class T1>
OScalar< T1 > QDP::BiDirectionalMap::operator() ( const OScalar< T1 > & l,
int isign )
inline

Definition at line 1139 of file qdp_scalarvec_specific.h.

References QDP::QDP_info().

◆ operator()() [7/14]

template<class RHS, class T1>
OLattice< T1 > QDP::BiDirectionalMap::operator() ( const QDPExpr< RHS, OLattice< T1 > > & l,
int isign )
inline

Definition at line 2344 of file qdp_parscalar_specific.h.

◆ operator()() [8/14]

template<class RHS, class T1>
OLattice< T1 > QDP::BiDirectionalMap::operator() ( const QDPExpr< RHS, OLattice< T1 > > & l,
int isign )
inline

Definition at line 1455 of file qdp_parscalarvec_specific.h.

◆ operator()() [9/14]

template<class RHS, class T1>
OLattice< T1 > QDP::BiDirectionalMap::operator() ( const QDPExpr< RHS, OLattice< T1 > > & l,
int isign )
inline

Definition at line 1161 of file qdp_scalarvec_specific.h.

◆ operator()() [10/14]

template<class RHS, class T1>
OScalar< T1 > QDP::BiDirectionalMap::operator() ( const QDPExpr< RHS, OScalar< T1 > > & l,
int isign )
inline

Definition at line 2334 of file qdp_parscalar_specific.h.

◆ operator()() [11/14]

template<class RHS, class T1>
OScalar< T1 > QDP::BiDirectionalMap::operator() ( const QDPExpr< RHS, OScalar< T1 > > & l,
int isign )
inline

Definition at line 1445 of file qdp_parscalarvec_specific.h.

◆ operator()() [12/14]

template<class RHS, class T1>
OScalar< T1 > QDP::BiDirectionalMap::operator() ( const QDPExpr< RHS, OScalar< T1 > > & l,
int isign )
inline

Definition at line 1151 of file qdp_scalarvec_specific.h.

◆ operator()() [13/14]

template<class T1, class C1>
MakeReturn< UnaryNode< FnMap, typenameCreateLeaf< QDPExpr< T1, C1 > >::Leaf_t >, C1 >::Expression_t QDP::BiDirectionalMap::operator() ( const QDPExpr< T1, C1 > & l,
int isign )
inline

Definition at line 1960 of file qdp_scalar_specific.h.

References make(), and QDP::MakeReturn< T, C >::make().

◆ operator()() [14/14]

template<class T1, class C1>
MakeReturn< UnaryNode< FnMap, typenameCreateLeaf< QDPType< T1, C1 > >::Leaf_t >, C1 >::Expression_t QDP::BiDirectionalMap::operator() ( const QDPType< T1, C1 > & l,
int isign )
inline

Function call operator for a shift.

map(source,isign)

Implements: dest(x) = source(map(x,isign))

Shifts on a OLattice are non-trivial. Notice, there may be an ILattice underneath which requires shift args. This routine is very architecture dependent.

Definition at line 1948 of file qdp_scalar_specific.h.

References make(), and QDP::MakeReturn< T, C >::make().


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