mirror of
https://github.com/paboyle/Grid.git
synced 2024-11-13 01:05:36 +00:00
Solving the instantiation no compile issue
This commit is contained in:
parent
1a6c7204ac
commit
980ff18956
@ -126,5 +126,15 @@ namespace Grid {
|
|||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#define INSTANTIATE_DPERP(A)\
|
||||||
|
template void CayleyFermion5D< A >::M5D(const FermionField &psi,const FermionField &phi,FermionField &chi,\
|
||||||
|
std::vector<RealD> &lower,std::vector<RealD> &diag,std::vector<RealD> &upper); \
|
||||||
|
template void CayleyFermion5D< A >::M5Ddag(const FermionField &psi,const FermionField &phi,FermionField &chi,\
|
||||||
|
std::vector<RealD> &lower,std::vector<RealD> &diag,std::vector<RealD> &upper); \
|
||||||
|
template void CayleyFermion5D< A >::MooeeInv (const FermionField &psi, FermionField &chi); \
|
||||||
|
template void CayleyFermion5D< A >::MooeeInvDag (const FermionField &psi, FermionField &chi);
|
||||||
|
|
||||||
|
#define CAYLEY_DPERP_CACHE
|
||||||
|
#undef CAYLEY_DPERP_LINALG
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -199,8 +199,11 @@ PARALLEL_FOR_LOOP
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
FermOp4dVecTemplateInstantiate(CayleyFermion5D);
|
#ifdef CAYLEY_DPERP_CACHE
|
||||||
GparityFermOpTemplateInstantiate(CayleyFermion5D);
|
INSTANTIATE_DPERP(WilsonImplF);
|
||||||
|
INSTANTIATE_DPERP(WilsonImplD);
|
||||||
|
INSTANTIATE_DPERP(GparityWilsonImplF);
|
||||||
|
INSTANTIATE_DPERP(GparityWilsonImplD);
|
||||||
|
#endif
|
||||||
|
|
||||||
}}
|
}}
|
||||||
|
@ -39,6 +39,7 @@ namespace QCD {
|
|||||||
* Dense matrix versions of routines
|
* Dense matrix versions of routines
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/*
|
||||||
template<class Impl>
|
template<class Impl>
|
||||||
void CayleyFermion5D<Impl>::MooeeInvDag (const FermionField &psi, FermionField &chi)
|
void CayleyFermion5D<Impl>::MooeeInvDag (const FermionField &psi, FermionField &chi)
|
||||||
{
|
{
|
||||||
@ -50,7 +51,7 @@ void CayleyFermion5D<Impl>::MooeeInv(const FermionField &psi, FermionField &chi)
|
|||||||
{
|
{
|
||||||
this->MooeeInternal(psi,chi,DaggerNo,InverseYes);
|
this->MooeeInternal(psi,chi,DaggerNo,InverseYes);
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
template<class Impl>
|
template<class Impl>
|
||||||
void CayleyFermion5D<Impl>::MooeeInternal(const FermionField &psi, FermionField &chi,int dag, int inv)
|
void CayleyFermion5D<Impl>::MooeeInternal(const FermionField &psi, FermionField &chi,int dag, int inv)
|
||||||
{
|
{
|
||||||
@ -124,6 +125,9 @@ void CayleyFermion5D<Impl>::MooeeInternal(const FermionField &psi, FermionField
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
FermOp4dVecTemplateInstantiate(CayleyFermion5D);
|
template void CayleyFermion5D<GparityWilsonImplF>::MooeeInternal(const FermionField &psi, FermionField &chi,int dag, int inv);
|
||||||
|
template void CayleyFermion5D<GparityWilsonImplD>::MooeeInternal(const FermionField &psi, FermionField &chi,int dag, int inv);
|
||||||
|
template void CayleyFermion5D<WilsonImplF>::MooeeInternal(const FermionField &psi, FermionField &chi,int dag, int inv);
|
||||||
|
template void CayleyFermion5D<WilsonImplD>::MooeeInternal(const FermionField &psi, FermionField &chi,int dag, int inv);
|
||||||
|
|
||||||
}}
|
}}
|
||||||
|
@ -137,8 +137,13 @@ void CayleyFermion5D<Impl>::MooeeInvDag (const FermionField &psi, FermionField &
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// FermOp4dVecTemplateInstantiate(CayleyFermion5D);
|
|
||||||
// GparityFermOpTemplateInstantiate(CayleyFermion5D);
|
#ifdef CAYLEY_DPERP_LINALG
|
||||||
|
INSTANTIATE(WilsonImplF);
|
||||||
|
INSTANTIATE(WilsonImplD);
|
||||||
|
INSTANTIATE(GparityWilsonImplF);
|
||||||
|
INSTANTIATE(GparityWilsonImplD);
|
||||||
|
#endif
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -296,6 +296,10 @@ PARALLEL_FOR_LOOP
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
FermOp5dVecTemplateInstantiate(CayleyFermion5D);
|
INSTANTIATE_DPERP(DomainWallVec5dImplD);
|
||||||
|
INSTANTIATE_DPERP(DomainWallVec5dImplF);
|
||||||
|
|
||||||
|
template void CayleyFermion5D<DomainWallVec5dImplF>::MooeeInternal(const FermionField &psi, FermionField &chi,int dag, int inv);
|
||||||
|
template void CayleyFermion5D<DomainWallVec5dImplD>::MooeeInternal(const FermionField &psi, FermionField &chi,int dag, int inv);
|
||||||
|
|
||||||
}}
|
}}
|
||||||
|
Loading…
Reference in New Issue
Block a user