MADNESS 0.10.1
Todo List
Module applications
Write this section. Perhaps include the sample code (include MADNESS, etc.) and how to compile it.
Member ARCHIVE_COOKIE
Brief description needed.
Module atomics
Description/overview of atomic operations and related concepts for the documentation module.
File constants.h
We should consider a more uniform naming scheme for all of the conversion ratios.
File distributed_id.h

Description needed.

Module futures

This is taken from some crude remarks that used to be in worldfut.h (now future.h). It needs to be edited/verified before this goes live. It could probably use a better section heading than "Gotchas", too...

Badly in need of a general description. There's a lot of jargon in the implementation's documentation – a future is assigned, etc. – that should be clarified. Just sayin'. There's some text in a comment (not doxygen) near the beginning of the Future class. Maybe move it here? Hell, I went ahead an copied (cut, really) it here, right here, just for you.

Module gstart_comp_run
Verify that the code snippets here aren't stale. They're imported from a 2010 document.
Module libraries
Add additional details to this section, if needed.
Class madness::archive::archive_ptr< T >
Verify this documentation.
Member madness::archive::ArchiveImpl< ParallelInputArchive< localarchiveT >, T >::wrap_load (const ParallelInputArchive< localarchiveT > &ar, const Q &t)

Same question about Q.

Is Q necessary? I'm sure it is, but can't figure out why at a first glance.

Member madness::archive::ArchiveImpl< ParallelOutputArchive< localarchiveT >, T >::wrap_store (const ParallelOutputArchive< localarchiveT > &ar, const Q &t)

Same question about Q.

Is Q necessary? I'm sure it is, but can't figure out why at a first glance.

Class madness::archive::BaseParallelArchive< Archive >
Should this class derive from BaseArchive?
Member madness::archive::fred_and_mary_sitting_under_a_tree
Investigate if this is necessary...
Member madness::archive::MPIOutputArchive::flush () const
Check out the "?? why ??" comment.
Member madness::archive::MPIRawInputArchive::MPIRawInputArchive (World &world, const ProcessID &src, int tag=SafeMPI::MPIAR_TAG)
Descriptions needed.
Member madness::archive::VectorOutputArchive::store (const T *t, long n) const
Verify/complete the documentation.
Class madness::AtomicInt
Should we actually switch to the TBB version?
Member madness::AtomicInt::exchange_and_add (int i)

Descriptions needed.

Brief description needed.

Member madness::AtomicInt::operator= (int other)
Descriptions needed.
Namespace madness::cblas
Description needed
Member madness::cpu_relax ()
Can we provide some context for this function?
Member madness::DependencyInterface::callbacks
Brief description needed.
Member madness::DependencyInterface::DependencyInterface (int ndep=0)
Constructor that...
Member madness::DependencyInterface::do_callbacks (callbackT &cb) const

Parameter description needed.

Brief description needed.

Namespace madness::detail
Description needed
Struct madness::detail::callable_enabler< callableT, Enabler >

Brief description needed.

Descriptions needed.

Member madness::detail::ForEachRootTask< rangeT, opT >::get_id (std::pair< void *, unsigned short > &id) const
Verify that id is an output parameter.
Struct madness::detail::function_enabler< fnT >

Brief description needed.

Descriptions needed.

Struct madness::detail::info< memfunT >

Descriptions needed.

Brief description needed.

Member madness::detail::info< memfunT >::futureT
Verify.
Member madness::detail::info< memfunT >::info (const uniqueidT &id, ProcessID requestor, memfunT memfun, const refT &ref, const TaskAttributes &attr=TaskAttributes())

Descriptions needed.

Constructor that [brief description needed].

Member madness::detail::info< memfunT >::info (const AmArg &arg)

Descriptions needed.

Constructor that [brief description needed].

Member madness::detail::info< memfunT >::ref
Description needed.
Member madness::detail::info< memfunT >::refT
Description needed.
Struct madness::detail::info_base< memfunT >

Verify & complete; what is AM?

Brief description needed.

Member madness::detail::info_base< memfunT >::attr
Description needed.
Member madness::detail::info_base< memfunT >::id
Description needed. Context with the "see peek" comment above?
Member madness::detail::info_base< memfunT >::info_base (const uniqueidT &id, ProcessID requestor, memfunT memfun, const TaskAttributes &attr=TaskAttributes())

Constructor that [brief description needed].

Descriptions needed.

