// 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);