From ee0c4135c38b39200c55177ef99c6e68ea6546ea Mon Sep 17 00:00:00 2001 From: Edward Diener Date: Fri, 31 Jul 2020 23:41:43 -0400 Subject: [PATCH] Updated arithmetic tests for 1024 max. --- test/Jamfile.v2 | 173 ++++++++++---------------------------------- test/arithmetic.cxx | 96 ++++++++++++++++++++++++ 2 files changed, 135 insertions(+), 134 deletions(-) diff --git a/test/Jamfile.v2 b/test/Jamfile.v2 index 4d43b5a..ae78908 100644 --- a/test/Jamfile.v2 +++ b/test/Jamfile.v2 @@ -93,6 +93,26 @@ alias preprocessor_number_512 [ compile variadic.cpp : BOOST_PP_LIMIT_MAG=512 : variadic_num ] ; +alias preprocessor_number_1024 + : + [ compile arithmetic.cpp : BOOST_PP_LIMIT_MAG=1024 : arithmetic_num_1024 ] + [ compile array.cpp : BOOST_PP_LIMIT_MAG=1024 : array_num_1024 ] + [ compile comparison.cpp : BOOST_PP_LIMIT_MAG=1024 : comparison_num_1024 ] + [ compile control.cpp : BOOST_PP_LIMIT_MAG=1024 : control_num_1024 ] + [ compile debug.cpp : BOOST_PP_LIMIT_MAG=1024 : debug_num_1024 ] + [ compile facilities.cpp : BOOST_PP_LIMIT_MAG=1024 : facilities_num_1024 ] + [ compile iteration.cpp : BOOST_PP_LIMIT_MAG=1024 BOOST_PP_LIMIT_ITERATION=1024 : iteration_num_1024 ] + [ compile list.cpp : BOOST_PP_LIMIT_MAG=1024 BOOST_PP_LIMIT_FOR=1024 : list_num_1024 ] + [ compile logical.cpp : BOOST_PP_LIMIT_MAG=1024 : logical_num_1024 ] + [ compile repetition.cpp : BOOST_PP_LIMIT_MAG=1024 : repetition_num_1024 ] + [ compile selection.cpp : BOOST_PP_LIMIT_MAG=1024 : selection_num_1024 ] + [ compile seq.cpp : BOOST_PP_LIMIT_SEQ=1024 : seq_num_1024 ] + [ compile slot.cpp : BOOST_PP_LIMIT_MAG=1024 : slot_num_1024 ] + [ compile stringize.cpp : BOOST_PP_LIMIT_MAG=1024 : stringize_num_1024 ] + [ compile tuple.cpp : BOOST_PP_LIMIT_MAG=1024 : tuple_num_1024 ] + [ compile variadic.cpp : BOOST_PP_LIMIT_MAG=1024 : variadic_num_1024 ] + ; + alias preprocessor_v_128 : [ compile array.cpp : BOOST_PP_LIMIT_TUPLE=128 : array_v_128 ] @@ -140,6 +160,25 @@ alias preprocessor_number_nvm_512 [ compile tuple.cpp : BOOST_PP_LIMIT_MAG=512 BOOST_PP_VARIADICS=0 : tuple_nvm_num ] ; +alias preprocessor_number_nvm_1024 + : + [ compile arithmetic.cpp : BOOST_PP_LIMIT_MAG=1024 BOOST_PP_VARIADICS=0 : arithmetic_nvm_num_1024 ] + [ compile array.cpp : BOOST_PP_LIMIT_MAG=1024 BOOST_PP_VARIADICS=0 : array_nvm_num_1024 ] + [ compile comparison.cpp : BOOST_PP_LIMIT_MAG=1024 BOOST_PP_VARIADICS=0 : comparison_nvm_num_1024 ] + [ compile control.cpp : BOOST_PP_LIMIT_MAG=1024 BOOST_PP_VARIADICS=0 : control_nvm_num_1024 ] + [ compile debug.cpp : BOOST_PP_LIMIT_MAG=1024 BOOST_PP_VARIADICS=0 : debug_nvm_num_1024 ] + [ compile facilities.cpp : BOOST_PP_LIMIT_MAG=1024 BOOST_PP_VARIADICS=0 : facilities_nvm_num_1024 ] + [ compile iteration.cpp : BOOST_PP_LIMIT_MAG=1024 BOOST_PP_LIMIT_ITERATION=1024 BOOST_PP_VARIADICS=0 : iteration_nvm_num_1024 ] + [ compile list.cpp : BOOST_PP_LIMIT_MAG=1024 BOOST_PP_VARIADICS=0 : list_nvm_num_1024 ] + [ compile logical.cpp : BOOST_PP_LIMIT_MAG=1024 BOOST_PP_VARIADICS=0 : logical_nvm_num_1024 ] + [ compile repetition.cpp : BOOST_PP_LIMIT_MAG=1024 BOOST_PP_VARIADICS=0 : repetition_nvm_num_1024 ] + [ compile selection.cpp : BOOST_PP_LIMIT_MAG=1024 BOOST_PP_VARIADICS=0 : selection_nvm_num_1024 ] + [ compile seq.cpp : BOOST_PP_LIMIT_SEQ=1024 BOOST_PP_VARIADICS=0 : seq_nvm_num_1024 ] + [ compile slot.cpp : BOOST_PP_LIMIT_MAG=1024 BOOST_PP_VARIADICS=0 : slot_nvm_num_1024 ] + [ compile stringize.cpp : BOOST_PP_LIMIT_MAG=1024 BOOST_PP_VARIADICS=0 : stringize_nvm_num_1024 ] + [ compile tuple.cpp : BOOST_PP_LIMIT_MAG=1024 BOOST_PP_VARIADICS=0 : tuple_nvm_num_1024 ] + ; + alias preprocessor_c : [ compile arithmetic.c @@ -204,70 +243,6 @@ alias preprocessor_c ] ; -alias preprocessor_c_number_512 - : - [ compile arithmetic.c - : BOOST_PP_LIMIT_MAG=512 - : arithmetic_c_num - ] - [ compile array.c - : BOOST_PP_LIMIT_MAG=512 - : array_c_num - ] - [ compile comparison.c - : BOOST_PP_LIMIT_MAG=512 - : comparison_c_num - ] - [ compile control.c - : BOOST_PP_LIMIT_MAG=512 - : control_c_num - ] - [ compile debug.c - : BOOST_PP_LIMIT_MAG=512 - : debug_c_num - ] - [ compile facilities.c - : BOOST_PP_LIMIT_MAG=512 - : facilities_c_num - ] - [ compile list.c - : BOOST_PP_LIMIT_MAG=512 - : list_c_num - ] - [ compile logical.c - : BOOST_PP_LIMIT_MAG=512 - : logical_c_num - ] - [ compile punctuation.c - : BOOST_PP_LIMIT_MAG=512 - : punctuation_c_num - ] - [ compile selection.c - : BOOST_PP_LIMIT_MAG=512 - : selection_c_num - ] - [ compile seq.c - : BOOST_PP_LIMIT_SEQ=512 - : seq_c_num - ] - [ compile slot.c - : BOOST_PP_LIMIT_MAG=512 - : slot_c_num - ] - [ compile stringize.c - : BOOST_PP_LIMIT_MAG=512 - : stringize_c_num - ] - [ compile tuple.c - : BOOST_PP_LIMIT_MAG=512 - : tuple_c_num - ] - [ compile variadic.c - : BOOST_PP_LIMIT_MAG=512 - : variadic_c_num - ] - ; - alias preprocessor_c_nvm : [ compile arithmetic.c @@ -324,76 +299,6 @@ alias preprocessor_c_nvm ] ; -alias preprocessor_c_nvm_num - : - [ compile arithmetic.c - : BOOST_PP_VARIADICS=0 - BOOST_PP_LIMIT_MAG=512 - : arithmetic_c_nvm_num - ] - [ compile array.c - : BOOST_PP_VARIADICS=0 - BOOST_PP_LIMIT_MAG=512 - : array_c_nvm_num - ] - [ compile comparison.c - : BOOST_PP_VARIADICS=0 - BOOST_PP_LIMIT_MAG=512 - : comparison_c_nvm_num - ] - [ compile control.c - : BOOST_PP_VARIADICS=0 - BOOST_PP_LIMIT_MAG=512 - : control_c_nvm_num - ] - [ compile debug.c - : BOOST_PP_VARIADICS=0 - BOOST_PP_LIMIT_MAG=512 - : debug_c_nvm_num - ] - [ compile facilities.c - : BOOST_PP_VARIADICS=0 - BOOST_PP_LIMIT_MAG=512 - : facilities_c_nvm_num - ] - [ compile list.c - : BOOST_PP_VARIADICS=0 - BOOST_PP_LIMIT_MAG=512 - BOOST_PP_LIMIT_FOR=512 - : list_c_nvm_num - ] - [ compile logical.c - : BOOST_PP_VARIADICS=0 - BOOST_PP_LIMIT_MAG=512 - : logical_c_nvm_num - ] - [ compile selection.c - : BOOST_PP_VARIADICS=0 - BOOST_PP_LIMIT_MAG=512 - : selection_c_nvm_num - ] - [ compile seq.c - : BOOST_PP_VARIADICS=0 - BOOST_PP_LIMIT_SEQ=512 - : seq_c_nvm_num - ] - [ compile slot.c - : BOOST_PP_VARIADICS=0 - BOOST_PP_LIMIT_MAG=512 - : slot_c_nvm_num - ] - [ compile stringize.c - : BOOST_PP_VARIADICS=0 - BOOST_PP_LIMIT_MAG=512 - : stringize_c_nvm_num - ] - [ compile tuple.c - : BOOST_PP_VARIADICS=0 - BOOST_PP_LIMIT_MAG=512 - : tuple_c_nvm_num - ] - ; - alias preprocessor_number_rep_512 : [ compile repetition.cpp : diff --git a/test/arithmetic.cxx b/test/arithmetic.cxx index 59455f1..2c2f94d 100644 --- a/test/arithmetic.cxx +++ b/test/arithmetic.cxx @@ -48,6 +48,21 @@ BEGIN BOOST_PP_ADD(357, BOOST_PP_ADD(102, 137)) == 512 END #endif +#if BOOST_PP_LIMIT_MAG == 1024 + +BEGIN BOOST_PP_ADD(732, 188) == 920 END + +BEGIN BOOST_PP_ADD(1, 1024) == 1024 END +BEGIN BOOST_PP_ADD(1024, 1) == 1024 END +BEGIN BOOST_PP_ADD(2, 1023) == 1024 END +BEGIN BOOST_PP_ADD(1023, 2) == 1024 END + +BEGIN BOOST_PP_ADD(BOOST_PP_ADD(254, 525), 149) == 928 END +BEGIN BOOST_PP_ADD(BOOST_PP_ADD(241, 96), BOOST_PP_ADD(373, 175)) == 885 END +BEGIN BOOST_PP_ADD(792, BOOST_PP_ADD(356, 410)) == 1024 END + +#endif + /* subtraction */ BEGIN BOOST_PP_SUB(11, 0) == 11 END @@ -82,6 +97,21 @@ BEGIN BOOST_PP_SUB(BOOST_PP_SUB(412, 383), BOOST_PP_SUB(512, 506)) == 23 END #endif +#if BOOST_PP_LIMIT_MAG == 1024 + +BEGIN BOOST_PP_SUB(782, 849) == 0 END +BEGIN BOOST_PP_SUB(1023, 1022) == 1 END +BEGIN BOOST_PP_SUB(654, 538) == 116 END + +BEGIN BOOST_PP_SUB(1, 1024) == 0 END +BEGIN BOOST_PP_SUB(1024, 1023) == 1 END + +BEGIN BOOST_PP_SUB(829, BOOST_PP_SUB(3, 2)) == 828 END +BEGIN BOOST_PP_SUB(BOOST_PP_SUB(616, 439), 92) == 85 END +BEGIN BOOST_PP_SUB(BOOST_PP_SUB(822, 547), BOOST_PP_SUB(1024, 1011)) == 262 END + +#endif + /* multiplication */ BEGIN BOOST_PP_MUL(0, 1) == 0 END @@ -133,6 +163,27 @@ BEGIN BOOST_PP_MUL(511, 2) == 512 END #endif +#if BOOST_PP_LIMIT_MAG == 1024 + +BEGIN BOOST_PP_MUL(0, 653) == 0 END +BEGIN BOOST_PP_MUL(926, 0) == 0 END +BEGIN BOOST_PP_MUL(1, 849) == 849 END +BEGIN BOOST_PP_MUL(42, 17) == 714 END + +BEGIN BOOST_PP_MUL(BOOST_PP_MUL(9, 9), 9) == 729 END +BEGIN BOOST_PP_MUL(9, BOOST_PP_MUL(9, 9)) == 729 END +BEGIN BOOST_PP_MUL(BOOST_PP_MUL(6, 6), BOOST_PP_MUL(5, 5)) == 900 END + +BEGIN BOOST_PP_MUL(35, 35) == 1024 END +BEGIN BOOST_PP_MUL(0, 1024) == 0 END +BEGIN BOOST_PP_MUL(1, 1024) == 1024 END +BEGIN BOOST_PP_MUL(2, 1024) == 1024 END +BEGIN BOOST_PP_MUL(1023, 0) == 0 END +BEGIN BOOST_PP_MUL(1023, 1) == 1023 END +BEGIN BOOST_PP_MUL(1023, 2) == 1024 END + +#endif + /* division */ BEGIN BOOST_PP_DIV(2, 1) == 2 END @@ -155,6 +206,18 @@ BEGIN BOOST_PP_DIV(BOOST_PP_DIV(486, 2), BOOST_PP_DIV(17, 4)) == 60 END #endif +#if BOOST_PP_LIMIT_MAG == 1024 + +BEGIN BOOST_PP_DIV(849, 36) == 23 END +BEGIN BOOST_PP_DIV(0, 638) == 0 END +BEGIN BOOST_PP_DIV(467, 17) == 27 END + +BEGIN BOOST_PP_DIV(BOOST_PP_DIV(1004, 10), 5) == 20 END +BEGIN BOOST_PP_DIV(593, BOOST_PP_DIV(925, 25)) == 16 END +BEGIN BOOST_PP_DIV(BOOST_PP_DIV(746, 12), BOOST_PP_DIV(848, 424)) == 31 END + +#endif + /* modulus */ BEGIN BOOST_PP_MOD(5, 5) == 0 END @@ -175,6 +238,17 @@ BEGIN BOOST_PP_MOD(194, BOOST_PP_MOD(411, 205)) == 0 END #endif +#if BOOST_PP_LIMIT_MAG == 1024 + +BEGIN BOOST_PP_MOD(831, 831) == 0 END +BEGIN BOOST_PP_MOD(935, 73) == 59 END +BEGIN BOOST_PP_MOD(610, 84) == 22 END + +BEGIN BOOST_PP_MOD(BOOST_PP_MOD(732, 27), 2) == 1 END +BEGIN BOOST_PP_MOD(1023, BOOST_PP_MOD(544, 29)) == 11 END + +#endif + /* increment */ BEGIN BOOST_PP_INC(0) == 1 END @@ -200,6 +274,17 @@ BEGIN BOOST_PP_INC(BOOST_PP_INC(255)) == 257 END #endif +#if BOOST_PP_LIMIT_MAG == 1024 + +BEGIN BOOST_PP_INC(593) == 594 END +BEGIN BOOST_PP_INC(821) == 822 END +BEGIN BOOST_PP_INC(512) == 513 END +BEGIN BOOST_PP_INC(BOOST_PP_INC(924)) == 926 END +BEGIN BOOST_PP_INC(BOOST_PP_INC(732)) == 734 END +BEGIN BOOST_PP_INC(BOOST_PP_INC(511)) == 513 END + +#endif + /* decrement */ BEGIN BOOST_PP_DEC(256) == 255 END @@ -222,3 +307,14 @@ BEGIN BOOST_PP_DEC(BOOST_PP_DEC(512)) == 510 END #endif +#if BOOST_PP_LIMIT_MAG == 1024 + +BEGIN BOOST_PP_DEC(1025) == 1024 END +BEGIN BOOST_PP_DEC(770) == 769 END +BEGIN BOOST_PP_DEC(1024) == 1023 END + +BEGIN BOOST_PP_DEC(BOOST_PP_DEC(1025)) == 1023 END +BEGIN BOOST_PP_DEC(BOOST_PP_DEC(959)) == 957 END +BEGIN BOOST_PP_DEC(BOOST_PP_DEC(1024)) == 1022 END + +#endif