mirror of
https://github.com/paboyle/Grid.git
synced 2025-04-04 19:25:56 +01:00
Extra lattice unaries
This commit is contained in:
parent
e5c980f169
commit
58f50b7520
@ -3,51 +3,6 @@
|
|||||||
|
|
||||||
namespace Grid {
|
namespace Grid {
|
||||||
|
|
||||||
//////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
||||||
// avoid copy back routines for mult, mac, sub, add
|
|
||||||
//////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
||||||
template<class obj> Lattice<obj> sqrt(const Lattice<obj> &rhs){
|
|
||||||
Lattice<obj> ret(rhs._grid);
|
|
||||||
ret.checkerboard = rhs.checkerboard;
|
|
||||||
conformable(ret,rhs);
|
|
||||||
PARALLEL_FOR_LOOP
|
|
||||||
for(int ss=0;ss<rhs._grid->oSites();ss++){
|
|
||||||
ret._odata[ss]=sqrt(rhs._odata[ss]);
|
|
||||||
}
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
template<class obj> Lattice<obj> rsqrt(const Lattice<obj> &rhs){
|
|
||||||
Lattice<obj> ret(rhs._grid);
|
|
||||||
ret.checkerboard = rhs.checkerboard;
|
|
||||||
conformable(ret,rhs);
|
|
||||||
PARALLEL_FOR_LOOP
|
|
||||||
for(int ss=0;ss<rhs._grid->oSites();ss++){
|
|
||||||
ret._odata[ss]=rsqrt(rhs._odata[ss]);
|
|
||||||
}
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
template<class obj> Lattice<obj> sin(const Lattice<obj> &rhs){
|
|
||||||
Lattice<obj> ret(rhs._grid);
|
|
||||||
ret.checkerboard = rhs.checkerboard;
|
|
||||||
conformable(ret,rhs);
|
|
||||||
PARALLEL_FOR_LOOP
|
|
||||||
for(int ss=0;ss<rhs._grid->oSites();ss++){
|
|
||||||
ret._odata[ss]=sin(rhs._odata[ss]);
|
|
||||||
}
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
template<class obj> Lattice<obj> cos(const Lattice<obj> &rhs){
|
|
||||||
Lattice<obj> ret(rhs._grid);
|
|
||||||
ret.checkerboard = rhs.checkerboard;
|
|
||||||
conformable(ret,rhs);
|
|
||||||
PARALLEL_FOR_LOOP
|
|
||||||
for(int ss=0;ss<rhs._grid->oSites();ss++){
|
|
||||||
ret._odata[ss]=cos(rhs._odata[ss]);
|
|
||||||
}
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
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;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user