1 #include "catch2/catch_all.hpp" 
    8   auto const world = sopt::mpi::Communicator::World();
 
   12   params.
u = Vector<t_real>::Random(N);
 
   13   params.
v = Vector<t_real>::Random(N);
 
   14   params.
w = Vector<t_real>::Random(N);
 
   15   params.
vis = Vector<t_complex>::Random(N);
 
   16   params.
weights = Vector<t_complex>::Random(N);
 
   18   std::vector<t_int> order(N);
 
   20   if (world.size() == 1) 
return;
 
   22   std::fill(order.begin() + 1, order.end(), 0);
 
   25   if (world.rank() == 0) {
 
   26     CHECK(actual.u.size() == 4);
 
   27     CHECK(actual.u(0) == Approx(params.
u(N - 1)));
 
   28     CHECK(actual.u.tail(N - 2).isApprox(params.
u.segment(1, N - 2)));
 
   29   } 
else if (world.rank() == 1) {
 
   30     CHECK(actual.u.size() == 1);
 
   31     CHECK(actual.u(0) == Approx(params.
u(0)));
 
   33     CHECK(actual.u.size() == 0);
 
#define CHECK(CONDITION, ERROR)
 
vis_params regroup_and_scatter(vis_params const ¶ms, std::vector< t_int > const &groups, sopt::mpi::Communicator const &comm)
 
TEST_CASE("Distribution of visibility data")
 
Vector< t_complex > weights