# Module `Base.Ordering`

`Ordering`

is intended to make code that matches on the result of a comparison more concise and easier to read.

For example, instead of writing:

```
let r = compare x y in
if r < 0 then
...
else if r = 0 then
...
else
...
```

you could simply write:

```
match Ordering.of_int (compare x y) with
| Less -> ...
| Equal -> ...
| Greater -> ...
```

`val compare : t -> t -> int`

`val all : t list`

`val hash_fold_t : Hash.state -> t -> Hash.state`

`val hash : t -> Hash.hash_value`

`include Sexpable.S with type t := t`

`val t_of_sexp : Sexplib0.Sexp.t -> t`

`val sexp_of_t : t -> Sexplib0.Sexp.t`

`val of_int : int -> t`

`of_int n`

is:Less if n < 0 Equal if n = 0 Greater if n > 0

`val to_int : t -> int`

`to_int t`

is:Less -> -1 Equal -> 0 Greater -> 1

It can be useful when writing a comparison function to allow one to return

`Ordering.t`

values and transform them to`int`

s later.

`module Export : sig ... end`