Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mapsme/omim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLev Dragunov <l.dragunov@corp.mail.ru>2015-07-13 12:35:41 +0300
committerAlex Zolotarev <alex@maps.me>2015-09-23 02:55:35 +0300
commit07e8ca9c8c9539430a3a17b7c0953a1079fac2bb (patch)
treed116e2dcedd33f32dd6ba65b5d44fc23818f712b /3party/succinct/darray.hpp
parent2062f0424fac04e3f037717df13be1ba308f63cf (diff)
Revert "[3party][succinct] Fixed uint64_t <-> size_t warnings."
Diffstat (limited to '3party/succinct/darray.hpp')
-rw-r--r--3party/succinct/darray.hpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/3party/succinct/darray.hpp b/3party/succinct/darray.hpp
index c2ed3cc108..79920f2f8d 100644
--- a/3party/succinct/darray.hpp
+++ b/3party/succinct/darray.hpp
@@ -24,7 +24,7 @@ namespace succinct {
std::vector<uint16_t> subblock_inventory;
std::vector<uint64_t> overflow_positions;
- for (size_t word_idx = 0; word_idx < data.size(); ++word_idx) {
+ for (uint64_t word_idx = 0; word_idx < data.size(); ++word_idx) {
uint64_t cur_pos = word_idx * 64;
uint64_t cur_word = WordGetter()(data, word_idx);
unsigned long l;
@@ -74,20 +74,22 @@ namespace succinct {
inline uint64_t select(bit_vector const& bv, uint64_t idx) const
{
assert(idx < num_positions());
- int64_t block_pos = m_block_inventory[util::to_size(idx / block_size)];
+ uint64_t block = idx / block_size;
+ int64_t block_pos = m_block_inventory[block];
if (block_pos < 0) {
uint64_t overflow_pos = uint64_t(-block_pos - 1);
- return m_overflow_positions[util::to_size(overflow_pos + (idx % block_size))];
+ return m_overflow_positions[overflow_pos + (idx % block_size)];
}
- uint64_t start_pos = uint64_t(block_pos) + m_subblock_inventory[util::to_size(idx / subblock_size)];
+ uint64_t subblock = idx / subblock_size;
+ uint64_t start_pos = uint64_t(block_pos) + m_subblock_inventory[subblock];
uint64_t reminder = idx % subblock_size;
mapper::mappable_vector<uint64_t> const& data = bv.data();
if (!reminder) {
return start_pos;
} else {
- size_t word_idx = util::to_size(start_pos / 64);
+ uint64_t word_idx = start_pos / 64;
uint64_t word_shift = start_pos % 64;
uint64_t word = WordGetter()(data, word_idx) & (uint64_t(-1) << word_shift);