1a0698ed9Schristos #include "test/jemalloc_test.h" 2a0698ed9Schristos 3a0698ed9Schristos #include "jemalloc/internal/div.h" 4a0698ed9Schristos 5a0698ed9Schristos TEST_BEGIN(test_div_exhaustive) { 6a0698ed9Schristos for (size_t divisor = 2; divisor < 1000 * 1000; ++divisor) { 7a0698ed9Schristos div_info_t div_info; 8a0698ed9Schristos div_init(&div_info, divisor); 9a0698ed9Schristos size_t max = 1000 * divisor; 10a0698ed9Schristos if (max < 1000 * 1000) { 11a0698ed9Schristos max = 1000 * 1000; 12a0698ed9Schristos } 13a0698ed9Schristos for (size_t dividend = 0; dividend < 1000 * divisor; 14a0698ed9Schristos dividend += divisor) { 15a0698ed9Schristos size_t quotient = div_compute( 16a0698ed9Schristos &div_info, dividend); 17*7bdf38e5Schristos expect_zu_eq(dividend, quotient * divisor, 18a0698ed9Schristos "With divisor = %zu, dividend = %zu, " 19a0698ed9Schristos "got quotient %zu", divisor, dividend, quotient); 20a0698ed9Schristos } 21a0698ed9Schristos } 22a0698ed9Schristos } 23a0698ed9Schristos TEST_END 24a0698ed9Schristos 25a0698ed9Schristos int 26a0698ed9Schristos main(void) { 27a0698ed9Schristos return test_no_reentrancy( 28a0698ed9Schristos test_div_exhaustive); 29a0698ed9Schristos } 30