Member madness::detail::info_base< memfunT >::memfun_rel_ptr
Description needed.
Member madness::detail::info_base< memfunT >::requestor
Description needed.
Struct madness::detail::memfunc_enabler< const objT *, memfnT >

Descriptions needed.

Brief description needed.

Struct madness::detail::memfunc_enabler< const objT *const, memfnT >

Descriptions needed.

Brief description needed.

Struct madness::detail::memfunc_enabler< const std::shared_ptr< objT > &, memfnT >

Descriptions needed.

Brief description needed.

Struct madness::detail::memfunc_enabler< const std::shared_ptr< objT >, memfnT >

Descriptions needed.

Brief description needed.

Struct madness::detail::memfunc_enabler< objT *, memfnT >

Descriptions needed.

Brief description needed.

Struct madness::detail::memfunc_enabler< objT *const, memfnT >

Brief description needed.

Descriptions needed.

Struct madness::detail::memfunc_enabler< objT, memfnT >

Descriptions needed.

Brief description needed.

Struct madness::detail::memfunc_enabler< std::shared_ptr< objT > &, memfnT >

Brief description needed.

Descriptions needed.

Struct madness::detail::memfunc_enabler< std::shared_ptr< objT >, memfnT >

Brief description needed.

Descriptions needed.

Struct madness::detail::memfunc_enabler_base< objT, memfnT, enableT >

Brief description needed.

Descriptions needed.

Struct madness::detail::memfunc_enabler_base< objT, resT(baseT::*)(paramT...) const, typename std::enable_if< std::is_base_of< baseT, objT >::value >::type >

Descriptions needed.

Brief description needed.

Member madness::detail::memfunc_enabler_base< objT, resT(baseT::*)(paramT...) const, typename std::enable_if< std::is_base_of< baseT, objT >::value >::type >::type
Brief description needed.
Struct madness::detail::memfunc_enabler_base< objT, resT(baseT::*)(paramT...), typename std::enable_if< std::is_base_of< baseT, objT >::value >::type >

Brief description needed.

Descriptions needed

Member madness::detail::memfunc_enabler_base< objT, resT(baseT::*)(paramT...), typename std::enable_if< std::is_base_of< baseT, objT >::value >::type >::type
Brief description needed.
Member madness::detail::peek (const AmArg &arg)
Verify parameter description.
Struct madness::detail::ptr_traits< U >

Description needed.

Brief description needed.

Member madness::detail::ptr_traits< U >::reference
Brief description needed.
Member madness::detail::ptr_traits< void >::reference
Brief description needed.
Member madness::detail::WorldMpi::own_mpi

Brief description needed.

Verify the above brief description.

Struct madness::detail::WorldObjectTaskHelper< objT, memfnT, Enabler >

Brief description needed.

Descriptions needed.

Member madness::detail::WorldObjectTaskHelper< objT, memfnT, Enabler >::make_task_fn (const objT *obj, memfnT memfn)
Brief description needed.
Member madness::detail::WorldObjectTaskHelper< objT, memfnT, Enabler >::make_task_fn (objT *obj, memfnT memfn)

Descriptions needed.

Brief description needed.

Member madness::detail::WorldObjectTaskHelper< objT, memfnT, Enabler >::make_task_fn (const WorldObject< objT > *obj, memfnT memfn)

Brief description needed.

Descriptions needed.

Member madness::detail::WorldObjectTaskHelper< objT, memfnT, Enabler >::make_task_fn (WorldObject< objT > *obj, memfnT memfn)
Descriptions needed.
Member madness::detail::WorldObjectTaskHelper< objT, memfnT, Enabler >::make_task_fn (const objT *obj, memfnT memfn)
Descriptions needed.
Member madness::detail::WorldObjectTaskHelper< objT, memfnT, Enabler >::make_task_fn (WorldObject< objT > *obj, memfnT memfn)
Brief description needed.
Member madness::detail::WorldObjectTaskHelper< objT, memfnT, Enabler >::ptrT
Description needed.
Member madness::detail::WorldObjectTaskHelper< objT, memfnT, Enabler >::wrapperT
Description needed.
Struct madness::detail::WorldObjectTaskHelper< objT, memfnT, typename std::enable_if< std::is_base_of< std::enable_shared_from_this< objT >, objT >::value >::type >

Descriptions needed.

Brief description needed.

