MADNESS  version 0.9
Public Member Functions | Public Attributes | List of all members
madness::MatrixInnerTask< T, R, NDIM > Struct Template Reference

#include <vmra1.h>

Inheritance diagram for madness::MatrixInnerTask< T, R, NDIM >:
Inheritance graph
[legend]
Collaboration diagram for madness::MatrixInnerTask< T, R, NDIM >:
Collaboration graph
[legend]

Public Member Functions

 MatrixInnerTask (const Tensor< TENSOR_RESULT_TYPE(T, R)> &result, const Function< T, NDIM > &f, const std::vector< Function< R, NDIM > > &g, long jtop)
 
void run (World &world)
 Runs a single-threaded task ... derived classes must implement this. More...
 
- Public Member Functions inherited from madness::TaskInterface
 TaskInterface (int ndepend=0, const TaskAttributes attr=TaskAttributes())
 Create a new task with ndepend dependencies (default 0) and given attributes. More...
 
 TaskInterface (const TaskAttributes &attr)
 Create a new task with zero dependencies and given attributes. More...
 
virtual void run (World &world, const TaskThreadEnv &env)
 Runs a multi-threaded task. More...
 
Worldget_world () const
 
virtual ~TaskInterface ()
 
- Public Member Functions inherited from madness::PoolTaskInterface
 PoolTaskInterface ()
 
 PoolTaskInterface (const TaskAttributes &attr)
 
void set_nthread (int nthread)
 Call this to reset the number of threads before the task is submitted. More...
 
virtual ~PoolTaskInterface ()
 
- Public Member Functions inherited from madness::TaskAttributes
 TaskAttributes (unsigned long flags=0)
 
 TaskAttributes (const TaskAttributes &attr)
 
virtual ~TaskAttributes ()
 
bool is_generator () const
 
bool is_stealable () const
 
bool is_high_priority () const
 
void set_generator (bool generator_hint)
 
void set_stealable (bool stealable)
 
void set_highpriority (bool hipri)
 
void set_nthread (int nthread)
 Are you sure this is what you want to call? More...
 
int get_nthread () const
 
template<typename Archive >
void serialize (Archive &ar)
 
- Public Member Functions inherited from madness::DependencyInterface
 DependencyInterface (int ndep=0)
 
int ndep () const
 Returns the number of unsatisfied dependencies. More...
 
bool probe () const
 Returns true if ndepend == 0. More...
 
void notify ()
 Invoked by callbacks to notifiy of dependencies being satisfied. More...
 
void register_callback (CallbackInterface *callback)
 Registers a callback for when ndepend==0 , immediately invoked if ndepend==0. More...
 
void inc ()
 Increment the number of dependencies. More...
 
void dec ()
 Decrement the number of dependencies and invoke callback if ndepend=0. More...
 
virtual ~DependencyInterface ()
 
- Public Member Functions inherited from madness::CallbackInterface
virtual ~CallbackInterface ()
 

Public Attributes

Tensor< TENSOR_RESULT_TYPE(T, R)> result
 
const Function< T, NDIM > & f
 
const std::vector< Function< R,
NDIM > > & 
g
 
long jtop
 

Additional Inherited Members

- Static Public Member Functions inherited from madness::PoolTaskInterface
static void operator delete (void *p, std::size_t size) throw ()
 Destroy task object. More...
 
- Static Public Member Functions inherited from madness::TaskAttributes
static TaskAttributes generator ()
 
static TaskAttributes hipri ()
 
static TaskAttributes multi_threaded (int nthread)
 
- Static Public Attributes inherited from madness::TaskInterface
static bool debug = false
 
- Static Public Attributes inherited from madness::TaskAttributes
static const unsigned long NTHREAD = 0xff
 
static const unsigned long GENERATOR = 1ul<<8
 
static const unsigned long STEALABLE = GENERATOR<<1
 
static const unsigned long HIGHPRIORITY = GENERATOR<<2
 
- Protected Member Functions inherited from madness::TaskInterface
virtual void run (const TaskThreadEnv &env)
 Override this method to implement a multi-threaded task. More...
 
- Static Protected Member Functions inherited from madness::PoolTaskInterface
template<typename fnT >
static enable_if_c
< detail::function_traits< fnT >
::value||detail::memfunc_traits
< fnT >::value >::type 
make_id (std::pair< void *, unsigned short > &id, fnT fn)
 
template<typename fnobjT >
static disable_if_c
< detail::function_traits
< fnobjT >::value||detail::memfunc_traits
< fnobjT >::value >::type 
make_id (std::pair< void *, unsigned short > &id, const fnobjT &)
 

Constructor & Destructor Documentation

template<typename T , typename R , std::size_t NDIM>
madness::MatrixInnerTask< T, R, NDIM >::MatrixInnerTask ( const Tensor< TENSOR_RESULT_TYPE(T, R)> &  result,
const Function< T, NDIM > &  f,
const std::vector< Function< R, NDIM > > &  g,
long  jtop 
)
inline

Member Function Documentation

template<typename T , typename R , std::size_t NDIM>
void madness::MatrixInnerTask< T, R, NDIM >::run ( World )
inlinevirtual

Runs a single-threaded task ... derived classes must implement this.

This interface may disappear so new code should use the multi-threaded interface.

Reimplemented from madness::TaskInterface.

References madness::MatrixInnerTask< T, R, NDIM >::jtop, and madness::MatrixInnerTask< T, R, NDIM >::result.

Member Data Documentation

template<typename T , typename R , std::size_t NDIM>
const Function<T,NDIM>& madness::MatrixInnerTask< T, R, NDIM >::f
template<typename T , typename R , std::size_t NDIM>
const std::vector< Function<R,NDIM> >& madness::MatrixInnerTask< T, R, NDIM >::g
template<typename T , typename R , std::size_t NDIM>
long madness::MatrixInnerTask< T, R, NDIM >::jtop
template<typename T , typename R , std::size_t NDIM>
Tensor<TENSOR_RESULT_TYPE(T,R)> madness::MatrixInnerTask< T, R, NDIM >::result

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