From 7840f968c39bde761b987a349cc417bd5c0cc3d8 Mon Sep 17 00:00:00 2001 From: Ye Luo Date: Thu, 9 Nov 2023 08:45:31 -0600 Subject: [PATCH] Use explicit template types. --- src/QMCWaveFunctions/SPOSet.cpp | 8 ++++++-- src/QMCWaveFunctions/SPOSet.h | 8 ++++++-- src/QMCWaveFunctions/tests/FakeSPO.cpp | 8 ++++++-- src/QMCWaveFunctions/tests/FakeSPO.h | 8 ++++++-- 4 files changed, 24 insertions(+), 8 deletions(-) diff --git a/src/QMCWaveFunctions/SPOSet.cpp b/src/QMCWaveFunctions/SPOSet.cpp index cd4200d2702..c11cadef253 100644 --- a/src/QMCWaveFunctions/SPOSet.cpp +++ b/src/QMCWaveFunctions/SPOSet.cpp @@ -439,7 +439,11 @@ void SPOSetT::evaluate_spin(const ParticleSet& P, int iat, ValueVector& p "::evaluate_spin(P,iat,psi,dpsi) (vector quantities)\n"); } -template class SPOSetT; -template class SPOSetT; +#if !defined(MIXED_PRECISION) +template class SPOSetT; +template class SPOSetT>; +#endif +template class SPOSetT; +template class SPOSetT>; } // namespace qmcplusplus diff --git a/src/QMCWaveFunctions/SPOSet.h b/src/QMCWaveFunctions/SPOSet.h index 4f880e37d33..c99afc4f391 100644 --- a/src/QMCWaveFunctions/SPOSet.h +++ b/src/QMCWaveFunctions/SPOSet.h @@ -577,8 +577,12 @@ class SPOSetT friend opt_variables_type& testing::getMyVars(SPOSetT& spo); }; -extern template class SPOSetT; -extern template class SPOSetT; +#if !defined(MIXED_PRECISION) +extern template class SPOSetT; +extern template class SPOSetT>; +#endif +extern template class SPOSetT; +extern template class SPOSetT>; using SPOSet = SPOSetT; using SPOSetPtr = SPOSet*; diff --git a/src/QMCWaveFunctions/tests/FakeSPO.cpp b/src/QMCWaveFunctions/tests/FakeSPO.cpp index 52a1ae02bf5..55fd1a98890 100644 --- a/src/QMCWaveFunctions/tests/FakeSPO.cpp +++ b/src/QMCWaveFunctions/tests/FakeSPO.cpp @@ -154,7 +154,11 @@ void FakeSPO::evaluate_notranspose(const ParticleSet& P, } } -template class FakeSPO; -template class FakeSPO; +#if !defined(MIXED_PRECISION) +template class FakeSPO; +template class FakeSPO>; +#endif +template class FakeSPO; +template class FakeSPO>; } // namespace qmcplusplus diff --git a/src/QMCWaveFunctions/tests/FakeSPO.h b/src/QMCWaveFunctions/tests/FakeSPO.h index c6a8d3c7663..7d5a8a13c1b 100644 --- a/src/QMCWaveFunctions/tests/FakeSPO.h +++ b/src/QMCWaveFunctions/tests/FakeSPO.h @@ -65,8 +65,12 @@ class FakeSPO : public SPOSetT using SPOSet::OrbitalSetSize; }; -extern template class FakeSPO; -extern template class FakeSPO; +#if !defined(MIXED_PRECISION) +extern template class FakeSPO; +extern template class FakeSPO>; +#endif +extern template class FakeSPO; +extern template class FakeSPO>; } // namespace qmcplusplus #endif