mirror of
				https://github.com/paboyle/Grid.git
				synced 2025-11-03 21:44:33 +00:00 
			
		
		
		
	Instantiate
This commit is contained in:
		@@ -488,7 +488,7 @@ PARALLEL_FOR_LOOP
 | 
				
			|||||||
    typedef WilsonImpl<vComplexF,Nc> WilsonImplF; // Float
 | 
					    typedef WilsonImpl<vComplexF,Nc> WilsonImplF; // Float
 | 
				
			||||||
    typedef WilsonImpl<vComplexD,Nc> WilsonImplD; // Double
 | 
					    typedef WilsonImpl<vComplexD,Nc> WilsonImplD; // Double
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    typedef WilsonImpl<vComplex ,Nc,ComplexD>  ZWilsonImplR; // Real.. whichever prec
 | 
					    typedef WilsonImpl<vComplex ,Nc,ComplexD> ZWilsonImplR; // Real.. whichever prec
 | 
				
			||||||
    typedef WilsonImpl<vComplexF,Nc,ComplexD> ZWilsonImplF; // Float
 | 
					    typedef WilsonImpl<vComplexF,Nc,ComplexD> ZWilsonImplF; // Float
 | 
				
			||||||
    typedef WilsonImpl<vComplexD,Nc,ComplexD> ZWilsonImplD; // Double
 | 
					    typedef WilsonImpl<vComplexD,Nc,ComplexD> ZWilsonImplD; // Double
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -496,7 +496,7 @@ PARALLEL_FOR_LOOP
 | 
				
			|||||||
    typedef DomainWallVec5dImpl<vComplexF,Nc> DomainWallVec5dImplF; // Float
 | 
					    typedef DomainWallVec5dImpl<vComplexF,Nc> DomainWallVec5dImplF; // Float
 | 
				
			||||||
    typedef DomainWallVec5dImpl<vComplexD,Nc> DomainWallVec5dImplD; // Double
 | 
					    typedef DomainWallVec5dImpl<vComplexD,Nc> DomainWallVec5dImplD; // Double
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    typedef DomainWallVec5dImpl<vComplex ,Nc,ComplexD>  ZDomainWallVec5dImplR; // Real.. whichever prec
 | 
					    typedef DomainWallVec5dImpl<vComplex ,Nc,ComplexD> ZDomainWallVec5dImplR; // Real.. whichever prec
 | 
				
			||||||
    typedef DomainWallVec5dImpl<vComplexF,Nc,ComplexD> ZDomainWallVec5dImplF; // Float
 | 
					    typedef DomainWallVec5dImpl<vComplexF,Nc,ComplexD> ZDomainWallVec5dImplF; // Float
 | 
				
			||||||
    typedef DomainWallVec5dImpl<vComplexD,Nc,ComplexD> ZDomainWallVec5dImplD; // Double
 | 
					    typedef DomainWallVec5dImpl<vComplexD,Nc,ComplexD> ZDomainWallVec5dImplD; // Double
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -839,46 +839,23 @@ void WilsonKernels<GparityWilsonImplD>::DiracOptHandDhopSiteDag(StencilImpl &st,
 | 
				
			|||||||
////////////// Wilson ; uses this implementation /////////////////////
 | 
					////////////// Wilson ; uses this implementation /////////////////////
 | 
				
			||||||
// Need Nc=3 though //
 | 
					// Need Nc=3 though //
 | 
				
			||||||
 | 
					
 | 
				
			||||||
template void WilsonKernels<WilsonImplF>::DiracOptHandDhopSite(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,
 | 
					#define INSTANTIATE_THEM(A) \
 | 
				
			||||||
							       std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
 | 
					template void WilsonKernels<A>::DiracOptHandDhopSite(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,\
 | 
				
			||||||
							       int ss,int sU,const FermionField &in, FermionField &out);
 | 
												       std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,\
 | 
				
			||||||
template void WilsonKernels<WilsonImplD>::DiracOptHandDhopSite(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,
 | 
												       int ss,int sU,const FermionField &in, FermionField &out);\
 | 
				
			||||||
							       std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
 | 
					template void WilsonKernels<A>::DiracOptHandDhopSiteDag(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,\
 | 
				
			||||||
							       int ss,int sU,const FermionField &in, FermionField &out);
 | 
													  std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,\
 | 
				
			||||||
template void WilsonKernels<WilsonImplF>::DiracOptHandDhopSiteDag(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,
 | 
					 | 
				
			||||||
								  std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
 | 
					 | 
				
			||||||
								  int ss,int sU,const FermionField &in, FermionField &out);
 | 
					 | 
				
			||||||
template void WilsonKernels<WilsonImplD>::DiracOptHandDhopSiteDag(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,
 | 
					 | 
				
			||||||
								  std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
 | 
					 | 
				
			||||||
								  int ss,int sU,const FermionField &in, FermionField &out);
 | 
													  int ss,int sU,const FermionField &in, FermionField &out);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					INSTANTIATE_THEM(WilsonImplF);
 | 
				
			||||||
template void WilsonKernels<GparityWilsonImplF>::DiracOptHandDhopSite(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,
 | 
					INSTANTIATE_THEM(WilsonImplD);
 | 
				
			||||||
								      std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
 | 
					INSTANTIATE_THEM(ZWilsonImplF);
 | 
				
			||||||
								      int ss,int sU,const FermionField &in, FermionField &out);
 | 
					INSTANTIATE_THEM(ZWilsonImplD);
 | 
				
			||||||
template void WilsonKernels<GparityWilsonImplD>::DiracOptHandDhopSite(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,
 | 
					INSTANTIATE_THEM(GparityWilsonImplF);
 | 
				
			||||||
								      std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
 | 
					INSTANTIATE_THEM(GparityWilsonImplD);
 | 
				
			||||||
								      int ss,int sU,const FermionField &in, FermionField &out);
 | 
					INSTANTIATE_THEM(DomainWallVec5dImplF);
 | 
				
			||||||
template void WilsonKernels<GparityWilsonImplF>::DiracOptHandDhopSiteDag(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,
 | 
					INSTANTIATE_THEM(DomainWallVec5dImplD);
 | 
				
			||||||
									 std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
 | 
					INSTANTIATE_THEM(ZDomainWallVec5dImplF);
 | 
				
			||||||
									 int ss,int sU,const FermionField &in, FermionField &out);
 | 
					INSTANTIATE_THEM(ZDomainWallVec5dImplD);
 | 
				
			||||||
template void WilsonKernels<GparityWilsonImplD>::DiracOptHandDhopSiteDag(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,
 | 
					 | 
				
			||||||
									 std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
 | 
					 | 
				
			||||||
									 int ss,int sU,const FermionField &in, FermionField &out);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
template void WilsonKernels<DomainWallVec5dImplF>::DiracOptHandDhopSite(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,
 | 
					 | 
				
			||||||
								      std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
 | 
					 | 
				
			||||||
								      int ss,int sU,const FermionField &in, FermionField &out);
 | 
					 | 
				
			||||||
template void WilsonKernels<DomainWallVec5dImplD>::DiracOptHandDhopSite(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,
 | 
					 | 
				
			||||||
								      std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
 | 
					 | 
				
			||||||
								      int ss,int sU,const FermionField &in, FermionField &out);
 | 
					 | 
				
			||||||
template void WilsonKernels<DomainWallVec5dImplF>::DiracOptHandDhopSiteDag(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,
 | 
					 | 
				
			||||||
									 std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
 | 
					 | 
				
			||||||
									 int ss,int sU,const FermionField &in, FermionField &out);
 | 
					 | 
				
			||||||
template void WilsonKernels<DomainWallVec5dImplD>::DiracOptHandDhopSiteDag(StencilImpl &st,LebesgueOrder &lo,DoubledGaugeField &U,
 | 
					 | 
				
			||||||
									 std::vector<SiteHalfSpinor,alignedAllocator<SiteHalfSpinor> >  &buf,
 | 
					 | 
				
			||||||
									 int ss,int sU,const FermionField &in, FermionField &out);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
}}
 | 
					}}
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user