module DefStrat:Strat.Twith type t = float * float * int
Default strategy for resizable datastructures
type t is a triple (waste, shrink_trig, min_size), where waste
(default: 1.5) indicates how much the array should grow in excess when
reallocation is triggered, shrink_trig (default: 0.5) at which percentage
of excess elements it should be shrunk and min_size (default: 16 elements)
is the minimum size of the resizable array.
type t
The abstract type of strategies.
val default : tDefault strategy of this strategy implementation.
val grow : t -> int -> intgrow strat new_len
strat given new virtual length new_len. The user should then use
this new real length to resize the datastructure.
Be careful, the new (real) length must be larger than the new
virtual length, otherwise your program will crash!val shrink : t -> real_len:int -> new_len:int -> intshrink strat ~real_len ~new_len
real_len and its required new virtual length new_len wrt.
strategy strat. The user should then use this new real length to
resize the datastructure. If -1 is returned, it is not necessary to
resize.
Be careful, the new (real) length must be larger than the new
virtual length new_len, otherwise your program may crash!