Todo List

Member swarm::EnsembleBase::calc_total_energy (double *E) const
unsafe function

Member swarm::EnsembleBase::EnsembleBase ()
This is not safe and should be removed. ensemble is almost an abstract class and should not have a constructor anyway.

Member swarm::gpu::bppt::GravitationAcc_GR::GravitationAcc_GR (ensemble::SystemRef &sys, shared_data &shared)
read c^2 from parameter file? read from system attribute? set system attribute from parameter file?

Class swarm::gpu::bppt::GravitationMediumN< T >
For this to be useful would need to make it so that integrators using this gravitation class would know that they only needed to launch 3*nbod threads per systems.

Member swarm::gpu::bppt::integrator::shmem_per_system (T compile_time_param)
This assumes one particular implementation of Gravitation class. Rewrite so that different gravitaiton classes (and different integrators) can request different ammounts of shared memory

Member swarm::gpu::integrator::_dens
: use cux auto ptr to make sure we don't have memory leaks

Class swarm::cpu::mvs_cpu< Monitor >
make Gravitation class a template parameter: template<class Monitor, class GravClass>

Class swarm::gpu::bppt::MVSPropagator< T, Gravitation >
make Gravitation class a template parameter: template<class T, class GravClass>

Member blocks_per_mp
is block_warps computed correctly when blocksize is a multiple of warpSize?

File kepler.h
put proper refernece to publication or URL.

Member GENERIC
these defines should be in a global header they are placed here because we don't have global header

Member swarm::square (const N &x)
This should be moved to a global header file

Member validate_configuration
This function needs to be restructured or at least updated

File random.hpp
use better random nubmer generators (e.g., from boost++)

doxygen