From 6fa8015b7fd50e75e97a175a511958b652eca11e Mon Sep 17 00:00:00 2001 From: Andreas Hansson Date: Tue, 26 Aug 2014 10:14:32 -0400 Subject: [PATCH] base: Add const to intmath and be more flexible with typing This patch ensures the functions can be used on const variables. --- src/base/intmath.hh | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/base/intmath.hh b/src/base/intmath.hh index f46133764..eded26d4a 100644 --- a/src/base/intmath.hh +++ b/src/base/intmath.hh @@ -42,7 +42,7 @@ int prevPrime(int n); // Determine if a number is prime template inline bool -isPrime(T n) +isPrime(const T& n) { T i; @@ -63,14 +63,14 @@ isPrime(T n) template inline T -leastSigBit(T n) +leastSigBit(const T& n) { return n & ~(n - 1); } template inline bool -isPowerOf2(T n) +isPowerOf2(const T& n) { return n != 0 && leastSigBit(n) == n; } @@ -171,7 +171,7 @@ floorLog2(long long x) template inline int -ceilLog2(T n) +ceilLog2(const T& n) { if (n == 1) return 0; @@ -181,14 +181,14 @@ ceilLog2(T n) template inline T -floorPow2(T n) +floorPow2(const T& n) { return (T)1 << floorLog2(n); } template inline T -ceilPow2(T n) +ceilPow2(const T& n) { return (T)1 << ceilLog2(n); } @@ -200,17 +200,17 @@ divCeil(const T& a, const U& b) return (a + b - 1) / b; } -template +template inline T -roundUp(T val, int align) +roundUp(const T& val, const U& align) { T mask = (T)align - 1; return (val + mask) & ~mask; } -template +template inline T -roundDown(T val, int align) +roundDown(const T& val, const U& align) { T mask = (T)align - 1; return val & ~mask; -- 2.30.2