All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
The checked_oint.guard virtual library for controlling the behaviour of polymorphic comparison, with two implementations:
checked_oint.guard-on: polymorphic comparisons raise Invalid_argument, at the cost of pairing every integer with a guard value. The default.checked_oint.guard-off: polymorphic comparisons silently succeed, but the representation is zero-cost.S.to_int and S.to_int_exn functions... finally.u32 integers in U64.of_value, I64.of_value, U128.of_value, and I128.of_value instead of sign-extending them.I8.shift_left and I16.shift_left to 8 and 16 bits, respectively.U32.of_string and U64.of_string.S.ty as the type representation of S.t.Int_ty.t as a GADT indexed by the corresponding OCaml type; the new Int_ty.equate decides type equality.generic type with value, which carries an Int_ty.t witness; rename the S.of_generic function family accordingly.ops function is now typed: ops : 'a Int_ty.t -> (module S with type t = 'a).singleton and pair/pair_exn, which materialized a fresh first-class module on every call.signedness, bitness, and int_ty types, together with S.int_ty.bisect_ppx and alcotest for testing, not for production builds.Int_ty module.generic_int_ty function is now available as Int_ty.(of_generic : generic -> t).S.of_generic and S.of_generic_exn to convert between any two integer types.Use manual interfacing with C instead of ocaml-ctypes.
-DNDEBUG) under the release profile.pair function as an option-returning counterpart of pair_exn.Integer type shortcuts:
u8_int_ty, u16_int_ty, u32_int_ty, u64_int_ty, u128_int_tyi8_int_ty, i16_int_ty, i32_int_ty, i64_int_ty, i128_int_tyof_string formats for 128-bit integers.is_zero, is_one, is_all_ones predicates on generic integers.S.ty to S.int_ty (in accordance with generic_int_ty).S.of_int and S.of_string which return option instead of raising an exception.alcotest.S.ty for getting a type representation (int_ty).ocaml and ctypes-foreign in dune-project.