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