19 #ifndef QMCPLUSPLUS_ORBITALSETTRAITS_H 20 #define QMCPLUSPLUS_ORBITALSETTRAITS_H 93 return std::log(std::complex<T>(logpsi));
105 template<
typename T1>
106 inline static T
convert(
const std::complex<T1>& logpsi)
115 template<typename T1, typename = std::enable_if_t<!std::is_same<T, T1>::value>>
116 inline static std::complex<T>
convert(
const std::complex<T1>& logpsi)
122 inline static std::complex<T>
convert(
const std::complex<T>& logpsi) {
return std::exp(logpsi); }
static std::complex< T > convert(const std::complex< T1 > &logpsi)
static T convert(const std::complex< T1 > &logpsi)
helper functions for EinsplineSetBuilder
dummy class for templated classes
Soa Container for D-dim vectors.
evaluate psi based on log(psi)
SoA adaptor class for Vector<TinyVector<T,D> >
RealAlias< ValueType > RealType
std::complex< T > convertValueToLog(const std::complex< T > &logpsi)
evaluate log(psi) as log(|psi|) and phase
float imag(const float &c)
imaginary part of a scalar. Cannot be replaced by std::imag due to AFQMC specific needs...
Tensor<T,D> class for D by D tensor.
MakeReturn< UnaryNode< FnExp, typename CreateLeaf< Vector< T1, C1 > >::Leaf_t > >::Expression_t exp(const Vector< T1, C1 > &l)
static std::complex< T > convert(const std::complex< T > &logpsi)
MakeReturn< UnaryNode< FnLog, typename CreateLeaf< Vector< T1, C1 > >::Leaf_t > >::Expression_t log(const Vector< T1, C1 > &l)
typename RealAlias_impl< T >::value_type RealAlias
If you have a function templated on a value that can be real or complex and you need to get the base ...
trait class to handel a set of Orbitals
DummyGrid * makeClone() const