sig
type +'n t = private int
type z
type 'n s
val zero : Slap_size.z Slap_size.t
type one = Slap_size.z Slap_size.s
val one : Slap_size.one Slap_size.t
type two = Slap_size.z Slap_size.s Slap_size.s
val two : Slap_size.two Slap_size.t
type three = Slap_size.z Slap_size.s Slap_size.s Slap_size.s
val three : Slap_size.three Slap_size.t
type four = Slap_size.z Slap_size.s Slap_size.s Slap_size.s Slap_size.s
val four : Slap_size.four Slap_size.t
type five =
Slap_size.z Slap_size.s Slap_size.s Slap_size.s Slap_size.s Slap_size.s
val five : Slap_size.five Slap_size.t
type six =
Slap_size.z Slap_size.s Slap_size.s Slap_size.s Slap_size.s Slap_size.s
Slap_size.s
val six : Slap_size.six Slap_size.t
type seven =
Slap_size.z Slap_size.s Slap_size.s Slap_size.s Slap_size.s Slap_size.s
Slap_size.s Slap_size.s
val seven : Slap_size.seven Slap_size.t
type eight =
Slap_size.z Slap_size.s Slap_size.s Slap_size.s Slap_size.s Slap_size.s
Slap_size.s Slap_size.s Slap_size.s
val eight : Slap_size.eight Slap_size.t
type nine =
Slap_size.z Slap_size.s Slap_size.s Slap_size.s Slap_size.s Slap_size.s
Slap_size.s Slap_size.s Slap_size.s Slap_size.s
val nine : Slap_size.nine Slap_size.t
type ten =
Slap_size.z Slap_size.s Slap_size.s Slap_size.s Slap_size.s Slap_size.s
Slap_size.s Slap_size.s Slap_size.s Slap_size.s Slap_size.s
val ten : Slap_size.ten Slap_size.t
val succ : 'n Slap_size.t -> 'n Slap_size.s Slap_size.t
val pred : 'n Slap_size.s Slap_size.t -> 'n Slap_size.t
type 'n p
val pred_dyn : 'n Slap_size.t -> 'n Slap_size.p Slap_size.t
type ('m, 'n) add
val add :
'm Slap_size.t -> 'n Slap_size.t -> ('m, 'n) Slap_size.add Slap_size.t
type ('m, 'n) sub
val sub_dyn :
'm Slap_size.t -> 'n Slap_size.t -> ('m, 'n) Slap_size.sub Slap_size.t
type ('m, 'n) mul
val mul :
'm Slap_size.t -> 'n Slap_size.t -> ('m, 'n) Slap_size.mul Slap_size.t
type ('m, 'n) div
val div_dyn :
'm Slap_size.t -> 'n Slap_size.t -> ('m, 'n) Slap_size.div Slap_size.t
type ('m, 'n) min
val min :
'm Slap_size.t -> 'n Slap_size.t -> ('m, 'n) Slap_size.min Slap_size.t
type ('m, 'n) max
val max :
'm Slap_size.t -> 'n Slap_size.t -> ('m, 'n) Slap_size.max Slap_size.t
type 'n packed
val packed : 'n Slap_size.t -> 'n Slap_size.packed Slap_size.t
val unpacked : 'n Slap_size.packed Slap_size.t -> 'n Slap_size.t
type ('m, 'n, 'kl, 'ku) geband
val geband_dyn :
'm Slap_size.t ->
'n Slap_size.t ->
'kl Slap_size.t ->
'ku Slap_size.t -> ('m, 'n, 'kl, 'ku) Slap_size.geband Slap_size.t
type ('n, 'kd) syband
val syband_dyn :
'n Slap_size.t ->
'kd Slap_size.t -> ('n, 'kd) Slap_size.syband Slap_size.t
type ('m, 'n, 'kl, 'ku) luband =
('m, 'n, 'kl, ('kl, 'ku) Slap_size.add) Slap_size.geband
val luband_dyn :
'm Slap_size.t ->
'n Slap_size.t ->
'kl Slap_size.t ->
'ku Slap_size.t -> ('m, 'n, 'kl, 'ku) Slap_size.luband Slap_size.t
module type SIZE = sig type n val value : Slap_size.SIZE.n Slap_size.t end
val to_int : 'n Slap_size.t -> int
val of_int_dyn : int -> (module Slap_size.SIZE)
val unsafe_of_int : int -> (module Slap_size.SIZE)
module Of_int_dyn : functor (N : sig val value : int end) -> SIZE
type dyn = SIZE : 'n Slap_size.t -> Slap_size.dyn
val of_int_c_dyn : int -> Slap_size.dyn
val fold_left :
('accum -> (module Slap_size.SIZE) -> 'accum) ->
'accum -> 'n Slap_size.t -> 'accum
val fold_right :
((module Slap_size.SIZE) -> 'accum -> 'accum) ->
'n Slap_size.t -> 'accum -> 'accum
val iter : ((module Slap_size.SIZE) -> unit) -> 'n Slap_size.t -> unit
val riter : ((module Slap_size.SIZE) -> unit) -> 'n Slap_size.t -> unit
val fold_lefti :
('accum -> int -> 'accum) -> 'accum -> 'n Slap_size.t -> 'accum
val fold_righti :
(int -> 'accum -> 'accum) -> 'n Slap_size.t -> 'accum -> 'accum
val iteri : (int -> unit) -> 'n Slap_size.t -> unit
val riteri : (int -> unit) -> 'n Slap_size.t -> unit
val iszero : 'n Slap_size.t -> bool
val nonzero : 'n Slap_size.t -> bool
val __expose : 'n Slap_size.t -> int
val __unexpose : int -> 'n Slap_size.t
end