23   CHECK(fake_args.size() == 4);
    26     throw std::runtime_error(
"Bad Rank Count, test_mpi_exception_wrapper can only be run with 3 MPI ranks.");
    29 TEST_CASE(
"MPIExceptionWrapper function case", 
"[Utilities]")
    34   std::vector<double> test_vec{1, 2, 3, 4};
    40 TEST_CASE(
"MPIExceptionWrapper lambda case", 
"[Utilities]")
    45   std::vector<double> test_vec{1, 2, 3, 4};
    46   auto lambdaTestFunction = [](
Communicate* 
comm, std::vector<double>& fake_args) {
    47     CHECK(fake_args.size() == 4);
    49       throw std::runtime_error(
"Bad Rank Count, test_mpi_exception_wrapper can only be run with 3 MPI ranks.");
    51   mew(lambdaTestFunction, 
comm, test_vec);
 helper functions for EinsplineSetBuilder 
TEST_CASE("complex_helper", "[type_traits]")
Communicate * Controller
Global Communicator for a process. 
int size() const
return the number of tasks 
Wrapping information on parallelism. 
CHECK(log_values[0]==ComplexApprox(std::complex< double >{ 5.603777579195571, -6.1586603331188225 }))
void mpiTestFunctionWrapped(Communicate *comm, std::vector< double > &fake_args)
Openmp generally works but is not guaranteed with std::atomic.