18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */
28c2ecf20Sopenharmony_ci/*  cpufreq-bench CPUFreq microbenchmark
38c2ecf20Sopenharmony_ci *
48c2ecf20Sopenharmony_ci *  Copyright (C) 2008 Christian Kornacker <ckornacker@suse.de>
58c2ecf20Sopenharmony_ci */
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_ci/* load loop, this schould take about 1 to 2ms to complete */
88c2ecf20Sopenharmony_ci#define ROUNDS(x) {unsigned int rcnt;			       \
98c2ecf20Sopenharmony_ci		for (rcnt = 0; rcnt < x*1000; rcnt++) { \
108c2ecf20Sopenharmony_ci			(void)(((int)(pow(rcnt, rcnt) * \
118c2ecf20Sopenharmony_ci				      sqrt(rcnt*7230970)) ^ 7230716) ^ \
128c2ecf20Sopenharmony_ci				      (int)atan2(rcnt, rcnt));	       \
138c2ecf20Sopenharmony_ci		} }							\
148c2ecf20Sopenharmony_ci
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_civoid start_benchmark(struct config *config);
17