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