summaryrefslogtreecommitdiff
path: root/otherlibs/num
diff options
context:
space:
mode:
authorGabriel Scherer <gabriel.scherer@gmail.com>2014-12-21 11:46:08 +0000
committerGabriel Scherer <gabriel.scherer@gmail.com>2014-12-21 11:46:08 +0000
commit85b75d7963febd9f31a3fbf52a7846ee28c429e7 (patch)
treee33475baa95a388ff036a13f8a0c590b95f0fcb3 /otherlibs/num
parentc7d7103646aa5078d326a78c3d0f51709d38f579 (diff)
downloadocaml-85b75d7963febd9f31a3fbf52a7846ee28c429e7.tar.gz
PR#6494: Add equal function in modules Big_int, Bytes, Char, Digest, Int32, Int64, Nativeint, Num and String
(Romain Calascibetta) From: Romain Calascibetta <romain.calascibetta@gmail.com> git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15725 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Diffstat (limited to 'otherlibs/num')
-rw-r--r--otherlibs/num/big_int.ml2
-rw-r--r--otherlibs/num/big_int.mli2
-rw-r--r--otherlibs/num/num.ml2
-rw-r--r--otherlibs/num/num.mli4
4 files changed, 10 insertions, 0 deletions
diff --git a/otherlibs/num/big_int.ml b/otherlibs/num/big_int.ml
index 847d158324..36e40f4dd4 100644
--- a/otherlibs/num/big_int.ml
+++ b/otherlibs/num/big_int.ml
@@ -70,6 +70,8 @@ let compare_big_int bi1 bi2 =
compare_nat (bi2.abs_value) 0 (num_digits_big_int bi2)
(bi1.abs_value) 0 (num_digits_big_int bi1)
+let equal bi1 bi2 = compare_big_int bi1 bi2 = 0
+
let eq_big_int bi1 bi2 = compare_big_int bi1 bi2 = 0
and le_big_int bi1 bi2 = compare_big_int bi1 bi2 <= 0
and ge_big_int bi1 bi2 = compare_big_int bi1 bi2 >= 0
diff --git a/otherlibs/num/big_int.mli b/otherlibs/num/big_int.mli
index 738730a79a..09f4514203 100644
--- a/otherlibs/num/big_int.mli
+++ b/otherlibs/num/big_int.mli
@@ -86,6 +86,8 @@ val compare_big_int : big_int -> big_int -> int
(** [compare_big_int a b] returns [0] if [a] and [b] are equal,
[1] if [a] is greater than [b], and [-1] if [a] is smaller
than [b]. *)
+val equal : big_int -> big_int -> bool
+ (** The equal function for big ints. @since 4.03.0 *)
val eq_big_int : big_int -> big_int -> bool
val le_big_int : big_int -> big_int -> bool
val ge_big_int : big_int -> big_int -> bool
diff --git a/otherlibs/num/num.ml b/otherlibs/num/num.ml
index 67499e2674..67cc16c0b6 100644
--- a/otherlibs/num/num.ml
+++ b/otherlibs/num/num.ml
@@ -330,6 +330,8 @@ and le_num num1 num2 = compare_num num1 num2 <= 0
and gt_num num1 num2 = compare_num num1 num2 > 0
and ge_num num1 num2 = compare_num num1 num2 >= 0
+let equal a b = compare_num a b = 0
+
let ( </ ) = lt_num
and ( <=/ ) = le_num
and ( >/ ) = gt_num
diff --git a/otherlibs/num/num.mli b/otherlibs/num/num.mli
index 6425085e63..a43929ef2b 100644
--- a/otherlibs/num/num.mli
+++ b/otherlibs/num/num.mli
@@ -129,6 +129,10 @@ val compare_num : num -> num -> int
(** Return [-1], [0] or [1] if the first argument is less than,
equal to, or greater than the second argument. *)
+val equal : num -> num -> bool
+(** The equal function for nums.
+ @since 4.03.0 *)
+
val max_num : num -> num -> num
(** Return the greater of the two arguments. *)