From 16004fd41c0309540f728d4805f18c65e5f9f529 Mon Sep 17 00:00:00 2001 From: Lynix Date: Mon, 13 May 2013 12:52:12 +0200 Subject: [PATCH] Added IntegralPow function Former-commit-id: c04d3bf6365f3ced475405a85285b3956a066c47 --- include/Nazara/Math/Basic.hpp | 1 + include/Nazara/Math/Basic.inl | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/include/Nazara/Math/Basic.hpp b/include/Nazara/Math/Basic.hpp index 44d421d7f..a8a6c98b0 100644 --- a/include/Nazara/Math/Basic.hpp +++ b/include/Nazara/Math/Basic.hpp @@ -23,6 +23,7 @@ template T NzApproach(T value, T objective, T increment); template T NzClamp(T value, T min, T max); template T NzDegrees(T degrees); template T NzDegreeToRadian(T degrees); +inline unsigned int NzIntegralPow(unsigned int base, unsigned int exponent); inline unsigned int NzGetNumberLength(signed char number); inline unsigned int NzGetNumberLength(unsigned char number); inline unsigned int NzGetNumberLength(int number); diff --git a/include/Nazara/Math/Basic.inl b/include/Nazara/Math/Basic.inl index 9eef7e079..e5bcf4b22 100644 --- a/include/Nazara/Math/Basic.inl +++ b/include/Nazara/Math/Basic.inl @@ -50,6 +50,16 @@ T NzDegreeToRadian(T degrees) return degrees * F(M_PI/180.0); } +unsigned int NzIntegralPow(unsigned int base, unsigned int exponent) +{ + unsigned int r = 1; + for (unsigned int i = 0; i < exponent; ++i) + r *= base; + + return r; +} + + unsigned int NzGetNumberLength(signed char number) { // Le standard définit le char comme étant codé sur un octet