[WIP] More templates for the classes derived from `SPOSetT<T>`
Proposed changes
Introducing templates for the classes derived from SPOSetT<T>. This is the following change towards a unified build for real, complex, and mixed-precision, starting from #5306.
What type(s) of changes does this code introduce?
- Code style update (formatting, renaming)
- Refactoring (no functional changes, no api changes)
Does this introduce a breaking change?
- No
What systems has this change been tested on?
Checklist
- Yes. This PR is up to date with current the current state of 'develop'
- Yes/No. Code added or changed in the PR has been clang-formatted
- No. This PR adds tests to cover any new code, or to catch a bug that is being fixed
- No. Documentation has been added (if appropriate)
Could you make a new PR by cherry-picking ConstantSPOSet, CompositeSPOSet and DummySPOSetWithMW changes. DummySPOSetWithoutMW was removed earlier. Basically leaving out RotatedSPO.
@ye-luo I still see DummySPOSetWithoutMW in the develop branch:
https://github.com/QMCPACK/qmcpack/blob/094b0c813a1ec0a70093e023997f14a2e5850c4d/src/QMCWaveFunctions/tests/test_RotatedSPOs.cpp#L839
Is there a pending PR removing that?
A subset of this PR superseded in #5373.
This PR is stalled due to the need of clean up ParticleSet, it should not carry wavefunction related objects like P.G/P.L.