123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- /**
- * \file utils.hpp
- * \author Dhairya Malhotra, dhairya.malhotra@gmail.com
- * \date 1-1-2011
- */
- #ifndef _UTILS_
- #define _UTILS_
- #include <vector>
- #include <mpi.h>
- #include <cheb_utils.hpp>
- #include <fmm_tree.hpp>
- template <class FMM_Mat_t>
- void CheckFMMOutput(pvfmm::FMM_Tree<FMM_Mat_t>* mytree, const pvfmm::Kernel<typename FMM_Mat_t::Real_t>* mykernel);
- template <class Real_t>
- struct TestFn{
- typedef void (*Fn_t)(Real_t* c, int n, Real_t* out);
- };
- template <class FMMTree_t>
- void CheckChebOutput(FMMTree_t* mytree, typename TestFn<typename FMMTree_t::Real_t>::Fn_t fn_poten, int fn_dof, std::string t_name="");
- enum DistribType{
- UnifGrid,
- RandUnif,
- RandGaus,
- RandElps,
- RandSphr
- };
- template <class Real_t>
- std::vector<Real_t> point_distrib(DistribType, size_t N, MPI_Comm comm);
- void commandline_option_start(int argc, char** argv, const char* help_text=NULL);
- const char* commandline_option(int argc, char** argv, const char* opt, const char* def_val, bool required, const char* err_msg);
- void commandline_option_end(int argc, char** argv);
- #include <utils.txx>
- #endif
|