162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */
262306a36Sopenharmony_ci/*  cpufreq-bench CPUFreq microbenchmark
362306a36Sopenharmony_ci *
462306a36Sopenharmony_ci *  Copyright (C) 2008 Christian Kornacker <ckornacker@suse.de>
562306a36Sopenharmony_ci */
662306a36Sopenharmony_ci
762306a36Sopenharmony_ci/* load loop, this schould take about 1 to 2ms to complete */
862306a36Sopenharmony_ci#define ROUNDS(x) {unsigned int rcnt;			       \
962306a36Sopenharmony_ci		for (rcnt = 0; rcnt < x*1000; rcnt++) { \
1062306a36Sopenharmony_ci			(void)(((int)(pow(rcnt, rcnt) * \
1162306a36Sopenharmony_ci				      sqrt(rcnt*7230970)) ^ 7230716) ^ \
1262306a36Sopenharmony_ci				      (int)atan2(rcnt, rcnt));	       \
1362306a36Sopenharmony_ci		} }							\
1462306a36Sopenharmony_ci
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_civoid start_benchmark(struct config *config);
17