aboutsummaryrefslogtreecommitdiff
path: root/include/salticidae/stream.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/salticidae/stream.h')
-rw-r--r--include/salticidae/stream.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/include/salticidae/stream.h b/include/salticidae/stream.h
index 267d294..50a7f70 100644
--- a/include/salticidae/stream.h
+++ b/include/salticidae/stream.h
@@ -360,13 +360,13 @@ class _Bits {
void set(uint32_t idx) {
auto i = idx >> shift_per_datum;
auto pos = idx & (bit_per_datum - 1);
- data[i] ^= ((data[i] >> pos) ^ 1) << pos;
+ data[i] ^= (((data[i] >> pos) & 1) ^ 1) << pos;
}
void unset(uint32_t idx) {
auto i = idx >> shift_per_datum;
auto pos = idx & (bit_per_datum - 1);
- data[i] ^= (data[i] >> pos) << pos;
+ data[i] ^= ((data[i] >> pos) & 1) << pos;
}
void flip(uint32_t idx) {