mirror of
https://github.com/c-cube/sidekick.git
synced 2026-01-28 12:24:50 -05:00
Revert "change strategy for vec reallocation"
This reverts commit 7407669834.
This commit is contained in:
parent
20b4692e18
commit
15efe4aceb
1 changed files with 1 additions and 3 deletions
|
|
@ -69,15 +69,13 @@ let grow_to_double_size t =
|
||||||
let size = min Sys.max_array_length (2* Array.length t.data + 1) in
|
let size = min Sys.max_array_length (2* Array.length t.data + 1) in
|
||||||
grow_to_exact t size
|
grow_to_exact t size
|
||||||
|
|
||||||
(* grow to at least [new_capa] by increments of
|
|
||||||
approximately [new_size = old_size * 1.5] *)
|
|
||||||
let grow_to_at_least t new_capa =
|
let grow_to_at_least t new_capa =
|
||||||
assert (new_capa >= 0);
|
assert (new_capa >= 0);
|
||||||
if new_capa > Sys.max_array_length then _size_too_big ();
|
if new_capa > Sys.max_array_length then _size_too_big ();
|
||||||
let data = t.data in
|
let data = t.data in
|
||||||
let capa = ref (Array.length data + 1) in
|
let capa = ref (Array.length data + 1) in
|
||||||
while !capa < new_capa do
|
while !capa < new_capa do
|
||||||
capa := min (!capa + (!capa lsr 1) + 2) Sys.max_array_length;
|
capa := min (2 * !capa + 1) Sys.max_array_length;
|
||||||
done;
|
done;
|
||||||
grow_to_exact t !capa
|
grow_to_exact t !capa
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue