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