Member madness::detail::WorldObjectTaskHelper< objT, memfnT, typename std::enable_if< std::is_base_of< std::enable_shared_from_this< objT >, objT >::value >::type >::make_task_fn (const objT *obj, memfnT memfn)

Descriptions needed.

Brief description needed.

Member madness::detail::WorldObjectTaskHelper< objT, memfnT, typename std::enable_if< std::is_base_of< std::enable_shared_from_this< objT >, objT >::value >::type >::make_task_fn (WorldObject< objT > *obj, memfnT memfn)

Descriptions needed.

Brief description needed.

Member madness::detail::WorldObjectTaskHelper< objT, memfnT, typename std::enable_if< std::is_base_of< std::enable_shared_from_this< objT >, objT >::value >::type >::make_task_fn (const WorldObject< objT > *obj, memfnT memfn)

Descriptions needed.

Brief description needed.

Member madness::detail::WorldObjectTaskHelper< objT, memfnT, typename std::enable_if< std::is_base_of< std::enable_shared_from_this< objT >, objT >::value >::type >::make_task_fn (objT *obj, memfnT memfn)

Descriptions needed.

Brief description needed.

Member madness::detail::WorldObjectTaskHelper< objT, memfnT, typename std::enable_if< std::is_base_of< std::enable_shared_from_this< objT >, objT >::value >::type >::ptrT
Description needed.
Member madness::detail::WorldObjectTaskHelper< objT, memfnT, typename std::enable_if< std::is_base_of< std::enable_shared_from_this< objT >, objT >::value >::type >::shared_ptrT
Description needed.
Member madness::detail::WorldObjectTaskHelper< objT, memfnT, typename std::enable_if< std::is_base_of< std::enable_shared_from_this< objT >, objT >::value >::type >::wrapperT
Description needed.
Member madness::detail::WorldPtr< T >::operator<< (std::ostream &out, const WorldPtr< T > &p)
Does this friend function need to be implemented in the class or can we move it to a *.cc file?
Member madness::detail::WorldPtr< T >::owner () const
Finish this sentence: If the pointer is not associated with
Member madness::detail::WorldPtr< T >::reference
Brief description needed.
Member madness::detail::WorldPtr< T >::WorldPtr ()
Would it be worth adding a static constant ProcessID equal to -1 to signify an unowned pointer?
Member madness::DYNAMIC_TAG_BASE
Brief description needed.
Member madness::error (const char *msg, const T &data)
Does this function need to be static? (Esp. since it's in a header file...)
Member madness::FunctionImpl< T, NDIM >::parent_to_child (const coeffT &s, const keyT &parent, const keyT &child) const
is this documentation correct?
Member madness::FunctionImpl< T, NDIM >::phi_for_mul (Level np, Translation lp, Level nc, Translation lc, Tensor< double > &phi) const
Robert please verify this comment. I don't understand this method.
Member madness::FunctionImpl< T, NDIM >::plot_cube_kernel (archive::archive_ptr< Tensor< T > > ptr, const keyT &key, const coordT &plotlo, const coordT &plothi, const std::vector< long > &npt, bool eval_refine) const
help!
Member madness::FunctionImpl< T, NDIM >::print_plane_local (const int xaxis, const int yaxis, const coordT &el2)
Provide a description for el2
Member madness::FunctionImpl< T, NDIM >::project_out (FunctionImpl< T, NDIM-LDIM > *result, const FunctionImpl< T, LDIM > *gimpl, const int dim, const bool fence)
Should this be param[out]?
Member madness::FunctionImpl< T, NDIM >::sock_it_to_me (const keyT &key, const RemoteReference< FutureImpl< std::pair< keyT, coeffT > > > &ref) const
Robert .... help!
Member madness::FunctionImpl< T, NDIM >::sock_it_to_me_too (const keyT &key, const RemoteReference< FutureImpl< std::pair< keyT, coeffT > > > &ref) const
Robert .... help!
Member madness::FunctionImpl< T, NDIM >::vtransform_doit (const std::shared_ptr< FunctionImpl< R, NDIM > > &right, const Tensor< Q > &c, const std::vector< std::shared_ptr< FunctionImpl< T, NDIM > > > &vleft, double tol)
I don't know what this does other than a trasform
Member madness::Future< std::vector< Future< T > > >::Future (const vectorT &v)

Brief description needed.

Description needed.

Member madness::Future< std::vector< Future< T > > >::Future (const archive::BufferInputArchive &input_arch)

Brief description needed.

Description needed.

Not implemented. If this is deliberate, specify why and change the tag to \attention.

Class madness::Future< T >
Can this detailed description be made clearer?
Class madness::Future< T >::dddd

Perhaps more detail here, too... At the very least, can we give it a better name?

Has something to do with the "Gotchas" section in Futures. More detail needed.

Member madness::Future< T >::default_initializer ()
Informative description needed.
Member madness::Future< T >::Future (const T &t)
Description needed.
Member madness::Future< T >::Future (const dddd &blah)

Constructor for ...

Description needed.

Member madness::Future< T >::remote_ref (World &world) const
Verify the return comment.
Member madness::Future< T >::remote_refT
Brief description needed.
Member madness::Future< T >::set (const Future< T > &other)
Verification needed in the param statement.
Member madness::Future< T >::set (const archive::BufferInputArchive &input_arch)
Description needed.
Member madness::Future< void >::Future (const RemoteReference< FutureImpl< void > > &remote_ref)

Brief description needed.

Description needed.

Member madness::Future< void >::remote_ref (World &world)

Brief description needed.

Descriptions needed.

Member madness::Future< void >::remote_refT
Brief description needed.
Member madness::Future< void >::value
Brief description needed.
Member madness::FutureImpl< T >::add_to_assignments (const std::shared_ptr< FutureImpl< T > > f)
Description needed.
Member madness::FutureImpl< T >::FutureImpl (const RemoteReference< FutureImpl< T > > &remote_ref)
Description needed.
Member madness::FutureImpl< T >::is_local () const

Description needed.

Brief description needed.

Member madness::FutureImpl< T >::register_callback (CallbackInterface *callback)
Description needed.
Member madness::FutureImpl< T >::replace_with (FutureImpl< T > *f)

Is this function needed?

Details needed.

Brief description needed.

Member madness::FutureImpl< T >::set (U &&value)
Descriptions needed.
Member madness::FutureImpl< T >::set (const archive::BufferInputArchive &input_arch)

Brief description needed.

Descriptions needed.

Member madness::FutureImpl< T >::set_assigned (const T &value)

Brief description needed.

Description needed.

Member madness::FutureImpl< T >::set_handler (const AmArg &arg)
Description needed.
Member madness::FutureImpl< T >::~FutureImpl ()
Perhaps a comment about its behavior.
Namespace madness::Hash_private
Description needed
Member madness::lq (Tensor< T > &A, Tensor< T > &R)
MGR: Check this.
Member madness::lq_result (Tensor< T > &A, Tensor< T > &R, Tensor< T > &tau, Tensor< T > &work, bool do_qr)
MGR: Check this.
Member madness::MP2::add_local_coupling (const Pairs< ElectronPair > &pairs, Pairs< real_function_6d > &coupling) const
Verify this doxygen block.
Member madness::MP2::iterate (const real_function_6d &f) const
Parameter documentation. Below are un-doxygenated comments that no longer seem relevant?
Member madness::PoolTaskInterface::execute ()

Descriptions needed.

Brief description needed.

Union madness::PoolTaskInterface::FunctionPointerGrabber< T >
Descriptions needed.
Member madness::PoolTaskInterface::FunctionPointerGrabber< T >::in
Description needed.
Member madness::PoolTaskInterface::FunctionPointerGrabber< T >::out
Description needed.
Member madness::PoolTaskInterface::get_id (std::pair< void *, unsigned short > &id) const

Descriptions needed.

Brief description needed.

Member madness::PoolTaskInterface::id_
Description needed.
Member madness::PoolTaskInterface::make_id (std::pair< void *, unsigned short > &id, const fnobjT &)

Descriptions needed. What is the purpose of the second argument?

Brief description needed.

Member madness::PoolTaskInterface::make_id (std::pair< void *, unsigned short > &id, fnT fn)

Descriptions needed.

Brief description needed.

Member madness::PoolTaskInterface::PoolTaskInterface (const TaskAttributes &attr)

Descriptions needed.

Brief description needed.

Member madness::PoolTaskInterface::run (const TaskThreadEnv &info)=0
Description needed.
Member madness::PoolTaskInterface::set_event (profiling::TaskEvent *task_event)

Brief description needed.

Descriptions needed.

Member madness::PoolTaskInterface::submit_time_
Description needed.
Member madness::PoolTaskInterface::task_event_
Description needed.
Member madness::PoolTaskNull::get_id (std::pair< void *, unsigned short > &id) const

Description needed.

Brief description needed.

Namespace madness::profiling
Description needed
Member madness::profiling::TaskEventList::TaskEventList (const unsigned int nmax)
Should nmax be stored? I think it used to be a template parameter (N), which is no longer present.
Member madness::Range< iteratorT >::get_chunksize () const
Should this return long, or size_t?
Member madness::Range< iteratorT >::n
Could this be replaced by size_t?
Member madness::Range< iteratorT >::Range (const Range &r)
Can we make this = default?
Member madness::SeparatedConvolution< Q, NDIM >::apply2_lowdim (const Key< NDIM > &source, const Key< NDIM > &shift, const GenTensor< T > &coeff, double tol, double tol2) const
MGR: Make sure info on T is correct. Was previously labeled FDIM.
Member madness::Stack< T, N >::move (Stack< T, N > &other)

Parameter description needed.

Brief description needed.

Member madness::TaskAttributes::generator ()

Brief description needed.

Descriptions needed.

Member madness::TaskAttributes::hipri ()

Descriptions needed.

Brief description needed.

Member madness::TaskAttributes::multi_threaded (int nthread)

Descriptions needed.

Brief description needed.

Member madness::TaskAttributes::set_nthread (int nthread)
Perhaps investigate a way to make this function only accessible from the intended functions (using the so-called voodoo)?
Member madness::TaskThreadEnv::barrier () const

Brief description needed.

Descriptions needed.

Member madness::TaskThreadEnv::TaskThreadEnv (int nthread, int id)
I cannot get the TaskThreadEnv to work with Barrier. Need to figure out why.
Member madness::TaskThreadEnv::TaskThreadEnv (int nthread, int id, Barrier *barrier)
Verify this documentation.
Member madness::TaskThreadEnv::TaskThreadEnv (int nthread, int id)
Verify this documentation.
Member madness::TDHF_allocator::TDHF_allocator (World &world, const int nnoct)
validate doxygen on nnoct
Member madness::Thread::f )(void *)
should we replace this by a std::function?
Member madness::ThreadBase::delete_thread_key ()
Brief description needed.
Member madness::ThreadBase::id
Brief description needed.
Member madness::ThreadBase::init_thread_key ()
Brief description needed.
Member madness::ThreadBase::main (void *self)

