package partition_map

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

Interval's represent consecutive regions of the positive integer domain.

This interface is purposefully undocumented as it is not meant to be used without understanding the implementation. At the moment, we still need:

  • Ascending.fold_set_and_values
  • Set.iter
  • Set.size to be exposed to for efficient operations in Prohlatype and a proper refactor is beyond the scope of current work.
type t
val compare : t -> t -> int
val max_value : int
val make : start:int -> end_:int -> t
val extend_one : t -> t
val width : t -> int
val inside : int -> t -> bool
val start : t -> int
val end_ : t -> int
val to_string : t -> string
val is_none : t -> bool
val strict_before : t -> t -> bool
val before_separate : t -> t -> bool
val merge : t -> t -> t
val split_inter_diff2 : t -> t -> t * t * t * t * t
val split_inter_diff3 : t -> t -> t -> t * t * t * t * t * t * t
val split_inter_diff4 : t -> t -> t -> t -> t * t * t * t * t * t * t * t * t
val aligned_inter_diff2 : t -> t -> t * t * t
val aligned_inter_diff3 : t -> t -> t -> t * t * t * t
val aligned_inter_diff4 : t -> t -> t -> t -> t * t * t * t * t
val fold : t -> init:'a -> f:('a -> int -> 'a) -> 'a
val iter : t -> f:(int -> unit) -> unit
val cpair : int -> t -> t -> t list
val to_cross_indices : int -> t -> (int * int) list