package grenier
A collection of various algorithms in OCaml
Install
Dune Dependency
Authors
Maintainers
Sources
grenier-v0.10.tbz
sha256=271ae9461d012c99449e5233386b13ab99ae2e474ed570e05bf0c9947e5eff1e
sha512=73c89aa6281f612c499eb734c6fc4d33b961ed82d6cc7380b03acb196233c27107e103b11f55e50f543f0f1dedb4924e6691a5c3c353ef4d8177bc661fc2bfd4
doc/grenier.orderme/Order_managed/index.html
Module Order_managed
Basic ordering operations
val root : unit -> t
Create a new ordering with a single element. O(1)
after t
inserts a new element to the ordering, greater than t
but less than all existing elements greater than t
.
O(1) amortized.
before t
inserts a new element to the ordering, less than t
but greater than all existing elements less than t
.
O(1) amortized.
val cardinal : t -> int
How many elements are ordered. O(1)
Memory management
val forget : t -> unit
When you know you are not going to use an element any longer, forget
it to release memory. It makes operations slightly faster to not have to wait for the GC to release elements.
val is_valid : t -> bool
After calling forget
, an element should not be used. You can check if it is the case with is_valid
.
Algorithm due to: Two Simplified Algorithms for Maintaining Order in a List Bender et al., 2002
val unsafe_check : t -> string -> unit
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page