18 lines
445 B
FSharp
18 lines
445 B
FSharp
let inline cmp x y = if x < y then -1 else if x = y then 0 else 1
|
|
let before (s1 : seq<'a>) (s2 : seq<'a>) = (Seq.compareWith cmp s1 s2) < 0
|
|
|
|
[
|
|
([0], []);
|
|
([], []);
|
|
([], [0]);
|
|
([-1], [0]);
|
|
([0], [0]);
|
|
([0], [-1]);
|
|
([0], [0; -1]);
|
|
([0], [0; 0]);
|
|
([0], [0; 1]);
|
|
([0; -1], [0]);
|
|
([0; 0], [0]);
|
|
([0; 0], [1]);
|
|
]
|
|
|> List.iter (fun (x, y) -> printf "%A %s %A\n" x (if before x y then "< " else ">=") y)
|