Updated multiplication and subtraction to check for maximum/minimum numbers.

This commit is contained in:
Edward Diener
2020-06-07 15:49:53 -04:00
parent c07bb185c1
commit d41d1dda97
5 changed files with 67 additions and 51 deletions

View File

@ -17,6 +17,15 @@
BEGIN BOOST_PP_ADD(2, 3) == 5 END
#if BOOST_PP_LIMIT_MAG == 256
BEGIN BOOST_PP_ADD(1, 256) == 256 END
BEGIN BOOST_PP_ADD(256, 1) == 256 END
BEGIN BOOST_PP_ADD(2, 255) == 256 END
BEGIN BOOST_PP_ADD(255, 2) == 256 END
#endif
BEGIN BOOST_PP_ADD(BOOST_PP_ADD(2, 2), 2) == 6 END
BEGIN BOOST_PP_ADD(2, BOOST_PP_ADD(1, 4)) == 7 END
BEGIN BOOST_PP_ADD(BOOST_PP_ADD(2, 2), BOOST_PP_ADD(2, 2)) == 8 END
@ -25,6 +34,11 @@ BEGIN BOOST_PP_ADD(BOOST_PP_ADD(2, 2), BOOST_PP_ADD(2, 2)) == 8 END
BEGIN BOOST_PP_ADD(374, 129) == 503 END
BEGIN BOOST_PP_ADD(1, 512) == 512 END
BEGIN BOOST_PP_ADD(512, 1) == 512 END
BEGIN BOOST_PP_ADD(2, 511) == 512 END
BEGIN BOOST_PP_ADD(511, 2) == 512 END
BEGIN BOOST_PP_ADD(BOOST_PP_ADD(134, 187), 95) == 416 END
BEGIN BOOST_PP_ADD(BOOST_PP_ADD(83, 120), BOOST_PP_ADD(204, 51)) == 458 END
BEGIN BOOST_PP_ADD(149, BOOST_PP_ADD(102, 137)) == 388 END
@ -42,6 +56,13 @@ BEGIN BOOST_PP_SUB(5, BOOST_PP_SUB(3, 2)) == 4 END
BEGIN BOOST_PP_SUB(BOOST_PP_SUB(10, 5), 2) == 3 END
BEGIN BOOST_PP_SUB(BOOST_PP_SUB(7, 3), BOOST_PP_SUB(10, 8)) == 2 END
#if BOOST_PP_LIMIT_MAG == 256
BEGIN BOOST_PP_SUB(1, 256) == 0 END
BEGIN BOOST_PP_SUB(256, 255) == 1 END
#endif
#if BOOST_PP_LIMIT_MAG == 512
BEGIN BOOST_PP_SUB(315, 412) == 0 END
@ -49,6 +70,9 @@ BEGIN BOOST_PP_SUB(511, 510) == 1 END
BEGIN BOOST_PP_SUB(463, 317) == 146 END
BEGIN BOOST_PP_SUB(272, 195) == 77 END
BEGIN BOOST_PP_SUB(1, 512) == 0 END
BEGIN BOOST_PP_SUB(512, 511) == 1 END
BEGIN BOOST_PP_SUB(371, BOOST_PP_SUB(3, 2)) == 370 END
BEGIN BOOST_PP_SUB(BOOST_PP_SUB(478, 211), 58) == 209 END
BEGIN BOOST_PP_SUB(BOOST_PP_SUB(395, 277), BOOST_PP_SUB(10, 7)) == 115 END
@ -67,6 +91,19 @@ BEGIN BOOST_PP_MUL(BOOST_PP_MUL(2, 2), 2) == 8 END
BEGIN BOOST_PP_MUL(2, BOOST_PP_MUL(2, 2)) == 8 END
BEGIN BOOST_PP_MUL(BOOST_PP_MUL(2, 2), BOOST_PP_MUL(2, 2)) == 16 END
BEGIN BOOST_PP_MUL(0, BOOST_PP_LIMIT_MAG) == 0 END
BEGIN BOOST_PP_MUL(2, BOOST_PP_LIMIT_MAG) == BOOST_PP_LIMIT_MAG END
BEGIN BOOST_PP_MUL(BOOST_PP_LIMIT_MAG, 0) == 0 END
BEGIN BOOST_PP_MUL(BOOST_PP_LIMIT_MAG, 2) == BOOST_PP_LIMIT_MAG END
#if BOOST_PP_LIMIT_MAG == 256
// BEGIN BOOST_PP_MUL(2, 255) == 256 END
// BEGIN BOOST_PP_MUL(255, 2) == 256 END
BEGIN BOOST_PP_MUL(17, 17) == 256 END
#endif
#if BOOST_PP_LIMIT_MAG == 512
BEGIN BOOST_PP_MUL(0, 351) == 0 END
@ -78,6 +115,10 @@ BEGIN BOOST_PP_MUL(BOOST_PP_MUL(7, 7), 7) == 343 END
BEGIN BOOST_PP_MUL(7, BOOST_PP_MUL(7, 7)) == 343 END
BEGIN BOOST_PP_MUL(BOOST_PP_MUL(5, 5), BOOST_PP_MUL(4, 4)) == 400 END
// BEGIN BOOST_PP_MUL(2, 511) == 512 END
// BEGIN BOOST_PP_MUL(511, 2) == 512 END
BEGIN BOOST_PP_MUL(24, 24) == 512 END
#endif
/* division */