aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chilbert/FixBitVec.hpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/chilbert/FixBitVec.hpp b/chilbert/FixBitVec.hpp
index da26d12..001e4c2 100644
--- a/chilbert/FixBitVec.hpp
+++ b/chilbert/FixBitVec.hpp
@@ -218,7 +218,7 @@ public:
/// Right-rotate by `bits` positions
CFixBitVec& rotr(const size_t bits)
{
- if (bits) {
+ if (bits > 0 && bits < size()) {
assert(bits <= bits_per_rack);
m_rack &= FBVN1S(size());
m_rack = (m_rack >> bits) | (m_rack << (size() - bits));
@@ -230,7 +230,7 @@ public:
/// Left-rotate by `bits` positions
CFixBitVec& rotl(const size_t bits)
{
- if (bits > 0) {
+ if (bits > 0 && bits < size()) {
assert(bits <= bits_per_rack);
m_rack &= FBVN1S(size());
m_rack = (m_rack << bits) | (m_rack >> (size() - bits));