Something went wrong. Try again.
Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
Something went wrong. Try again.
123456789101112131415161718192021222324252627282930313233// SPDX-License-Identifier: GPL-2.0/* * An integer based power function * * Derived from drivers/video/backlight/pwm_bl.c */
#include <linux/export.h>#include <linux/math.h>#include <linux/types.h>
/** * int_pow - computes the exponentiation of the given base and exponent * @base: base which will be raised to the given power * @exp: power to be raised to * * Computes: pow(base, exp), i.e. @base raised to the @exp power */u64 int_pow(u64 base, unsigned int exp){ u64 result = 1;
while (exp) { if (exp & 1) result *= base; exp >>= 1; base *= base; }
return result;}EXPORT_SYMBOL_GPL(int_pow);