Blame memkind-1.10.1/jemalloc/test/unit/div.c

Packit Service 7f3b24
#include "test/jemalloc_test.h"
Packit Service 7f3b24
Packit Service 7f3b24
#include "jemalloc/internal/div.h"
Packit Service 7f3b24
Packit Service 7f3b24
TEST_BEGIN(test_div_exhaustive) {
Packit Service 7f3b24
	for (size_t divisor = 2; divisor < 1000 * 1000; ++divisor) {
Packit Service 7f3b24
		div_info_t div_info;
Packit Service 7f3b24
		div_init(&div_info, divisor);
Packit Service 7f3b24
		size_t max = 1000 * divisor;
Packit Service 7f3b24
		if (max < 1000 * 1000) {
Packit Service 7f3b24
			max = 1000 * 1000;
Packit Service 7f3b24
		}
Packit Service 7f3b24
		for (size_t dividend = 0; dividend < 1000 * divisor;
Packit Service 7f3b24
		    dividend += divisor) {
Packit Service 7f3b24
			size_t quotient = div_compute(
Packit Service 7f3b24
			    &div_info, dividend);
Packit Service 7f3b24
			assert_zu_eq(dividend, quotient * divisor,
Packit Service 7f3b24
			    "With divisor = %zu, dividend = %zu, "
Packit Service 7f3b24
			    "got quotient %zu", divisor, dividend, quotient);
Packit Service 7f3b24
		}
Packit Service 7f3b24
	}
Packit Service 7f3b24
}
Packit Service 7f3b24
TEST_END
Packit Service 7f3b24
Packit Service 7f3b24
int
Packit Service 7f3b24
main(void) {
Packit Service 7f3b24
	return test_no_reentrancy(
Packit Service 7f3b24
	    test_div_exhaustive);
Packit Service 7f3b24
}