blob: cc18496c7818eacd5fcc480b0a6d0fcde7c3aed3 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
module type OrderedType = sig
type t
val compare : t -> t -> int
end
module type S = sig
type key
type t
(** permutacja jako funkcja *)
val apply : t -> key -> key
(** permutacja identycznościowa *)
val id : t
(** permutacja odwrotna *)
val invert : t -> t
(** permutacja która tylko zamienia dwa elementy miejscami *)
val swap : key -> key -> t
(** złożenie permutacji (jako złożenie funkcji) *)
val compose : t -> t -> t
(** porównywanie permutacji *)
val compare : t -> t -> int
end
module Make(Key : OrderedType) : S with type key = Key.t
|