Descriptions needed.

Brief description needed.

Member madness::ThreadBase::set_pool_thread_index (int i)
Verify documentation.
Member madness::ThreadBase::this_thread ()

Descriptions needed.

Brief description needed.

Member madness::ThreadPool::add (PoolTaskInterface *task)
Description needed.
Member madness::ThreadPool::await (const Probe &probe, bool dowork=true, bool sleep=false)
Descriptions needed/need verification.
Member madness::ThreadPool::begin (int nthread=-1)
Verify documentation.
Member madness::ThreadPool::end ()
Description needed.
Member madness::ThreadPool::pool_thread_main (void *v)
Descriptions needed.
Member madness::ThreadPool::run_task (bool wait, ThreadPoolThread *this_thread)
Verify and complete this documentation.
Member madness::ThreadPool::run_tasks (bool wait, ThreadPoolThread *const this_thread)

Descriptions needed.

Brief description needed.

Member madness::ThreadPool::scan (opT &op)

Brief description needed.

Descriptions needed.

Member madness::ThreadPool::tbb_control
Description needed.
Member madness::ThreadPool::thread_main (ThreadPoolThread *const thread)

Description needed.

Brief description needed.

Member madness::ThreadPool::ThreadPool (int nthread=-1)
Description needed.
Member madness::ThreadPoolThread::profiler ()
Description needed.
Member madness::ThreadPoolThread::profiler_
Description needed.
Namespace madness::tr1
Description needed
Member madness::Vector< T, N >::normf () const
Is there a reason this is "normf" and not "norm2"?
Member madness::Vector< T, N >::operator*= (Q q)
Do we want a similar division operation?
Member madness::World::await (SafeMPI::Request &request, bool dowork=true)
Descriptions needed.
Member madness::World::await (const Probe &probe, bool dowork=true, bool sleep=false)
Descriptions needed.
Member madness::World::drand ()
Since we're switching to C++11, would it be worth using the new C++11 random number generation capabilities?
Struct madness::World::hashuniqueT
Brief description needed.
Member madness::World::hashuniqueT::operator() (const uniqueidT &id) const

