4 #include <libmesh/communicator.h> 5 #include <libmesh/message_tag.h> 20 CPPUNIT_TEST_SUITE_END();
46 const int n_vals_in_scope = 3;
47 std::vector<int> vals(n_vals);
50 std::vector<Parallel::MessageTag> tags(n_vals_in_scope);
51 for (
int i=0; i != n_vals_in_scope; ++i)
54 vals[i] = tags[i].
value();
55 for (
int j=0; j != i; ++j)
57 CPPUNIT_ASSERT(vals[i] != vals[j]);
63 for (
int i=n_vals_in_scope; i != n_vals; ++i)
66 vals[i] = another_tag.
value();
67 for (
int j=0; j != i; ++j)
69 CPPUNIT_ASSERT(vals[i] != vals[j]);
84 const int requests[] = {2, 4, 6, 8, 8, 6, 8, 123, 3141, 3142};
86 for (
const int i : requests)
88 Parallel::MessageTag manual_tag =
90 CPPUNIT_ASSERT_EQUAL(i, manual_tag.value());
CPPUNIT_TEST_SUITE_REGISTRATION(MessageTagTest)
libMesh::Parallel::Communicator * TestCommWorld
MessageTag get_unique_tag(int tagvalue=MessageTag::invalid_tag) const
The libMesh namespace provides an interface to certain functionality in the library.
void testGetUniqueTagManual()
void testGetUniqueTagAuto()
void testGetUniqueTagManual()
void duplicate(const Communicator &comm)
void testGetUniqueTagAuto()
std::vector< std::string > _number