File: div.c

package info (click to toggle)
redis 5%3A8.0.2-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 22,304 kB
  • sloc: ansic: 216,903; tcl: 51,562; sh: 4,625; perl: 4,214; cpp: 3,568; python: 2,954; makefile: 2,055; ruby: 639; javascript: 30; csh: 7
file content (29 lines) | stat: -rw-r--r-- 693 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include "test/jemalloc_test.h"

#include "jemalloc/internal/div.h"

TEST_BEGIN(test_div_exhaustive) {
	for (size_t divisor = 2; divisor < 1000 * 1000; ++divisor) {
		div_info_t div_info;
		div_init(&div_info, divisor);
		size_t max = 1000 * divisor;
		if (max < 1000 * 1000) {
			max = 1000 * 1000;
		}
		for (size_t dividend = 0; dividend < 1000 * divisor;
		    dividend += divisor) {
			size_t quotient = div_compute(
			    &div_info, dividend);
			expect_zu_eq(dividend, quotient * divisor,
			    "With divisor = %zu, dividend = %zu, "
			    "got quotient %zu", divisor, dividend, quotient);
		}
	}
}
TEST_END

int
main(void) {
	return test_no_reentrancy(
	    test_div_exhaustive);
}