Descriptions needed.

Brief description needed.

Struct madness::World::hashvoidp
Brief description needed.
Member madness::World::hashvoidp::operator() (const void *p) const

Brief description needed.

Descriptions needed.

Member madness::World::map_id_to_ptrT
Brief description of typedef needed.
Member madness::World::map_ptr_to_id
Verify: Map from a pointer to its unique hash ID.
Member madness::World::map_ptr_to_idT
Brief description of typedef needed.
Struct madness::World::MpiRequestTester
Brief description needed.
Member madness::World::MpiRequestTester::MpiRequestTester (SafeMPI::Request &r)

Brief description needed.

Descriptions needed.

Member madness::World::MpiRequestTester::operator() () const

Brief description needed.

Descriptions needed.

Member madness::World::MpiRequestTester::r
Brief description needed.
Member madness::World::rand ()
Since we're switching to C++11, would it be worth using the new C++11 random number generation capabilities?
Member madness::World::srand (unsigned long seed=0ul)
Since we're switching to C++11, would it be worth using the new C++11 random number generation capabilities?
Member madness::WorldMpiInterface::WorldMpiInterface (const SafeMPI::Intracomm &comm)
Verify this documentation.
Member madness::WorldObject< Derived >::am_arg (const T &t)

Descriptions needed.

