line |
true |
false |
branch |
26
|
0 |
0 |
template inline T _max(T x, T y) { return(x > y) ? x : y; } |
|
0 |
0 |
template inline T _max(T x, T y) { return(x > y) ? x : y; } |
28
|
0 |
0 |
T *tmp = new T[l]; |
29
|
0 |
0 |
for (size_t i = 0; i < n; ++i) tmp[i] = ptr[i]; |
|
0 |
0 |
for (size_t i = 0; i < n; ++i) tmp[i] = ptr[i]; |
30
|
0 |
0 |
for (size_t i = n; i < l; ++i) tmp[i] = v; |
|
0 |
0 |
for (size_t i = n; i < l; ++i) tmp[i] = v; |
31
|
0 |
0 |
delete [] ptr; |
|
0 |
0 |
delete [] ptr; |
63
|
0 |
0 |
virtual ~DoubleArrayImpl() { clear(); } |
86
|
0 |
0 |
if (!no_delete_) |
87
|
0 |
0 |
delete [] array_; |
88
|
0 |
0 |
delete [] used_; |
112
|
0 |
0 |
if (!key_size || !key) return 0; |
|
0 |
0 |
if (!key_size || !key) return 0; |
121
|
0 |
0 |
resize(8192); |
131
|
0 |
0 |
std::vector siblings; |
|
0 |
0 |
std::vector siblings; |
132
|
0 |
0 |
fetch(root_node, siblings); |
133
|
0 |
0 |
insert(siblings); |
136
|
0 |
0 |
if (size_ >= alloc_size_) resize(size_); |
|
0 |
0 |
if (size_ >= alloc_size_) resize(size_); |
138
|
0 |
0 |
delete [] used_; |
149
|
0 |
0 |
if (!fp) return -1; |
150
|
0 |
0 |
if (std::fseek(fp, offset, SEEK_SET) != 0) return -1; |
152
|
0 |
0 |
if (!size) { |
153
|
0 |
0 |
if (std::fseek(fp, 0L, SEEK_END) != 0) return -1; |
155
|
0 |
0 |
if (std::fseek(fp, offset, SEEK_SET) != 0) return -1; |
162
|
0 |
0 |
array_ = new unit_t[size_]; |
163
|
0 |
0 |
if (size_ != std::fread(reinterpret_cast(array_), |
273
|
0 |
0 |
if (!len) len = length_func_()(key); |
280
|
0 |
0 |
for (register size_t i = 0; i < len; ++i) { |
283
|
0 |
0 |
if ((array_u_type_) b == array_[p].check && n < 0) { |
|
0 |
0 |
if ((array_u_type_) b == array_[p].check && n < 0) { |
285
|
0 |
0 |
if (num < result_len) set_result(&result[num], -n-1, i); |
290
|
0 |
0 |
if ((array_u_type_) b == array_[p].check) |
299
|
0 |
0 |
if ((array_u_type_)b == array_[p].check && n < 0) { |
|
0 |
0 |
if ((array_u_type_)b == array_[p].check && n < 0) { |
300
|
0 |
0 |
if (num < result_len) set_result(&result[num], -n-1, len); |
365
|
0 |
0 |
array_ = _resize(array_, alloc_size_, new_size, tmp); |
366
|
0 |
0 |
used_ = _resize(used_, alloc_size_, new_size, |
373
|
0 |
0 |
if (error_ < 0) return 0; |
377
|
0 |
0 |
for (size_t i = parent.left; i < parent.right; ++i) { |
378
|
0 |
0 |
if ((length_ ? length_[i] : length_func_()(key_[i])) < parent.depth) |
|
0 |
0 |
if ((length_ ? length_[i] : length_func_()(key_[i])) < parent.depth) |
|
0 |
0 |
if ((length_ ? length_[i] : length_func_()(key_[i])) < parent.depth) |
384
|
0 |
0 |
if ((length_ ? length_[i] : length_func_()(key_[i])) != parent.depth) |
|
0 |
0 |
if ((length_ ? length_[i] : length_func_()(key_[i])) != parent.depth) |
|
0 |
0 |
if ((length_ ? length_[i] : length_func_()(key_[i])) != parent.depth) |
387
|
0 |
0 |
if (prev > cur) { |
392
|
0 |
0 |
if (cur != prev || siblings.empty()) { |
|
0 |
0 |
if (cur != prev || siblings.empty()) { |
|
0 |
0 |
if (cur != prev || siblings.empty()) { |
397
|
0 |
0 |
if (!siblings.empty()) siblings[siblings.size()-1].right = i; |
|
0 |
0 |
if (!siblings.empty()) siblings[siblings.size()-1].right = i; |
399
|
0 |
0 |
siblings.push_back(tmp_node); |
405
|
0 |
0 |
if (!siblings.empty()) |
412
|
0 |
0 |
if (error_ < 0) return 0; |
419
|
0 |
0 |
if (alloc_size_ <= pos) resize(pos + 1); |
425
|
0 |
0 |
if (alloc_size_ <= pos) resize(pos + 1); |
427
|
0 |
0 |
if (array_[pos].check) { |
430
|
0 |
0 |
} else if (!first) { |
436
|
0 |
0 |
if (alloc_size_ <= (begin + siblings[siblings.size()-1].code)) |
440
|
0 |
0 |
if (used_[begin]) continue; |
442
|
0 |
0 |
for (size_t i = 1; i < siblings.size(); ++i) |
443
|
0 |
0 |
if (array_[begin + siblings[i].code].check != 0) goto next; |
453
|
0 |
0 |
if (1.0 * nonzero_num/(pos - next_check_pos_ + 1) >= 0.95) |
461
|
0 |
0 |
for (size_t i = 0; i < siblings.size(); ++i) |
464
|
0 |
0 |
for (size_t i = 0; i < siblings.size(); ++i) { |
465
|
0 |
0 |
std::vector new_siblings; |
467
|
0 |
0 |
if (!fetch(siblings[i], new_siblings)) { |
|
0 |
0 |
if (!fetch(siblings[i], new_siblings)) { |
468
|
0 |
0 |
array_[begin + siblings[i].code].base = |
473
|
0 |
0 |
if (value_ && (array_type_)(-value_[siblings[i].left]-1) >= 0) { |
|
0 |
0 |
if (value_ && (array_type_)(-value_[siblings[i].left]-1) >= 0) { |
|
0 |
0 |
if (value_ && (array_type_)(-value_[siblings[i].left]-1) >= 0) { |
479
|
0 |
0 |
if (progress_func_)(*progress_func_)(progress_, key_size_); |
|
0 |
0 |
if (progress_func_)(*progress_func_)(progress_, key_size_); |
482
|
0 |
0 |
size_t h = insert(new_siblings); |
483
|
0 |
0 |
array_[begin + siblings[i].code].base = h; |
|
0 |
0 |
array_[begin + siblings[i].code].base = h; |