mirror of
https://github.com/paboyle/Grid.git
synced 2025-04-09 21:50:45 +01:00
Namespace
This commit is contained in:
parent
72ffa8a88e
commit
645ec8eba0
@ -1,4 +1,4 @@
|
|||||||
/*************************************************************************************
|
/*************************************************************************************
|
||||||
|
|
||||||
Grid physics library, www.github.com/paboyle/Grid
|
Grid physics library, www.github.com/paboyle/Grid
|
||||||
|
|
||||||
@ -26,59 +26,52 @@ Author: paboyle <paboyle@ph.ed.ac.uk>
|
|||||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
|
||||||
See the full license in the file "LICENSE" in the top level distribution directory
|
See the full license in the file "LICENSE" in the top level distribution directory
|
||||||
*************************************************************************************/
|
*************************************************************************************/
|
||||||
/* END LEGAL */
|
/* END LEGAL */
|
||||||
#ifndef GRID_LATTICE_UNARY_H
|
#ifndef GRID_LATTICE_UNARY_H
|
||||||
#define GRID_LATTICE_UNARY_H
|
#define GRID_LATTICE_UNARY_H
|
||||||
|
|
||||||
namespace Grid {
|
NAMESPACE_BEGIN(Grid);
|
||||||
|
|
||||||
template<class obj> Lattice<obj> pow(const Lattice<obj> &rhs,RealD y){
|
template<class obj> Lattice<obj> pow(const Lattice<obj> &rhs,RealD y){
|
||||||
Lattice<obj> ret(rhs._grid);
|
Lattice<obj> ret(rhs._grid);
|
||||||
ret.checkerboard = rhs.checkerboard;
|
ret.checkerboard = rhs.checkerboard;
|
||||||
conformable(ret,rhs);
|
conformable(ret,rhs);
|
||||||
parallel_for(int ss=0;ss<rhs._grid->oSites();ss++){
|
parallel_for(int ss=0;ss<rhs._grid->oSites();ss++){
|
||||||
ret._odata[ss]=pow(rhs._odata[ss],y);
|
ret._odata[ss]=pow(rhs._odata[ss],y);
|
||||||
}
|
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
template<class obj> Lattice<obj> mod(const Lattice<obj> &rhs,Integer y){
|
return ret;
|
||||||
Lattice<obj> ret(rhs._grid);
|
|
||||||
ret.checkerboard = rhs.checkerboard;
|
|
||||||
conformable(ret,rhs);
|
|
||||||
parallel_for(int ss=0;ss<rhs._grid->oSites();ss++){
|
|
||||||
ret._odata[ss]=mod(rhs._odata[ss],y);
|
|
||||||
}
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
template<class obj> Lattice<obj> div(const Lattice<obj> &rhs,Integer y){
|
|
||||||
Lattice<obj> ret(rhs._grid);
|
|
||||||
ret.checkerboard = rhs.checkerboard;
|
|
||||||
conformable(ret,rhs);
|
|
||||||
parallel_for(int ss=0;ss<rhs._grid->oSites();ss++){
|
|
||||||
ret._odata[ss]=div(rhs._odata[ss],y);
|
|
||||||
}
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
template<class obj> Lattice<obj> expMat(const Lattice<obj> &rhs, RealD alpha, Integer Nexp = DEFAULT_MAT_EXP){
|
|
||||||
Lattice<obj> ret(rhs._grid);
|
|
||||||
ret.checkerboard = rhs.checkerboard;
|
|
||||||
conformable(ret,rhs);
|
|
||||||
parallel_for(int ss=0;ss<rhs._grid->oSites();ss++){
|
|
||||||
ret._odata[ss]=Exponentiate(rhs._odata[ss],alpha, Nexp);
|
|
||||||
}
|
|
||||||
|
|
||||||
return ret;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
template<class obj> Lattice<obj> mod(const Lattice<obj> &rhs,Integer y){
|
||||||
|
Lattice<obj> ret(rhs._grid);
|
||||||
|
ret.checkerboard = rhs.checkerboard;
|
||||||
|
conformable(ret,rhs);
|
||||||
|
parallel_for(int ss=0;ss<rhs._grid->oSites();ss++){
|
||||||
|
ret._odata[ss]=mod(rhs._odata[ss],y);
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
template<class obj> Lattice<obj> div(const Lattice<obj> &rhs,Integer y){
|
||||||
|
Lattice<obj> ret(rhs._grid);
|
||||||
|
ret.checkerboard = rhs.checkerboard;
|
||||||
|
conformable(ret,rhs);
|
||||||
|
parallel_for(int ss=0;ss<rhs._grid->oSites();ss++){
|
||||||
|
ret._odata[ss]=div(rhs._odata[ss],y);
|
||||||
|
}
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
template<class obj> Lattice<obj> expMat(const Lattice<obj> &rhs, RealD alpha, Integer Nexp = DEFAULT_MAT_EXP){
|
||||||
|
Lattice<obj> ret(rhs._grid);
|
||||||
|
ret.checkerboard = rhs.checkerboard;
|
||||||
|
conformable(ret,rhs);
|
||||||
|
parallel_for(int ss=0;ss<rhs._grid->oSites();ss++){
|
||||||
|
ret._odata[ss]=Exponentiate(rhs._odata[ss],alpha, Nexp);
|
||||||
|
}
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
NAMESPACE_END(Grid);
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user