sctl.hpp 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. // Scientific Computing Template Library
  2. #ifndef _SCTL_HPP_
  3. #define _SCTL_HPP_
  4. #define SCTL_NAMESPACE sctl
  5. // Profiling parameters
  6. #ifndef SCTL_PROFILE
  7. #define SCTL_PROFILE -1 // Granularity level
  8. #endif
  9. // Parameters for memory manager
  10. #define SCTL_MEM_ALIGN 64
  11. #ifndef SCTL_GLOBAL_MEM_BUFF
  12. #define SCTL_GLOBAL_MEM_BUFF 1024LL * 0LL // in MB
  13. #endif
  14. #define SCTL_QUOTEME(x) SCTL_QUOTEME_1(x)
  15. #define SCTL_QUOTEME_1(x) #x
  16. #define SCTL_INCLUDE(x) SCTL_QUOTEME(SCTL_NAMESPACE/x)
  17. // MPI Wrapper
  18. #include SCTL_INCLUDE(comm.hpp)
  19. // Memory Manager, Iterators
  20. #include SCTL_INCLUDE(mem_mgr.hpp)
  21. // Vector
  22. #include SCTL_INCLUDE(vector.hpp)
  23. // Matrix, Permutation operators
  24. #include SCTL_INCLUDE(matrix.hpp)
  25. // Template vector intrinsics
  26. #include SCTL_INCLUDE(intrin_wrapper.hpp)
  27. // Template vector intrinsics (new)
  28. #include SCTL_INCLUDE(vec.hpp)
  29. // OpenMP merge-sort and scan
  30. #include SCTL_INCLUDE(ompUtils.hpp)
  31. // Parallel solver
  32. #include SCTL_INCLUDE(parallel_solver.hpp)
  33. // Chebyshev basis
  34. #include SCTL_INCLUDE(cheb_utils.hpp)
  35. // Morton
  36. #include SCTL_INCLUDE(morton.hpp)
  37. // Spherical Harmonics
  38. #include SCTL_INCLUDE(sph_harm.hpp)
  39. #include SCTL_INCLUDE(fft_wrapper.hpp)
  40. #include SCTL_INCLUDE(legendre_rule.hpp)
  41. // Profiler
  42. #include SCTL_INCLUDE(profile.hpp)
  43. // Print stack trace
  44. #include SCTL_INCLUDE(stacktrace.h)
  45. const int sgh = SCTL_NAMESPACE::SetSigHandler(); // Set signal handler
  46. #endif //_SCTL_HPP_