aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/common
diff options
context:
space:
mode:
authorGravatar Yuri Kunde Schlesner <yuriks@yuriks.net>2015-07-11 19:01:57 -0700
committerGravatar Yuri Kunde Schlesner <yuriks@yuriks.net>2015-07-11 19:01:57 -0700
commitb0d72e3de1ec2350716300c86bc02930893e9e23 (patch)
tree9ff3675021806f4e236ffdb73b7c36e44b88a8fc /src/common
parente110e656b95c6f7386e3fd1ed086c82ea550ca7c (diff)
parentd5b52805014f537082afae79dc212958295ca9dc (diff)
Merge pull request #914 from yuriks/bitfield-mask
Common: Fix mask generation in BitField
Diffstat (limited to 'src/common')
-rw-r--r--src/common/bit_field.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/common/bit_field.h b/src/common/bit_field.h
index 6595b5ba..f64ebdaf 100644
--- a/src/common/bit_field.h
+++ b/src/common/bit_field.h
@@ -161,7 +161,7 @@ public:
if (std::numeric_limits<T>::is_signed)
{
std::size_t shift = 8 * sizeof(T)-bits;
- return (T)(((storage & GetMask()) << (shift - position)) >> shift);
+ return (T)((storage << (shift - position)) >> shift);
}
else
{
@@ -189,7 +189,7 @@ private:
__forceinline StorageType GetMask() const
{
- return ((~(StorageTypeU)0) >> (8 * sizeof(T)-bits)) << position;
+ return (((StorageTypeU)~0) >> (8 * sizeof(T)-bits)) << position;
}
StorageType storage;