From 20c6f19bb22a5b1327d549e01b880af63ffeff0b Mon Sep 17 00:00:00 2001 From: Quadro Date: Tue, 1 Jun 2021 13:29:44 -0400 Subject: [PATCH] Virtual fix --- .../fermion/ImprovedStaggeredFermion5D.h | 23 +++++++++++-------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/Grid/qcd/action/fermion/ImprovedStaggeredFermion5D.h b/Grid/qcd/action/fermion/ImprovedStaggeredFermion5D.h index ca660610..ad9f0aeb 100644 --- a/Grid/qcd/action/fermion/ImprovedStaggeredFermion5D.h +++ b/Grid/qcd/action/fermion/ImprovedStaggeredFermion5D.h @@ -160,17 +160,20 @@ public: RealD _c1=1.0, RealD _c2=1.0,RealD _u0=1.0, const ImplParams &p= ImplParams()); - // DoubleStore gauge field in operator - void ImportGauge (const GaugeField &_Uthin ) { assert(0); } + // DoubleStore gauge field in operator + void ImportGauge (const GaugeField &_Uthin ) { assert(0); } void ImportGauge(const GaugeField &_Uthin,const GaugeField &_Ufat); - void ImportGaugeSimple(const GaugeField &_UUU,const GaugeField &_U); - void ImportGaugeSimple(const DoubledGaugeField &_UUU,const DoubledGaugeField &_U); - // Give a reference; can be used to do an assignment or copy back out after import - // if Carleton wants to cache them and not use the ImportSimple - DoubledGaugeField &GetU(void) { return Umu ; } ; - DoubledGaugeField &GetUUU(void) { return UUUmu; }; - void CopyGaugeCheckerboards(void); - + void ImportGaugeSimple(const GaugeField &_UUU,const GaugeField &_U); + void ImportGaugeSimple(const DoubledGaugeField &_UUU,const DoubledGaugeField &_U); + // Give a reference; can be used to do an assignment or copy back out after import + // if Carleton wants to cache them and not use the ImportSimple + virtual DoubledGaugeField &GetDoubledGaugeField(void) override { return Umu; }; + virtual DoubledGaugeField &GetDoubledGaugeFieldE(void) override { return UmuEven; }; + virtual DoubledGaugeField &GetDoubledGaugeFieldO(void) override { return UmuOdd; }; + DoubledGaugeField &GetU(void) { return Umu ; } ; + DoubledGaugeField &GetUUU(void) { return UUUmu; }; + void CopyGaugeCheckerboards(void); + /////////////////////////////////////////////////////////////// // Data members require to support the functionality ///////////////////////////////////////////////////////////////