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 |
}
|