Brief description needed.

Member madness::WorldObject< Derived >::am_arg (const Future< T > &f)

Descriptions needed.

Brief description needed.

Member madness::WorldObject< Derived >::handler (const AmArg &arg)
Descriptions needed.
Member madness::WorldObject< Derived >::is_ready (const uniqueidT &id, objT *&obj, const AmArg &arg, am_handlerT ptr)

Parameter/return descriptions needed.

Complete: Determine if [unknown] is ready (for ...).

Member madness::WorldObject< Derived >::objT
Description needed.
Member madness::WorldObject< Derived >::pending_mutex
Description needed.
Member madness::WorldObject< Derived >::pendingT
Description needed.
Member madness::WorldObject< Derived >::send (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const a5T &a5, const a6T &a6, const a7T &a7, const a8T &a8) const
Brief description needed.
Member madness::WorldObject< Derived >::send (ProcessID dest, memfnT memfn) const

Brief description needed.

Descriptions needed.

Member madness::WorldObject< Derived >::send (ProcessID dest, memfnT memfn, const a1T &a1) const

Brief description needed.

Descriptions needed.

Member madness::WorldObject< Derived >::send (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2) const

Brief description needed.

Descriptions needed.

Member madness::WorldObject< Derived >::send (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3) const

Brief description needed.

Descriptions needed.

Member madness::WorldObject< Derived >::send (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4) const

Brief description needed.

Descriptions needed.

Member madness::WorldObject< Derived >::send (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const a5T &a5) const

Brief description needed.

Descriptions needed.

Member madness::WorldObject< Derived >::send (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const a5T &a5, const a6T &a6) const

Brief description needed.

Descriptions needed.

Member madness::WorldObject< Derived >::send (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const a5T &a5, const a6T &a6, const a7T &a7, const a8T &a8, const a9T &a9) const

Descriptions needed.

Brief description needed.

Member madness::WorldObject< Derived >::send (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const a5T &a5, const a6T &a6, const a7T &a7) const

Brief description needed.

Descriptions needed.

Member madness::WorldObject< Derived >::send (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const a5T &a5, const a6T &a6, const a7T &a7, const a8T &a8) const
Descriptions needed.
Member madness::WorldObject< Derived >::send_am (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const a5T &a5, const a6T &a6, const a7T &a7, const a8T &a8, const a9T &a9) const

Descriptions needed.

Brief description needed.

Member madness::WorldObject< Derived >::send_task (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const a5T &a5, const a6T &a6, const a7T &a7, const a8T &a8, const a9T &a9, const TaskAttributes &attr) const

Brief description needed.

Descriptions needed.

