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