6#include <unordered_set>
7#include <unordered_map>
9#define TIMPI_UNIT_ASSERT(expr) \
35{
s.insert(std::vector<int>(
i,
i)); }
41{
m.insert(std::make_pair(
i,2*
i+3)); }
45 m.insert(std::make_pair(-1,-1));
46 m.insert(std::make_pair(
i,3*
i+1));
47 m.insert(std::make_pair(
i,3*
i+2));
52 m.insert(std::make_pair(-1,-1));
53 m.insert(std::make_pair(
i,3*
i+1));
54 m.insert(std::make_pair(
i,3*
i+2));
58{
m.insert(std::make_pair(
i,std::vector<int>(
i,2*
i+3))); }
61{
m.insert(std::make_pair(
i,2*
i+3)); }
64{
m.insert(std::make_pair(
i,std::vector<int>(
i,2*
i+3))); }
70void tester(
const std::multiset<int> &
s,
int i)
77void tester(
const std::unordered_multiset<int> &
s,
int i)
84void tester(
const std::set<std::vector<int>> &
s,
int i)
87void tester(
const std::unordered_set<int> &
s,
int i)
90void tester(
const std::map<int, int> &
m,
int i)
96void tester(
const std::multimap<int, int> &
m,
int i)
100 std::bitset<2>
found;
101 auto pr =
m.equal_range(
i);
102 for (
auto it =
pr.first;
it !=
pr.second; ++
it)
104 auto val =
it->second;
112void tester(
const std::unordered_multimap<int, int> &
m,
int i)
116 std::bitset<2>
found;
117 const auto pr =
m.equal_range(
i);
118 for (
auto it =
pr.first;
it !=
pr.second; ++
it)
120 auto val =
it->second;
128void tester(
const std::map<
int, std::vector<int>> &
m,
int i)
132 for (
auto val :
m.at(
i))
136void tester(
const std::unordered_map<int, int> &
m,
int i)
142void tester(
const std::unordered_map<
int, std::vector<int>> &
m,
int i)
146 for (
auto val :
m.at(
i))
165 for (
int p=0;
p<
N; ++
p)
188 for (
int p=0;
p<
N; ++
p)
198 std::map<unsigned int, std::set<unsigned short>>
mapset;
225 const std::set<unsigned short>
goodset {20201, 60201};
228 const auto &
key =
pr.first;
238 std::map<unsigned int, std::map<unsigned short, double>>
mapmap;
241 mapmap[0].emplace(20201, 0.8);
248 mapmap[0].emplace(60201, 1.);
257 const std::map<unsigned short, double>
goodmap {{20201, 0.8},
261 const auto &
key =
pr.first;
Encapsulates the MPI_Comm object.
processor_id_type size() const
processor_id_type rank() const
void set_union(T &data, const unsigned int root_id) const
Take a container (set, map, unordered_set, multimap, etc) of local variables on each processor,...
The TIMPIInit class, when constructed, initializes any dependent libraries (e.g.
Tnew cast_int(Told oldvar)
Communicator * TestCommWorld
void tester(const std::set< int > &s, int i)
void my_inserter(std::set< int > &s, int i)
void testBigUnion(int n_multi=1)