diff options
Diffstat (limited to 'deps/jemalloc/test/unit/div.c')
-rw-r--r-- | deps/jemalloc/test/unit/div.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/deps/jemalloc/test/unit/div.c b/deps/jemalloc/test/unit/div.c new file mode 100644 index 0000000..b47f10b --- /dev/null +++ b/deps/jemalloc/test/unit/div.c @@ -0,0 +1,29 @@ +#include "test/jemalloc_test.h" + +#include "jemalloc/internal/div.h" + +TEST_BEGIN(test_div_exhaustive) { + for (size_t divisor = 2; divisor < 1000 * 1000; ++divisor) { + div_info_t div_info; + div_init(&div_info, divisor); + size_t max = 1000 * divisor; + if (max < 1000 * 1000) { + max = 1000 * 1000; + } + for (size_t dividend = 0; dividend < 1000 * divisor; + dividend += divisor) { + size_t quotient = div_compute( + &div_info, dividend); + assert_zu_eq(dividend, quotient * divisor, + "With divisor = %zu, dividend = %zu, " + "got quotient %zu", divisor, dividend, quotient); + } + } +} +TEST_END + +int +main(void) { + return test_no_reentrancy( + test_div_exhaustive); +} |