communication.cpp: In function 'void encode(int, int)':
communication.cpp:27:36: warning: comparison of integer expressions of different signedness: 'std::mersenne_twister_engine<long unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>::result_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
27 | int r[] = {(rnd() % 10 < w), (rnd() % 10 < w)};
| ~~~~~~~~~~~^~~
communication.cpp:27:54: warning: comparison of integer expressions of different signedness: 'std::mersenne_twister_engine<long unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>::result_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
27 | int r[] = {(rnd() % 10 < w), (rnd() % 10 < w)};
| ~~~~~~~~~~~^~~
communication.cpp: In function 'std::pair<int, int> decode(int)':
communication.cpp:52:36: warning: comparison of integer expressions of different signedness: 'std::mersenne_twister_engine<long unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>::result_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
52 | int r[] = {(rnd() % 10 < w), (rnd() % 10 < w)};
| ~~~~~~~~~~~^~~
communication.cpp:52:54: warning: comparison of integer expressions of different signedness: 'std::mersenne_twister_engine<long unsigned int, 32, 624, 397, 31, 2567483615, 11, 4294967295, 7, 2636928640, 15, 4022730752, 18, 1812433253>::result_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
52 | int r[] = {(rnd() % 10 < w), (rnd() % 10 < w)};
| ~~~~~~~~~~~^~~