mte/unikernel/duniverse/ppx_compare/test/check_optims.ml
2025-11-11 02:07:51 +01:00

40 lines
1.2 KiB
OCaml

open Ppx_compare_lib
type enum =
| A
| B
| C
module Compare = struct
let optim_bool : bool compare = Stdlib.compare
let optim_char : char compare = Stdlib.compare
let optim_float : float compare = Stdlib.compare
let optim_int : int compare = Stdlib.compare
let optim_int32 : int32 compare = Stdlib.compare
let optim_int64 : int64 compare = Stdlib.compare
let optim_nativeint : nativeint compare = Stdlib.compare
let optim_string : string compare = Stdlib.compare
let optim_unit : unit compare = Stdlib.compare
let optim_enum : enum compare = Stdlib.compare
end
module Equal = struct
let optim_bool : bool equal = Stdlib.( = )
let optim_char : char equal = Stdlib.( = )
let optim_float : float equal = Stdlib.( = )
let optim_int : int equal = Stdlib.( = )
let optim_int32 : int32 equal = Stdlib.( = )
let optim_nativeint : nativeint equal = Stdlib.( = )
let optim_string : string equal = Stdlib.( = )
let optim_unit : unit equal = Stdlib.( = )
let optim_enum : enum equal = Stdlib.( = )
let optim_int64 =
if Sys.word_size = 32
then
(* On 32bits, polymmorphic comparison of int64 values is not specialized *)
fun _ _ ->
false
else (Stdlib.( = ) : int64 equal)
;;
end