xref: /aosp_15_r20/external/FXdiv/bench/init.cc (revision 46dbe23922d2f68acf6638846c68716fcec3e8fa)
1 #include <benchmark/benchmark.h>
2 
3 #include <fxdiv.h>
4 
init_uint32_t(benchmark::State & state)5 static void init_uint32_t(benchmark::State& state) {
6 	uint32_t d = UINT32_C(0x1971DB6B);
7 	while (state.KeepRunning()) {
8 		const fxdiv_divisor_uint32_t divisor = fxdiv_init_uint32_t(d++);
9 		benchmark::DoNotOptimize(divisor);
10 	}
11 }
12 BENCHMARK(init_uint32_t);
13 
init_uint64_t(benchmark::State & state)14 static void init_uint64_t(benchmark::State& state) {
15 	uint64_t d = UINT64_C(0x425E892B38148FAD);
16 	while (state.KeepRunning()) {
17 		const fxdiv_divisor_uint64_t divisor = fxdiv_init_uint64_t(d++);
18 		benchmark::DoNotOptimize(divisor);
19 	}
20 }
21 BENCHMARK(init_uint64_t);
22 
23 BENCHMARK_MAIN();
24