grenier

Collection of algorithms (HyperLogLog, order maintenance, ...)
IN THIS PACKAGE
Module Maxrects
type 'bin t
val empty : 'bin t
val add_bin : 'bin -> int -> int -> 'bin t -> 'bin t
type !'tag box = {
tag : 'tag;
width : int;
height : int;
allow_rotation : bool;
}
val box : ?allow_rotation:bool -> 'tag -> int -> int -> 'tag box
type (!'bin, !'tag) rect = {
x : int;
y : int;
w : int;
h : int;
rotated : bool;
bin : 'bin;
box : 'tag box;
}
type heuristic = [
| `Area_fit
| `Bottom_left
| `Long_side_fit
| `Short_side_fit
]
val insert : 'bin t -> ?heuristic:heuristic -> 'tag box -> 'bin t * ( 'bin, 'tag ) rect option
val insert_batch : 'bin t -> ?heuristic:heuristic -> 'tag box list -> 'bin t * ( 'bin, 'tag ) rect option list
val insert_global : 'bin t -> ?heuristic:heuristic -> 'tag box list -> 'bin t * ( 'bin, 'tag ) rect option list