34template <
typename T,
typename Device = base_device::DEVICE_CPU>
51 virtual void init(
const int ik_in);
64 virtual void act(
const int nbands,
77 const int nbands)
const {};
int act_type
determine which act() interface would be called in hPsi()
Definition operator.h:100
virtual int get_ik() const
Definition operator.h:55
Operator * next_sub_op
Definition operator.h:106
int get_act_type() const
Definition operator.h:88
psi::Psi< T, Device > * hpsi
Definition operator.h:110
int ik
Definition operator.h:99
Operator * next_op
interface type 3: return a Psi-type HPsi
Definition operator.h:82
std::tuple< const psi::Psi< T, Device > *, const psi::Range, T * > hpsi_info
Definition operator.h:47
enum calculation_type cal_type
Definition operator.h:105
virtual hpsi_info hPsi(hpsi_info &input) const
virtual void add(Operator *next)
calculation_type get_cal_type() const
Definition operator.h:93
T * get_hpsi(const hpsi_info &info) const
bool is_first_node
Definition operator.h:107
virtual void init(const int ik_in)
virtual void act(const psi::Psi< T, Device > &psi_in, psi::Psi< T, Device > &psi_out, const int nbands) const
Definition operator.h:75
Device * ctx
Definition operator.h:122
virtual void act(const int nbands, const int nbasis, const int npol, const T *tmpsi_in, T *tmhpsi, const int ngk_ik=0, const bool is_first_node=false) const
Definition operator.h:64
bool in_place
Definition operator.h:102
#define T
Definition exp.cpp:237
calculation_type
Definition operator.h:12
Definition memory_op.h:31