diff options
Diffstat (limited to 'source/blender/blenlib/intern')
-rw-r--r-- | source/blender/blenlib/intern/BLI_index_range.cc | 2 | ||||
-rw-r--r-- | source/blender/blenlib/intern/math_bits_inline.c | 11 |
2 files changed, 6 insertions, 7 deletions
diff --git a/source/blender/blenlib/intern/BLI_index_range.cc b/source/blender/blenlib/intern/BLI_index_range.cc index fefb6e6598e..0fa87cf854d 100644 --- a/source/blender/blenlib/intern/BLI_index_range.cc +++ b/source/blender/blenlib/intern/BLI_index_range.cc @@ -50,7 +50,7 @@ ArrayRef<uint> IndexRange::as_array_ref() const } arrays.append(std::move(new_array)); - current_array = arrays.last().begin(); + current_array = arrays.last().data(); std::atomic_thread_fence(std::memory_order_seq_cst); current_array_size = new_size; diff --git a/source/blender/blenlib/intern/math_bits_inline.c b/source/blender/blenlib/intern/math_bits_inline.c index a6883c2aaba..8f8f257f1e7 100644 --- a/source/blender/blenlib/intern/math_bits_inline.c +++ b/source/blender/blenlib/intern/math_bits_inline.c @@ -77,8 +77,7 @@ MINLINE int bitscan_reverse_i(int a) MINLINE unsigned int bitscan_reverse_clear_uint(unsigned int *a) { unsigned int i = bitscan_reverse_uint(*a); - /* TODO(sergey): This could probably be optimized. */ - *a &= ~(1 << (sizeof(unsigned int) * 8 - i - 1)); + *a &= ~(0x80000000 >> i); return i; } @@ -97,10 +96,10 @@ MINLINE unsigned int highest_order_bit_uint(unsigned int n) MINLINE unsigned short highest_order_bit_s(unsigned short n) { - n |= (n >> 1); - n |= (n >> 2); - n |= (n >> 4); - n |= (n >> 8); + n |= (unsigned short)(n >> 1); + n |= (unsigned short)(n >> 2); + n |= (unsigned short)(n >> 4); + n |= (unsigned short)(n >> 8); return (unsigned short)(n - (n >> 1)); } |