QMCPACK
WaveFunctionTypes.hpp File Reference
+ Include dependency graph for WaveFunctionTypes.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  WaveFunctionTypes< VALUE, FP_VALUE >
 Consistent way to get the set of types used in the QMCWaveFunction module, without resorting to ifdef'd type aliases accessed through inheritance. More...
 

Namespaces

 qmcplusplus
 helper functions for EinsplineSetBuilder
 

Class Documentation

◆ qmcplusplus::WaveFunctionTypes

struct qmcplusplus::WaveFunctionTypes

template<typename VALUE, typename FP_VALUE>
struct qmcplusplus::WaveFunctionTypes< VALUE, FP_VALUE >

Consistent way to get the set of types used in the QMCWaveFunction module, without resorting to ifdef'd type aliases accessed through inheritance.

You can at least test all flavors without tricky scoping or recompiling. Determines type set for class through composition instead of inheritance.

Its somewhat question whether it is even worth have all these shortened type aliases Defined differently in different modules of the code, but it needs further study.

I would have liked to use QMCTypes but they do something dumb with handling complex which basically bakes in multiple builds for Real and Complex.

Definition at line 34 of file WaveFunctionTypes.hpp.

+ Collaboration diagram for WaveFunctionTypes< VALUE, FP_VALUE >:
Class Members
typedef complex< Real > Complex
typedef RealAlias< FullPrecValue > FullPrecReal
typedef FP_VALUE FullPrecValue
typedef TinyVector< Value, OHMMS_DIM > Grad
typedef Tensor< Value, OHMMS_DIM > Hess
typedef complex< FullPrecReal > LogValue
typedef FP_VALUE PsiValue
typedef RealAlias< Value > Real
typedef VALUE Value