Member madness::WorldObject< Derived >::spawn_remote_task_handler (const AmArg &arg)
Descriptions needed.
Member madness::WorldObject< Derived >::task (ProcessID dest, memfnT memfn, const TaskAttributes &attr=TaskAttributes()) const
Descriptions needed.
Member madness::WorldObject< Derived >::task (ProcessID dest, memfnT memfn, const a1T &a1, const TaskAttributes &attr=TaskAttributes()) const
Descriptions needed.
Member madness::WorldObject< Derived >::task (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const TaskAttributes &attr=TaskAttributes()) const
Descriptions needed.
Member madness::WorldObject< Derived >::task (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const TaskAttributes &attr=TaskAttributes()) const
Descriptions needed.
Member madness::WorldObject< Derived >::task (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const TaskAttributes &attr=TaskAttributes()) const
Descriptions needed.
Member madness::WorldObject< Derived >::task (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const a5T &a5, const TaskAttributes &attr=TaskAttributes()) const
Descriptions needed.
Member madness::WorldObject< Derived >::task (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const a5T &a5, const a6T &a6, const TaskAttributes &attr=TaskAttributes()) const
Descriptions needed.
Member madness::WorldObject< Derived >::task (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const a5T &a5, const a6T &a6, const a7T &a7, const TaskAttributes &attr=TaskAttributes()) const
Descriptions needed.
Member madness::WorldObject< Derived >::task (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const a5T &a5, const a6T &a6, const a7T &a7, const a8T &a8, const TaskAttributes &attr=TaskAttributes()) const
Descriptions needed.
Member madness::WorldObject< Derived >::task (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const a5T &a5, const a6T &a6, const a7T &a7, const a8T &a8, const a9T &a9, const TaskAttributes &attr=TaskAttributes()) const

Descriptions needed.

Could we use variadic templates to eliminate a lot of this code duplication?

Member madness::WorldObject< Derived >::voidT
Description needed.
Class madness::WorldTaskQueue
A concise description of the inner workings...
Member madness::WorldTaskQueue::add (TaskFn< fnT, a1T, a2T, a3T, a4T, a5T, a6T, a7T, a8T, a9T > *t)

Descriptions needed.

Brief description needed.

Member madness::WorldTaskQueue::add (objT &&obj, memfnT memfn, argT &&... args)
Verify this documentation. A future is returned to hold the eventual result of the task. Future<void> is an empty class that may be ignored.
Member madness::WorldTaskQueue::add (ProcessID dest, fnT fn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const a5T &a5, const a6T &a6, const a7T &a7, const a8T &a8, const a9T &a9, const TaskAttributes &attr=TaskAttributes())
Could we use metaprogramming or variadic templates to reduce all of these instances to one template that generates versions for one more (less) parameter?
Member madness::WorldTaskQueue::am_arg (const T &t)

Descriptions needed.

Brief description needed.

Member madness::WorldTaskQueue::am_arg (const Future< T > &f)

Descriptions needed.

Brief description needed.

Member madness::WorldTaskQueue::for_each (const rangeT &range, const opT &op)
Descriptions needed and/or verified.
Member madness::WorldTaskQueue::notify ()
Brief description needed.
Struct madness::WorldTaskQueue::ProbeAllDone
Brief description needed.
Member madness::WorldTaskQueue::reduce (const rangeT &range, const opT &op)
Descriptions needed and/or verified.
Member madness::WorldTaskQueue::remote_task_handler (const AmArg &arg)

Brief description needed.

Descriptions needed.

Member madness::WorldTaskQueue::send_task (ProcessID where, fnT fn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const a5T &a5, const a6T &a6, const a7T &a7, const a8T &a8, const a9T &a9, const TaskAttributes &attr)

Descriptions needed.

Brief description needed.

Member madness::WorldTaskQueue::sum (const resultT &left, const resultT &right, const opT &op)

Brief description needed.

Template parameter descriptions need verification.

Member madness::WorldTaskQueue::voidT
Brief description needed.
page Main Page
Turn all of the doxygen modules into a PDF users' manual.
Module mpi
Write a high-level overview of the MPI interface.
Member PotentialBasisFunctor::PotentialBasisFunctor (int n, double alpha, double rcut)
Check rn. Should it be a member or is it only used locally?
File print_seq.h
Can these functions be replaced by a variadic template?
Member slymer::NWChem_Interface::read_basis_set (std::istream &in)
Reading Cartesian-type d and f shells has not been tested.
Module taskq
Description/overview of tasks and related concepts for the documentation module.
Module threading
Write this section.
Module threads
Write this section.
File uniqueid.h

Brief description needed.

File vector_archive.h
With a bit of thought this could be generalized to several STL containers.
Module world
Overview of the World class and concepts for the documentation module.
File world.h

More detailed description of this file.

Are some of the forward declarations in this file necessary? A quick inspection suggests most of the functions before the World class don't need to be declared first...

Module world_object
An overview of the WorldObject class and the other concepts it works with.