MADNESS 0.10.1
madness::LRFunctorF12< T, NDIM, LDIM >::MacroTaskLRFInner Class Reference

macrotask for \sum_ia premultiply_ia * f12 * postmultiply_ia * rhs, batched over rhs More...

#include <lowrankfunction.h>

Inheritance diagram for madness::LRFunctorF12< T, NDIM, LDIM >::MacroTaskLRFInner:
Collaboration diagram for madness::LRFunctorF12< T, NDIM, LDIM >::MacroTaskLRFInner:

Public Types

typedef std::tuple< const std::vector< Function< T, LDIM > > &, const std::vector< Function< T, LDIM > > &, const std::vector< Function< T, LDIM > > &, const Tensor< T > &, const Tensor< double > &, const double &, const double &, const double &, const bool & > argtupleT
using resultT = std::vector<Function<T,LDIM>>

Public Member Functions

 MacroTaskLRFInner ()
resultT allocator (World &world, const argtupleT &argtuple) const
resultT operator() (const std::vector< Function< T, LDIM > > &rhs_batch, const std::vector< Function< T, LDIM > > &a, const std::vector< Function< T, LDIM > > &b, const Tensor< T > &coeff, const Tensor< double > &expnt, const double lo, const double thresh, const double mu, const bool p1_is_first) const
Public Member Functions inherited from madness::MacroTaskOperationBase
 MacroTaskOperationBase ()
 MacroTaskOperationBase (const std::string name)
virtual ~MacroTaskOperationBase ()
virtual bool accumulates_own_output () const
virtual void cleanup ()
 release whatever the task kept across its batches, called once the queue has run
virtual bool handles_own_data_movement () const
 true if the task moves its operand coefficients into the subworld itself
virtual long owner_hint (const Batch &, const long) const
 which subworld should run this batch; -1 leaves the choice to the queue

Additional Inherited Members

Public Attributes inherited from madness::MacroTaskOperationBase
Batch batch
Cloud * cloud_ptr =0
std::string name ="unknown_task"
std::shared_ptr< MacroTaskPartitioner > partitioner =0
World * subworld_ptr =0

Detailed Description

template<typename T, std::size_t NDIM, std::size_t LDIM = NDIM/2>
class madness::LRFunctorF12< T, NDIM, LDIM >::MacroTaskLRFInner

macrotask for \sum_ia premultiply_ia * f12 * postmultiply_ia * rhs, batched over rhs

Member Typedef Documentation

◆ argtupleT

template<typename T, std::size_t NDIM, std::size_t LDIM = NDIM/2>
typedef std::tuple< const std::vector<Function<T,LDIM> >&, const std::vector<Function<T,LDIM> >&, const std::vector<Function<T,LDIM> >&, const Tensor<T>&, const Tensor<double>&, const double&, const double&, const double&, const bool& > madness::LRFunctorF12< T, NDIM, LDIM >::MacroTaskLRFInner::argtupleT

◆ resultT

template<typename T, std::size_t NDIM, std::size_t LDIM = NDIM/2>
using madness::LRFunctorF12< T, NDIM, LDIM >::MacroTaskLRFInner::resultT = std::vector<Function<T,LDIM>>

Constructor & Destructor Documentation

◆ MacroTaskLRFInner()

template<typename T, std::size_t NDIM, std::size_t LDIM = NDIM/2>
madness::LRFunctorF12< T, NDIM, LDIM >::MacroTaskLRFInner::MacroTaskLRFInner ( )
inline

Member Function Documentation

◆ allocator()

template<typename T, std::size_t NDIM, std::size_t LDIM = NDIM/2>
resultT madness::LRFunctorF12< T, NDIM, LDIM >::MacroTaskLRFInner::allocator ( World & world,
const argtupleT & argtuple ) const
inline

◆ operator()()

template<typename T, std::size_t NDIM, std::size_t LDIM = NDIM/2>
resultT madness::LRFunctorF12< T, NDIM, LDIM >::MacroTaskLRFInner::operator() ( const std::vector< Function< T, LDIM > > & rhs_batch,
const std::vector< Function< T, LDIM > > & a,
const std::vector< Function< T, LDIM > > & b,
const Tensor< T > & coeff,
const Tensor< double > & expnt,
const double lo,
const double thresh,
const double mu,
const bool p1_is_first ) const
inline

The documentation for this class was generated from the following file: