From a951e06921f05df1601d9c3a39efcede27f3330c Mon Sep 17 00:00:00 2001 From: Sylvain Henry Date: Thu, 8 Apr 2021 13:46:35 +0200 Subject: Bignum: add BigNat Eq/Ord instances (#19647) --- libraries/ghc-bignum/src/GHC/Num/BigNat.hs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/libraries/ghc-bignum/src/GHC/Num/BigNat.hs b/libraries/ghc-bignum/src/GHC/Num/BigNat.hs index bd3137a116..d838f3fa93 100644 --- a/libraries/ghc-bignum/src/GHC/Num/BigNat.hs +++ b/libraries/ghc-bignum/src/GHC/Num/BigNat.hs @@ -1595,3 +1595,19 @@ bigNatFromWordArray# wa n0 -- /without/ cloning the 'WordArray#' into a newly allocated one) bigNatFromWordArray :: WordArray# -> Word# -> BigNat bigNatFromWordArray wa n = BN# (bigNatFromWordArray# wa n) + +------------------------------------------------- +-- Instances +------------------------------------------------- + +instance Eq BigNat where + BN# a == BN# b = bigNatEq a b + BN# a /= BN# b = bigNatNe a b + +instance Ord BigNat where + (BN# a) `compare` (BN# b) = bigNatCompare a b + BN# a < BN# b = bigNatLt a b + BN# a <= BN# b = bigNatLe a b + BN# a > BN# b = bigNatGt a b + BN# a >= BN# b = bigNatGe a b + -- cgit v1.2.1