36template <
typename T,
typename Device = base_device::DEVICE_CPU>
53 virtual void init(
const int ik_in);
66 virtual void act(
const int nbands,
79 const int nbands)
const {};
int act_type
determine which act() interface would be called in hPsi()
Definition operator.h:102
virtual int get_ik() const
Definition operator.h:57
Operator * next_sub_op
Definition operator.h:108
int get_act_type() const
Definition operator.h:90
psi::Psi< T, Device > * hpsi
Definition operator.h:112
int ik
Definition operator.h:101
Operator * next_op
interface type 3: return a Psi-type HPsi
Definition operator.h:84
std::tuple< const psi::Psi< T, Device > *, const psi::Range, T * > hpsi_info
Definition operator.h:49
enum calculation_type cal_type
Definition operator.h:107
virtual hpsi_info hPsi(hpsi_info &input) const
virtual void add(Operator *next)
calculation_type get_cal_type() const
Definition operator.h:95
T * get_hpsi(const hpsi_info &info) const
bool is_first_node
Definition operator.h:109
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:77
Device * ctx
Definition operator.h:124
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:66
bool in_place
Definition operator.h:104
#define T
Definition exp.cpp:237
calculation_type
Definition operator.h:14
Definition memory_op.h:31