[Git][ghc/ghc][wip/clyring/ghc-bignum-exports] 2 commits: Add interface-stability test for ghc-bignum
Matthew Craven (@clyring)
gitlab at gitlab.haskell.org
Sun Mar 16 00:04:58 UTC 2025
Matthew Craven pushed to branch wip/clyring/ghc-bignum-exports at Glasgow Haskell Compiler / GHC
Commits:
bf61735f by Matthew Craven at 2025-03-15T19:59:38-04:00
Add interface-stability test for ghc-bignum
As with ghc-prim, it makes sense to have some protection against
accidental interface changes to this package caused by changes
in ghc-internal.
- - - - -
95c7cd9e by Matthew Craven at 2025-03-15T20:02:04-04:00
Add README reference for the interface-stability tests
- - - - -
4 changed files:
- testsuite/tests/interface-stability/README.mkd
- testsuite/tests/interface-stability/all.T
- + testsuite/tests/interface-stability/ghc-bignum-exports.stdout
- utils/dump-decls/Main.hs
Changes:
=====================================
testsuite/tests/interface-stability/README.mkd
=====================================
@@ -9,6 +9,7 @@ following packages:
* `ghc-experimental`
* `template-haskell`
* `ghc-prim`
+ * `ghc-bignum`
These are compared against the expected exports in the test's corresponding
`.stdout` file.
=====================================
testsuite/tests/interface-stability/all.T
=====================================
@@ -7,7 +7,9 @@ def check_package(pkg_name):
makefile_test,
[f'exports_{pkg_name}'])
+# About these tests: see README.mkd in this directory
check_package('base')
check_package('ghc-experimental')
check_package('template-haskell')
check_package('ghc-prim')
+check_package('ghc-bignum')
=====================================
testsuite/tests/interface-stability/ghc-bignum-exports.stdout
=====================================
@@ -0,0 +1,502 @@
+
+module GHC.Num.Backend where
+
+-- ignored
+
+
+module GHC.Num.Backend.Native where
+ -- Safety: None
+ backendName :: [GHC.Internal.Types.Char]
+ bignat_add :: forall s. GHC.Internal.Bignum.WordArray.MutableWordArray# s -> GHC.Internal.Bignum.WordArray.WordArray# -> GHC.Internal.Bignum.WordArray.WordArray# -> GHC.Internal.Prim.State# s -> GHC.Internal.Prim.State# s
+ bignat_add_word :: GHC.Internal.Bignum.WordArray.MutableWordArray# GHC.Internal.Prim.RealWorld -> GHC.Internal.Bignum.WordArray.WordArray# -> GHC.Internal.Prim.Word# -> GHC.Internal.Prim.State# GHC.Internal.Prim.RealWorld -> GHC.Internal.Prim.State# GHC.Internal.Prim.RealWorld
+ bignat_and :: GHC.Internal.Bignum.WordArray.MutableWordArray# GHC.Internal.Prim.RealWorld -> GHC.Internal.Bignum.WordArray.WordArray# -> GHC.Internal.Bignum.WordArray.WordArray# -> GHC.Internal.Prim.State# GHC.Internal.Prim.RealWorld -> GHC.Internal.Prim.State# GHC.Internal.Prim.RealWorld
+ bignat_and_not :: GHC.Internal.Bignum.WordArray.MutableWordArray# GHC.Internal.Prim.RealWorld -> GHC.Internal.Bignum.WordArray.WordArray# -> GHC.Internal.Bignum.WordArray.WordArray# -> GHC.Internal.Prim.State# GHC.Internal.Prim.RealWorld -> GHC.Internal.Prim.State# GHC.Internal.Prim.RealWorld
+ bignat_compare :: GHC.Internal.Bignum.WordArray.WordArray# -> GHC.Internal.Bignum.WordArray.WordArray# -> GHC.Internal.Prim.Int#
+ bignat_encode_double :: GHC.Internal.Bignum.WordArray.WordArray# -> GHC.Internal.Prim.Int# -> GHC.Internal.Prim.Double#
+ bignat_gcd :: forall s. GHC.Internal.Bignum.WordArray.MutableWordArray# s -> GHC.Internal.Bignum.WordArray.WordArray# -> GHC.Internal.Bignum.WordArray.WordArray# -> GHC.Internal.Prim.State# s -> GHC.Internal.Prim.State# s
+ bignat_gcd_word :: GHC.Internal.Bignum.WordArray.WordArray# -> GHC.Internal.Prim.Word# -> GHC.Internal.Prim.Word#
+ bignat_gcd_word_word :: GHC.Internal.Prim.Word# -> GHC.Internal.Prim.Word# -> GHC.Internal.Prim.Word#
+ bignat_mul :: GHC.Internal.Bignum.WordArray.MutableWordArray# GHC.Internal.Prim.RealWorld -> GHC.Internal.Bignum.WordArray.WordArray# -> GHC.Internal.Bignum.WordArray.WordArray# -> GHC.Internal.Prim.State# GHC.Internal.Prim.RealWorld -> GHC.Internal.Prim.State# GHC.Internal.Prim.RealWorld
+ bignat_mul_word :: GHC.Internal.Bignum.WordArray.MutableWordArray# GHC.Internal.Prim.RealWorld -> GHC.Internal.Bignum.WordArray.WordArray# -> GHC.Internal.Prim.Word# -> GHC.Internal.Prim.State# GHC.Internal.Prim.RealWorld -> GHC.Internal.Prim.State# GHC.Internal.Prim.RealWorld
+ bignat_or :: GHC.Internal.Bignum.WordArray.MutableWordArray# GHC.Internal.Prim.RealWorld -> GHC.Internal.Bignum.WordArray.WordArray# -> GHC.Internal.Bignum.WordArray.WordArray# -> GHC.Internal.Prim.State# GHC.Internal.Prim.RealWorld -> GHC.Internal.Prim.State# GHC.Internal.Prim.RealWorld
+ bignat_popcount :: GHC.Internal.Bignum.WordArray.WordArray# -> GHC.Internal.Prim.Word#
+ bignat_powmod :: GHC.Internal.Bignum.WordArray.MutableWordArray# GHC.Internal.Prim.RealWorld -> GHC.Internal.Bignum.WordArray.WordArray# -> GHC.Internal.Bignum.WordArray.WordArray# -> GHC.Internal.Bignum.WordArray.WordArray# -> GHC.Internal.Prim.State# GHC.Internal.Prim.RealWorld -> GHC.Internal.Prim.State# GHC.Internal.Prim.RealWorld
+ bignat_powmod_word :: GHC.Internal.Bignum.WordArray.WordArray# -> GHC.Internal.Bignum.WordArray.WordArray# -> GHC.Internal.Prim.Word# -> GHC.Internal.Prim.Word#
+ bignat_powmod_words :: GHC.Internal.Prim.Word# -> GHC.Internal.Prim.Word# -> GHC.Internal.Prim.Word# -> GHC.Internal.Prim.Word#
+ bignat_quot :: GHC.Internal.Bignum.WordArray.MutableWordArray# GHC.Internal.Prim.RealWorld -> GHC.Internal.Bignum.WordArray.WordArray# -> GHC.Internal.Bignum.WordArray.WordArray# -> GHC.Internal.Prim.State# GHC.Internal.Prim.RealWorld -> GHC.Internal.Prim.State# GHC.Internal.Prim.RealWorld
+ bignat_quot_word :: forall s. GHC.Internal.Bignum.WordArray.MutableWordArray# s -> GHC.Internal.Bignum.WordArray.WordArray# -> GHC.Internal.Prim.Word# -> GHC.Internal.Prim.State# s -> GHC.Internal.Prim.State# s
+ bignat_quotrem :: forall s. GHC.Internal.Bignum.WordArray.MutableWordArray# s -> GHC.Internal.Bignum.WordArray.MutableWordArray# s -> GHC.Internal.Bignum.WordArray.WordArray# -> GHC.Internal.Bignum.WordArray.WordArray# -> GHC.Internal.Prim.State# s -> GHC.Internal.Prim.State# s
+ bignat_quotrem_normalized :: forall s. GHC.Internal.Bignum.WordArray.MutableWordArray# s -> GHC.Internal.Bignum.WordArray.MutableWordArray# s -> GHC.Internal.Bignum.WordArray.WordArray# -> GHC.Internal.Prim.State# s -> GHC.Internal.Prim.State# s
+ bignat_quotrem_word :: forall s. GHC.Internal.Bignum.WordArray.MutableWordArray# s -> GHC.Internal.Bignum.WordArray.WordArray# -> GHC.Internal.Prim.Word# -> GHC.Internal.Prim.State# s -> (# GHC.Internal.Prim.State# s, GHC.Internal.Prim.Word# #)
+ bignat_rem :: GHC.Internal.Bignum.WordArray.MutableWordArray# GHC.Internal.Prim.RealWorld -> GHC.Internal.Bignum.WordArray.WordArray# -> GHC.Internal.Bignum.WordArray.WordArray# -> GHC.Internal.Prim.State# GHC.Internal.Prim.RealWorld -> GHC.Internal.Prim.State# GHC.Internal.Prim.RealWorld
+ bignat_rem_word :: GHC.Internal.Bignum.WordArray.WordArray# -> GHC.Internal.Prim.Word# -> GHC.Internal.Prim.Word#
+ bignat_shiftl :: forall s. GHC.Internal.Bignum.WordArray.MutableWordArray# s -> GHC.Internal.Bignum.WordArray.WordArray# -> GHC.Internal.Prim.Word# -> GHC.Internal.Prim.State# s -> GHC.Internal.Prim.State# s
+ bignat_shiftr :: forall s. GHC.Internal.Bignum.WordArray.MutableWordArray# s -> GHC.Internal.Bignum.WordArray.WordArray# -> GHC.Internal.Prim.Word# -> GHC.Internal.Prim.State# s -> GHC.Internal.Prim.State# s
+ bignat_shiftr_neg :: forall s. GHC.Internal.Bignum.WordArray.MutableWordArray# s -> GHC.Internal.Bignum.WordArray.WordArray# -> GHC.Internal.Prim.Word# -> GHC.Internal.Prim.State# s -> GHC.Internal.Prim.State# s
+ bignat_sub :: GHC.Internal.Bignum.WordArray.MutableWordArray# GHC.Internal.Prim.RealWorld -> GHC.Internal.Bignum.WordArray.WordArray# -> GHC.Internal.Bignum.WordArray.WordArray# -> GHC.Internal.Prim.State# GHC.Internal.Prim.RealWorld -> (# GHC.Internal.Prim.State# GHC.Internal.Prim.RealWorld, GHC.Internal.Bignum.Primitives.Bool# #)
+ bignat_sub_word :: GHC.Internal.Bignum.WordArray.MutableWordArray# GHC.Internal.Prim.RealWorld -> GHC.Internal.Bignum.WordArray.WordArray# -> GHC.Internal.Prim.Word# -> GHC.Internal.Prim.State# GHC.Internal.Prim.RealWorld -> (# GHC.Internal.Prim.State# GHC.Internal.Prim.RealWorld, GHC.Internal.Bignum.Primitives.Bool# #)
+ bignat_xor :: GHC.Internal.Bignum.WordArray.MutableWordArray# GHC.Internal.Prim.RealWorld -> GHC.Internal.Bignum.WordArray.WordArray# -> GHC.Internal.Bignum.WordArray.WordArray# -> GHC.Internal.Prim.State# GHC.Internal.Prim.RealWorld -> GHC.Internal.Prim.State# GHC.Internal.Prim.RealWorld
+ count_words_bits :: GHC.Internal.Prim.Word# -> (# GHC.Internal.Prim.Word#, GHC.Internal.Prim.Word# #)
+ count_words_bits_int :: GHC.Internal.Prim.Word# -> (# GHC.Internal.Prim.Int#, GHC.Internal.Prim.Int# #)
+ integer_gcde :: GHC.Internal.Bignum.Integer.Integer -> GHC.Internal.Bignum.Integer.Integer -> (# GHC.Internal.Bignum.Integer.Integer, GHC.Internal.Bignum.Integer.Integer, GHC.Internal.Bignum.Integer.Integer #)
+ integer_powmod :: GHC.Internal.Bignum.Integer.Integer -> GHC.Internal.Bignum.Natural.Natural -> GHC.Internal.Bignum.Natural.Natural -> GHC.Internal.Bignum.Natural.Natural
+ integer_recip_mod :: GHC.Internal.Bignum.Integer.Integer -> GHC.Internal.Bignum.Natural.Natural -> (# GHC.Internal.Bignum.Natural.Natural | () #)
+
+module GHC.Num.Backend.Selected where
+
+-- ignored
+
+
+module GHC.Num.BigNat where
+ -- Safety: None
+ type BigNat :: *
+ data BigNat = BN# {unBigNat :: BigNat#}
+ type BigNat# :: GHC.Internal.Types.UnliftedType
+ type BigNat# = GHC.Internal.Bignum.WordArray.WordArray#
+ bigNatAdd :: BigNat# -> BigNat# -> BigNat#
+ bigNatAddWord :: BigNat# -> GHC.Internal.Types.Word -> BigNat#
+ bigNatAddWord# :: BigNat# -> GHC.Internal.Prim.Word# -> BigNat#
+ bigNatAnd :: BigNat# -> BigNat# -> BigNat#
+ bigNatAndInt# :: BigNat# -> GHC.Internal.Prim.Int# -> BigNat#
+ bigNatAndNot :: BigNat# -> BigNat# -> BigNat#
+ bigNatAndNotWord# :: BigNat# -> GHC.Internal.Prim.Word# -> BigNat#
+ bigNatAndWord# :: BigNat# -> GHC.Internal.Prim.Word# -> BigNat#
+ bigNatBit :: GHC.Internal.Types.Word -> BigNat#
+ bigNatBit# :: GHC.Internal.Prim.Word# -> BigNat#
+ bigNatCheck :: BigNat# -> GHC.Internal.Types.Bool
+ bigNatCheck# :: BigNat# -> GHC.Internal.Bignum.Primitives.Bool#
+ bigNatClearBit# :: BigNat# -> GHC.Internal.Prim.Word# -> BigNat#
+ bigNatCompare :: BigNat# -> BigNat# -> GHC.Internal.Types.Ordering
+ bigNatCompareWord :: BigNat# -> GHC.Internal.Types.Word -> GHC.Internal.Types.Ordering
+ bigNatCompareWord# :: BigNat# -> GHC.Internal.Prim.Word# -> GHC.Internal.Types.Ordering
+ bigNatComplementBit# :: BigNat# -> GHC.Internal.Prim.Word# -> BigNat#
+ bigNatCtz :: BigNat# -> GHC.Internal.Types.Word
+ bigNatCtz# :: BigNat# -> GHC.Internal.Prim.Word#
+ bigNatCtzWord :: BigNat# -> GHC.Internal.Types.Word
+ bigNatCtzWord# :: BigNat# -> GHC.Internal.Prim.Word#
+ bigNatEncodeDouble# :: BigNat# -> GHC.Internal.Prim.Int# -> GHC.Internal.Prim.Double#
+ bigNatEq :: BigNat# -> BigNat# -> GHC.Internal.Types.Bool
+ bigNatEq# :: BigNat# -> BigNat# -> GHC.Internal.Bignum.Primitives.Bool#
+ bigNatEqWord# :: BigNat# -> GHC.Internal.Prim.Word# -> GHC.Internal.Bignum.Primitives.Bool#
+ bigNatFromAbsInt# :: GHC.Internal.Prim.Int# -> BigNat#
+ bigNatFromAddr# :: forall s. GHC.Internal.Prim.Word# -> GHC.Internal.Prim.Addr# -> GHC.Internal.Bignum.Primitives.Bool# -> GHC.Internal.Prim.State# s -> (# GHC.Internal.Prim.State# s, BigNat# #)
+ bigNatFromAddrBE# :: forall s. GHC.Internal.Prim.Word# -> GHC.Internal.Prim.Addr# -> GHC.Internal.Prim.State# s -> (# GHC.Internal.Prim.State# s, BigNat# #)
+ bigNatFromAddrLE# :: forall s. GHC.Internal.Prim.Word# -> GHC.Internal.Prim.Addr# -> GHC.Internal.Prim.State# s -> (# GHC.Internal.Prim.State# s, BigNat# #)
+ bigNatFromByteArray# :: forall s. GHC.Internal.Prim.Word# -> GHC.Internal.Prim.ByteArray# -> GHC.Internal.Prim.Word# -> GHC.Internal.Bignum.Primitives.Bool# -> GHC.Internal.Prim.State# s -> (# GHC.Internal.Prim.State# s, BigNat# #)
+ bigNatFromByteArrayBE# :: forall s. GHC.Internal.Prim.Word# -> GHC.Internal.Prim.ByteArray# -> GHC.Internal.Prim.Word# -> GHC.Internal.Prim.State# s -> (# GHC.Internal.Prim.State# s, BigNat# #)
+ bigNatFromByteArrayLE# :: forall s. GHC.Internal.Prim.Word# -> GHC.Internal.Prim.ByteArray# -> GHC.Internal.Prim.Word# -> GHC.Internal.Prim.State# s -> (# GHC.Internal.Prim.State# s, BigNat# #)
+ bigNatFromWord :: GHC.Internal.Types.Word -> BigNat#
+ bigNatFromWord# :: GHC.Internal.Prim.Word# -> BigNat#
+ bigNatFromWord2# :: GHC.Internal.Prim.Word# -> GHC.Internal.Prim.Word# -> BigNat#
+ bigNatFromWord64# :: GHC.Internal.Prim.Word64# -> BigNat#
+ bigNatFromWordArray :: GHC.Internal.Bignum.WordArray.WordArray# -> GHC.Internal.Prim.Word# -> BigNat
+ bigNatFromWordArray# :: GHC.Internal.Bignum.WordArray.WordArray# -> GHC.Internal.Prim.Word# -> BigNat#
+ bigNatFromWordList :: [GHC.Internal.Types.Word] -> BigNat#
+ bigNatFromWordList# :: [GHC.Internal.Types.Word] -> GHC.Internal.Bignum.WordArray.WordArray#
+ bigNatFromWordListUnsafe :: [GHC.Internal.Types.Word] -> BigNat#
+ bigNatGcd :: BigNat# -> BigNat# -> BigNat#
+ bigNatGcdWord# :: BigNat# -> GHC.Internal.Prim.Word# -> GHC.Internal.Prim.Word#
+ bigNatGe :: BigNat# -> BigNat# -> GHC.Internal.Types.Bool
+ bigNatGe# :: BigNat# -> BigNat# -> GHC.Internal.Bignum.Primitives.Bool#
+ bigNatGt :: BigNat# -> BigNat# -> GHC.Internal.Types.Bool
+ bigNatGt# :: BigNat# -> BigNat# -> GHC.Internal.Bignum.Primitives.Bool#
+ bigNatGtWord :: BigNat# -> GHC.Internal.Types.Word -> GHC.Internal.Types.Bool
+ bigNatGtWord# :: BigNat# -> GHC.Internal.Prim.Word# -> GHC.Internal.Bignum.Primitives.Bool#
+ bigNatIndex :: BigNat# -> GHC.Internal.Prim.Int# -> GHC.Internal.Types.Word
+ bigNatIndex# :: BigNat# -> GHC.Internal.Prim.Int# -> GHC.Internal.Prim.Word#
+ bigNatIsOne :: BigNat# -> GHC.Internal.Types.Bool
+ bigNatIsOne# :: BigNat# -> GHC.Internal.Bignum.Primitives.Bool#
+ bigNatIsPowerOf2# :: BigNat# -> (# (# #) | GHC.Internal.Prim.Word# #)
+ bigNatIsTwo :: BigNat# -> GHC.Internal.Types.Bool
+ bigNatIsTwo# :: BigNat# -> GHC.Internal.Bignum.Primitives.Bool#
+ bigNatIsZero :: BigNat# -> GHC.Internal.Types.Bool
+ bigNatIsZero# :: BigNat# -> GHC.Internal.Bignum.Primitives.Bool#
+ bigNatLcm :: BigNat# -> BigNat# -> BigNat#
+ bigNatLcmWord# :: BigNat# -> GHC.Internal.Prim.Word# -> BigNat#
+ bigNatLcmWordWord# :: GHC.Internal.Prim.Word# -> GHC.Internal.Prim.Word# -> BigNat#
+ bigNatLe :: BigNat# -> BigNat# -> GHC.Internal.Types.Bool
+ bigNatLe# :: BigNat# -> BigNat# -> GHC.Internal.Bignum.Primitives.Bool#
+ bigNatLeWord :: BigNat# -> GHC.Internal.Types.Word -> GHC.Internal.Types.Bool
+ bigNatLeWord# :: BigNat# -> GHC.Internal.Prim.Word# -> GHC.Internal.Bignum.Primitives.Bool#
+ bigNatLog2 :: BigNat# -> GHC.Internal.Types.Word
+ bigNatLog2# :: BigNat# -> GHC.Internal.Prim.Word#
+ bigNatLogBase :: BigNat# -> BigNat# -> GHC.Internal.Types.Word
+ bigNatLogBase# :: BigNat# -> BigNat# -> GHC.Internal.Prim.Word#
+ bigNatLogBaseWord :: GHC.Internal.Types.Word -> BigNat# -> GHC.Internal.Types.Word
+ bigNatLogBaseWord# :: GHC.Internal.Prim.Word# -> BigNat# -> GHC.Internal.Prim.Word#
+ bigNatLt :: BigNat# -> BigNat# -> GHC.Internal.Types.Bool
+ bigNatLt# :: BigNat# -> BigNat# -> GHC.Internal.Bignum.Primitives.Bool#
+ bigNatMul :: BigNat# -> BigNat# -> BigNat#
+ bigNatMulWord :: BigNat# -> GHC.Internal.Types.Word -> BigNat#
+ bigNatMulWord# :: BigNat# -> GHC.Internal.Prim.Word# -> BigNat#
+ bigNatNe :: BigNat# -> BigNat# -> GHC.Internal.Types.Bool
+ bigNatNe# :: BigNat# -> BigNat# -> GHC.Internal.Bignum.Primitives.Bool#
+ bigNatOne :: BigNat
+ bigNatOne# :: (# #) -> BigNat#
+ bigNatOr :: BigNat# -> BigNat# -> BigNat#
+ bigNatOrWord# :: BigNat# -> GHC.Internal.Prim.Word# -> BigNat#
+ bigNatPopCount :: BigNat# -> GHC.Internal.Types.Word
+ bigNatPopCount# :: BigNat# -> GHC.Internal.Prim.Word#
+ bigNatPowMod :: BigNat# -> BigNat# -> BigNat# -> BigNat#
+ bigNatPowModWord# :: BigNat# -> BigNat# -> GHC.Internal.Prim.Word# -> GHC.Internal.Prim.Word#
+ bigNatQuot :: BigNat# -> BigNat# -> BigNat#
+ bigNatQuotRem# :: BigNat# -> BigNat# -> (# BigNat#, BigNat# #)
+ bigNatQuotRemWord# :: BigNat# -> GHC.Internal.Prim.Word# -> (# BigNat#, GHC.Internal.Prim.Word# #)
+ bigNatQuotWord :: BigNat# -> GHC.Internal.Types.Word -> BigNat#
+ bigNatQuotWord# :: BigNat# -> GHC.Internal.Prim.Word# -> BigNat#
+ bigNatRem :: BigNat# -> BigNat# -> BigNat#
+ bigNatRemWord :: BigNat# -> GHC.Internal.Types.Word -> GHC.Internal.Types.Word
+ bigNatRemWord# :: BigNat# -> GHC.Internal.Prim.Word# -> GHC.Internal.Prim.Word#
+ bigNatSetBit# :: BigNat# -> GHC.Internal.Prim.Word# -> BigNat#
+ bigNatShiftL :: BigNat# -> GHC.Internal.Types.Word -> BigNat#
+ bigNatShiftL# :: BigNat# -> GHC.Internal.Prim.Word# -> BigNat#
+ bigNatShiftR :: BigNat# -> GHC.Internal.Types.Word -> BigNat#
+ bigNatShiftR# :: BigNat# -> GHC.Internal.Prim.Word# -> BigNat#
+ bigNatShiftRNeg# :: BigNat# -> GHC.Internal.Prim.Word# -> BigNat#
+ bigNatSize :: BigNat# -> GHC.Internal.Types.Word
+ bigNatSize# :: BigNat# -> GHC.Internal.Prim.Int#
+ bigNatSizeInBase :: GHC.Internal.Types.Word -> BigNat# -> GHC.Internal.Types.Word
+ bigNatSizeInBase# :: GHC.Internal.Prim.Word# -> BigNat# -> GHC.Internal.Prim.Word#
+ bigNatSqr :: BigNat# -> BigNat#
+ bigNatSub :: BigNat# -> BigNat# -> (# (# #) | BigNat# #)
+ bigNatSubUnsafe :: BigNat# -> BigNat# -> BigNat#
+ bigNatSubWord# :: BigNat# -> GHC.Internal.Prim.Word# -> (# (# #) | BigNat# #)
+ bigNatSubWordUnsafe :: BigNat# -> GHC.Internal.Types.Word -> BigNat#
+ bigNatSubWordUnsafe# :: BigNat# -> GHC.Internal.Prim.Word# -> BigNat#
+ bigNatTestBit :: BigNat# -> GHC.Internal.Types.Word -> GHC.Internal.Types.Bool
+ bigNatTestBit# :: BigNat# -> GHC.Internal.Prim.Word# -> GHC.Internal.Bignum.Primitives.Bool#
+ bigNatToAddr :: BigNat# -> GHC.Internal.Prim.Addr# -> GHC.Internal.Bignum.Primitives.Bool# -> GHC.Internal.Types.IO GHC.Internal.Types.Word
+ bigNatToAddr# :: forall s. BigNat# -> GHC.Internal.Prim.Addr# -> GHC.Internal.Bignum.Primitives.Bool# -> GHC.Internal.Prim.State# s -> (# GHC.Internal.Prim.State# s, GHC.Internal.Prim.Word# #)
+ bigNatToAddrBE# :: forall s. BigNat# -> GHC.Internal.Prim.Addr# -> GHC.Internal.Prim.State# s -> (# GHC.Internal.Prim.State# s, GHC.Internal.Prim.Word# #)
+ bigNatToAddrLE# :: forall s. BigNat# -> GHC.Internal.Prim.Addr# -> GHC.Internal.Prim.State# s -> (# GHC.Internal.Prim.State# s, GHC.Internal.Prim.Word# #)
+ bigNatToInt :: BigNat# -> GHC.Internal.Types.Int
+ bigNatToInt# :: BigNat# -> GHC.Internal.Prim.Int#
+ bigNatToMutableByteArray# :: forall s. BigNat# -> GHC.Internal.Prim.MutableByteArray# s -> GHC.Internal.Prim.Word# -> GHC.Internal.Bignum.Primitives.Bool# -> GHC.Internal.Prim.State# s -> (# GHC.Internal.Prim.State# s, GHC.Internal.Prim.Word# #)
+ bigNatToMutableByteArrayBE# :: forall s. BigNat# -> GHC.Internal.Prim.MutableByteArray# s -> GHC.Internal.Prim.Word# -> GHC.Internal.Prim.State# s -> (# GHC.Internal.Prim.State# s, GHC.Internal.Prim.Word# #)
+ bigNatToMutableByteArrayLE# :: forall s. BigNat# -> GHC.Internal.Prim.MutableByteArray# s -> GHC.Internal.Prim.Word# -> GHC.Internal.Prim.State# s -> (# GHC.Internal.Prim.State# s, GHC.Internal.Prim.Word# #)
+ bigNatToWord :: BigNat# -> GHC.Internal.Types.Word
+ bigNatToWord# :: BigNat# -> GHC.Internal.Prim.Word#
+ bigNatToWord64# :: BigNat# -> GHC.Internal.Prim.Word64#
+ bigNatToWordList :: BigNat# -> [GHC.Internal.Types.Word]
+ bigNatToWordMaybe# :: BigNat# -> (# (# #) | GHC.Internal.Prim.Word# #)
+ bigNatXor :: BigNat# -> BigNat# -> BigNat#
+ bigNatXorWord# :: BigNat# -> GHC.Internal.Prim.Word# -> BigNat#
+ bigNatZero :: BigNat
+ bigNatZero# :: (# #) -> BigNat#
+ gcdInt :: GHC.Internal.Types.Int -> GHC.Internal.Types.Int -> GHC.Internal.Types.Int
+ gcdInt# :: GHC.Internal.Prim.Int# -> GHC.Internal.Prim.Int# -> GHC.Internal.Prim.Int#
+ gcdWord :: GHC.Internal.Types.Word -> GHC.Internal.Types.Word -> GHC.Internal.Types.Word
+ gcdWord# :: GHC.Internal.Prim.Word# -> GHC.Internal.Prim.Word# -> GHC.Internal.Prim.Word#
+ powModWord# :: GHC.Internal.Prim.Word# -> GHC.Internal.Prim.Word# -> GHC.Internal.Prim.Word# -> GHC.Internal.Prim.Word#
+ raiseDivZero_BigNat :: (# #) -> BigNat#
+
+module GHC.Num.Integer where
+ -- Safety: None
+ type Integer :: *
+ data Integer = IS GHC.Internal.Prim.Int# | IP GHC.Internal.Prim.ByteArray# | IN GHC.Internal.Prim.ByteArray#
+ integerAbs :: Integer -> Integer
+ integerAdd :: Integer -> Integer -> Integer
+ integerAnd :: Integer -> Integer -> Integer
+ integerBit :: GHC.Internal.Types.Word -> Integer
+ integerBit# :: GHC.Internal.Prim.Word# -> Integer
+ integerCheck :: Integer -> GHC.Internal.Types.Bool
+ integerCheck# :: Integer -> GHC.Internal.Bignum.Primitives.Bool#
+ integerCompare :: Integer -> Integer -> GHC.Internal.Types.Ordering
+ integerComplement :: Integer -> Integer
+ integerDecodeDouble# :: GHC.Internal.Prim.Double# -> (# Integer, GHC.Internal.Prim.Int# #)
+ integerDiv :: Integer -> Integer -> Integer
+ integerDivMod :: Integer -> Integer -> (Integer, Integer)
+ integerDivMod# :: Integer -> Integer -> (# Integer, Integer #)
+ integerEncodeDouble :: Integer -> GHC.Internal.Types.Int -> GHC.Internal.Types.Double
+ integerEncodeDouble# :: Integer -> GHC.Internal.Prim.Int# -> GHC.Internal.Prim.Double#
+ integerEncodeFloat# :: Integer -> GHC.Internal.Prim.Int# -> GHC.Internal.Prim.Float#
+ integerEq :: Integer -> Integer -> GHC.Internal.Types.Bool
+ integerEq# :: Integer -> Integer -> GHC.Internal.Bignum.Primitives.Bool#
+ integerFromAddr :: GHC.Internal.Prim.Word# -> GHC.Internal.Prim.Addr# -> GHC.Internal.Bignum.Primitives.Bool# -> GHC.Internal.Types.IO Integer
+ integerFromAddr# :: forall s. GHC.Internal.Prim.Word# -> GHC.Internal.Prim.Addr# -> GHC.Internal.Bignum.Primitives.Bool# -> GHC.Internal.Prim.State# s -> (# GHC.Internal.Prim.State# s, Integer #)
+ integerFromBigNat# :: GHC.Internal.Bignum.BigNat.BigNat# -> Integer
+ integerFromBigNatNeg# :: GHC.Internal.Bignum.BigNat.BigNat# -> Integer
+ integerFromBigNatSign# :: GHC.Internal.Prim.Int# -> GHC.Internal.Bignum.BigNat.BigNat# -> Integer
+ integerFromByteArray :: GHC.Internal.Prim.Word# -> GHC.Internal.Prim.ByteArray# -> GHC.Internal.Prim.Word# -> GHC.Internal.Bignum.Primitives.Bool# -> Integer
+ integerFromByteArray# :: forall s. GHC.Internal.Prim.Word# -> GHC.Internal.Prim.ByteArray# -> GHC.Internal.Prim.Word# -> GHC.Internal.Bignum.Primitives.Bool# -> GHC.Internal.Prim.State# s -> (# GHC.Internal.Prim.State# s, Integer #)
+ integerFromInt :: GHC.Internal.Types.Int -> Integer
+ integerFromInt# :: GHC.Internal.Prim.Int# -> Integer
+ integerFromInt64# :: GHC.Internal.Prim.Int64# -> Integer
+ integerFromNatural :: GHC.Internal.Bignum.Natural.Natural -> Integer
+ integerFromWord :: GHC.Internal.Types.Word -> Integer
+ integerFromWord# :: GHC.Internal.Prim.Word# -> Integer
+ integerFromWord64# :: GHC.Internal.Prim.Word64# -> Integer
+ integerFromWordList :: GHC.Internal.Types.Bool -> [GHC.Internal.Types.Word] -> Integer
+ integerFromWordNeg# :: GHC.Internal.Prim.Word# -> Integer
+ integerFromWordSign# :: GHC.Internal.Prim.Int# -> GHC.Internal.Prim.Word# -> Integer
+ integerGcd :: Integer -> Integer -> Integer
+ integerGcde :: Integer -> Integer -> (Integer, Integer, Integer)
+ integerGcde# :: Integer -> Integer -> (# Integer, Integer, Integer #)
+ integerGe :: Integer -> Integer -> GHC.Internal.Types.Bool
+ integerGe# :: Integer -> Integer -> GHC.Internal.Bignum.Primitives.Bool#
+ integerGt :: Integer -> Integer -> GHC.Internal.Types.Bool
+ integerGt# :: Integer -> Integer -> GHC.Internal.Bignum.Primitives.Bool#
+ integerIsNegative :: Integer -> GHC.Internal.Types.Bool
+ integerIsNegative# :: Integer -> GHC.Internal.Bignum.Primitives.Bool#
+ integerIsOne :: Integer -> GHC.Internal.Types.Bool
+ integerIsPowerOf2# :: Integer -> (# (# #) | GHC.Internal.Prim.Word# #)
+ integerIsZero :: Integer -> GHC.Internal.Types.Bool
+ integerLcm :: Integer -> Integer -> Integer
+ integerLe :: Integer -> Integer -> GHC.Internal.Types.Bool
+ integerLe# :: Integer -> Integer -> GHC.Internal.Bignum.Primitives.Bool#
+ integerLog2 :: Integer -> GHC.Internal.Types.Word
+ integerLog2# :: Integer -> GHC.Internal.Prim.Word#
+ integerLogBase :: Integer -> Integer -> GHC.Internal.Types.Word
+ integerLogBase# :: Integer -> Integer -> GHC.Internal.Prim.Word#
+ integerLogBaseWord :: GHC.Internal.Types.Word -> Integer -> GHC.Internal.Types.Word
+ integerLogBaseWord# :: GHC.Internal.Prim.Word# -> Integer -> GHC.Internal.Prim.Word#
+ integerLt :: Integer -> Integer -> GHC.Internal.Types.Bool
+ integerLt# :: Integer -> Integer -> GHC.Internal.Bignum.Primitives.Bool#
+ integerMod :: Integer -> Integer -> Integer
+ integerMul :: Integer -> Integer -> Integer
+ integerNe :: Integer -> Integer -> GHC.Internal.Types.Bool
+ integerNe# :: Integer -> Integer -> GHC.Internal.Bignum.Primitives.Bool#
+ integerNegate :: Integer -> Integer
+ integerOne :: Integer
+ integerOr :: Integer -> Integer -> Integer
+ integerPopCount# :: Integer -> GHC.Internal.Prim.Int#
+ integerPowMod# :: Integer -> Integer -> GHC.Internal.Bignum.Natural.Natural -> (# GHC.Internal.Bignum.Natural.Natural | () #)
+ integerQuot :: Integer -> Integer -> Integer
+ integerQuotRem :: Integer -> Integer -> (Integer, Integer)
+ integerQuotRem# :: Integer -> Integer -> (# Integer, Integer #)
+ integerRecipMod# :: Integer -> GHC.Internal.Bignum.Natural.Natural -> (# GHC.Internal.Bignum.Natural.Natural | () #)
+ integerRem :: Integer -> Integer -> Integer
+ integerShiftL :: Integer -> GHC.Internal.Types.Word -> Integer
+ integerShiftL# :: Integer -> GHC.Internal.Prim.Word# -> Integer
+ integerShiftR :: Integer -> GHC.Internal.Types.Word -> Integer
+ integerShiftR# :: Integer -> GHC.Internal.Prim.Word# -> Integer
+ integerSignum :: Integer -> Integer
+ integerSignum# :: Integer -> GHC.Internal.Prim.Int#
+ integerSizeInBase# :: GHC.Internal.Prim.Word# -> Integer -> GHC.Internal.Prim.Word#
+ integerSqr :: Integer -> Integer
+ integerSub :: Integer -> Integer -> Integer
+ integerTestBit :: Integer -> GHC.Internal.Types.Word -> GHC.Internal.Types.Bool
+ integerTestBit# :: Integer -> GHC.Internal.Prim.Word# -> GHC.Internal.Bignum.Primitives.Bool#
+ integerToAddr :: Integer -> GHC.Internal.Prim.Addr# -> GHC.Internal.Bignum.Primitives.Bool# -> GHC.Internal.Types.IO GHC.Internal.Types.Word
+ integerToAddr# :: forall s. Integer -> GHC.Internal.Prim.Addr# -> GHC.Internal.Bignum.Primitives.Bool# -> GHC.Internal.Prim.State# s -> (# GHC.Internal.Prim.State# s, GHC.Internal.Prim.Word# #)
+ integerToBigNatClamp# :: Integer -> GHC.Internal.Bignum.BigNat.BigNat#
+ integerToBigNatSign# :: Integer -> (# GHC.Internal.Prim.Int#, GHC.Internal.Bignum.BigNat.BigNat# #)
+ integerToInt :: Integer -> GHC.Internal.Types.Int
+ integerToInt# :: Integer -> GHC.Internal.Prim.Int#
+ integerToInt64# :: Integer -> GHC.Internal.Prim.Int64#
+ integerToMutableByteArray :: Integer -> GHC.Internal.Prim.MutableByteArray# GHC.Internal.Prim.RealWorld -> GHC.Internal.Prim.Word# -> GHC.Internal.Bignum.Primitives.Bool# -> GHC.Internal.Types.IO GHC.Internal.Types.Word
+ integerToMutableByteArray# :: forall s. Integer -> GHC.Internal.Prim.MutableByteArray# s -> GHC.Internal.Prim.Word# -> GHC.Internal.Bignum.Primitives.Bool# -> GHC.Internal.Prim.State# s -> (# GHC.Internal.Prim.State# s, GHC.Internal.Prim.Word# #)
+ integerToNatural :: Integer -> GHC.Internal.Bignum.Natural.Natural
+ integerToNaturalClamp :: Integer -> GHC.Internal.Bignum.Natural.Natural
+ integerToNaturalThrow :: Integer -> GHC.Internal.Bignum.Natural.Natural
+ integerToWord :: Integer -> GHC.Internal.Types.Word
+ integerToWord# :: Integer -> GHC.Internal.Prim.Word#
+ integerToWord64# :: Integer -> GHC.Internal.Prim.Word64#
+ integerXor :: Integer -> Integer -> Integer
+ integerZero :: Integer
+
+module GHC.Num.Natural where
+ -- Safety: None
+ type Natural :: *
+ data Natural = NS GHC.Internal.Prim.Word# | NB GHC.Internal.Prim.ByteArray#
+ naturalAdd :: Natural -> Natural -> Natural
+ naturalAnd :: Natural -> Natural -> Natural
+ naturalAndNot :: Natural -> Natural -> Natural
+ naturalBit :: GHC.Internal.Types.Word -> Natural
+ naturalBit# :: GHC.Internal.Prim.Word# -> Natural
+ naturalCheck :: Natural -> GHC.Internal.Types.Bool
+ naturalCheck# :: Natural -> GHC.Internal.Bignum.Primitives.Bool#
+ naturalClearBit :: Natural -> GHC.Internal.Types.Word -> Natural
+ naturalClearBit# :: Natural -> GHC.Internal.Prim.Word# -> Natural
+ naturalCompare :: Natural -> Natural -> GHC.Internal.Types.Ordering
+ naturalComplementBit :: Natural -> GHC.Internal.Types.Word -> Natural
+ naturalComplementBit# :: Natural -> GHC.Internal.Prim.Word# -> Natural
+ naturalEncodeDouble# :: Natural -> GHC.Internal.Prim.Int# -> GHC.Internal.Prim.Double#
+ naturalEncodeFloat# :: Natural -> GHC.Internal.Prim.Int# -> GHC.Internal.Prim.Float#
+ naturalEq :: Natural -> Natural -> GHC.Internal.Types.Bool
+ naturalEq# :: Natural -> Natural -> GHC.Internal.Bignum.Primitives.Bool#
+ naturalFromAddr :: GHC.Internal.Prim.Word# -> GHC.Internal.Prim.Addr# -> GHC.Internal.Bignum.Primitives.Bool# -> GHC.Internal.Types.IO Natural
+ naturalFromAddr# :: forall s. GHC.Internal.Prim.Word# -> GHC.Internal.Prim.Addr# -> GHC.Internal.Bignum.Primitives.Bool# -> GHC.Internal.Prim.State# s -> (# GHC.Internal.Prim.State# s, Natural #)
+ naturalFromBigNat# :: GHC.Internal.Bignum.BigNat.BigNat# -> Natural
+ naturalFromByteArray# :: forall s. GHC.Internal.Prim.Word# -> GHC.Internal.Prim.ByteArray# -> GHC.Internal.Prim.Word# -> GHC.Internal.Bignum.Primitives.Bool# -> GHC.Internal.Prim.State# s -> (# GHC.Internal.Prim.State# s, Natural #)
+ naturalFromWord :: GHC.Internal.Types.Word -> Natural
+ naturalFromWord# :: GHC.Internal.Prim.Word# -> Natural
+ naturalFromWord2# :: GHC.Internal.Prim.Word# -> GHC.Internal.Prim.Word# -> Natural
+ naturalFromWordList :: [GHC.Internal.Types.Word] -> Natural
+ naturalGcd :: Natural -> Natural -> Natural
+ naturalGe :: Natural -> Natural -> GHC.Internal.Types.Bool
+ naturalGe# :: Natural -> Natural -> GHC.Internal.Bignum.Primitives.Bool#
+ naturalGt :: Natural -> Natural -> GHC.Internal.Types.Bool
+ naturalGt# :: Natural -> Natural -> GHC.Internal.Bignum.Primitives.Bool#
+ naturalIsOne :: Natural -> GHC.Internal.Types.Bool
+ naturalIsPowerOf2# :: Natural -> (# (# #) | GHC.Internal.Prim.Word# #)
+ naturalIsZero :: Natural -> GHC.Internal.Types.Bool
+ naturalLcm :: Natural -> Natural -> Natural
+ naturalLe :: Natural -> Natural -> GHC.Internal.Types.Bool
+ naturalLe# :: Natural -> Natural -> GHC.Internal.Bignum.Primitives.Bool#
+ naturalLog2 :: Natural -> GHC.Internal.Types.Word
+ naturalLog2# :: Natural -> GHC.Internal.Prim.Word#
+ naturalLogBase :: Natural -> Natural -> GHC.Internal.Types.Word
+ naturalLogBase# :: Natural -> Natural -> GHC.Internal.Prim.Word#
+ naturalLogBaseWord :: GHC.Internal.Types.Word -> Natural -> GHC.Internal.Types.Word
+ naturalLogBaseWord# :: GHC.Internal.Prim.Word# -> Natural -> GHC.Internal.Prim.Word#
+ naturalLt :: Natural -> Natural -> GHC.Internal.Types.Bool
+ naturalLt# :: Natural -> Natural -> GHC.Internal.Bignum.Primitives.Bool#
+ naturalMul :: Natural -> Natural -> Natural
+ naturalNe :: Natural -> Natural -> GHC.Internal.Types.Bool
+ naturalNe# :: Natural -> Natural -> GHC.Internal.Bignum.Primitives.Bool#
+ naturalNegate :: Natural -> Natural
+ naturalOne :: Natural
+ naturalOr :: Natural -> Natural -> Natural
+ naturalPopCount :: Natural -> GHC.Internal.Types.Word
+ naturalPopCount# :: Natural -> GHC.Internal.Prim.Word#
+ naturalPowMod :: Natural -> Natural -> Natural -> Natural
+ naturalQuot :: Natural -> Natural -> Natural
+ naturalQuotRem :: Natural -> Natural -> (Natural, Natural)
+ naturalQuotRem# :: Natural -> Natural -> (# Natural, Natural #)
+ naturalRem :: Natural -> Natural -> Natural
+ naturalSetBit :: Natural -> GHC.Internal.Types.Word -> Natural
+ naturalSetBit# :: Natural -> GHC.Internal.Prim.Word# -> Natural
+ naturalShiftL :: Natural -> GHC.Internal.Types.Word -> Natural
+ naturalShiftL# :: Natural -> GHC.Internal.Prim.Word# -> Natural
+ naturalShiftR :: Natural -> GHC.Internal.Types.Word -> Natural
+ naturalShiftR# :: Natural -> GHC.Internal.Prim.Word# -> Natural
+ naturalSignum :: Natural -> Natural
+ naturalSizeInBase# :: GHC.Internal.Prim.Word# -> Natural -> GHC.Internal.Prim.Word#
+ naturalSqr :: Natural -> Natural
+ naturalSub :: Natural -> Natural -> (# (# #) | Natural #)
+ naturalSubThrow :: Natural -> Natural -> Natural
+ naturalSubUnsafe :: Natural -> Natural -> Natural
+ naturalTestBit :: Natural -> GHC.Internal.Types.Word -> GHC.Internal.Types.Bool
+ naturalTestBit# :: Natural -> GHC.Internal.Prim.Word# -> GHC.Internal.Bignum.Primitives.Bool#
+ naturalToAddr :: Natural -> GHC.Internal.Prim.Addr# -> GHC.Internal.Bignum.Primitives.Bool# -> GHC.Internal.Types.IO GHC.Internal.Types.Word
+ naturalToAddr# :: forall s. Natural -> GHC.Internal.Prim.Addr# -> GHC.Internal.Bignum.Primitives.Bool# -> GHC.Internal.Prim.State# s -> (# GHC.Internal.Prim.State# s, GHC.Internal.Prim.Word# #)
+ naturalToBigNat# :: Natural -> GHC.Internal.Bignum.BigNat.BigNat#
+ naturalToMutableByteArray# :: forall s. Natural -> GHC.Internal.Prim.MutableByteArray# s -> GHC.Internal.Prim.Word# -> GHC.Internal.Bignum.Primitives.Bool# -> GHC.Internal.Prim.State# s -> (# GHC.Internal.Prim.State# s, GHC.Internal.Prim.Word# #)
+ naturalToWord :: Natural -> GHC.Internal.Types.Word
+ naturalToWord# :: Natural -> GHC.Internal.Prim.Word#
+ naturalToWordClamp :: Natural -> GHC.Internal.Types.Word
+ naturalToWordClamp# :: Natural -> GHC.Internal.Prim.Word#
+ naturalToWordMaybe# :: Natural -> (# (# #) | GHC.Internal.Prim.Word# #)
+ naturalXor :: Natural -> Natural -> Natural
+ naturalZero :: Natural
+
+module GHC.Num.Primitives where
+ -- Safety: None
+ (&&#) :: Bool# -> Bool# -> Bool#
+ type Bool# :: TYPE GHC.Internal.Types.IntRep
+ type Bool# = GHC.Internal.Prim.Int#
+ absI# :: GHC.Internal.Prim.Int# -> GHC.Internal.Prim.Int#
+ andNot# :: GHC.Internal.Prim.Word# -> GHC.Internal.Prim.Word# -> GHC.Internal.Prim.Word#
+ bitW# :: GHC.Internal.Prim.Int# -> GHC.Internal.Prim.Word#
+ cmpI# :: GHC.Internal.Prim.Int# -> GHC.Internal.Prim.Int# -> GHC.Internal.Prim.Int#
+ cmpW# :: GHC.Internal.Prim.Word# -> GHC.Internal.Prim.Word# -> GHC.Internal.Types.Ordering
+ intEncodeDouble# :: GHC.Internal.Prim.Int# -> GHC.Internal.Prim.Int# -> GHC.Internal.Prim.Double#
+ ioBool :: GHC.Internal.Types.IO GHC.Internal.Types.Bool -> GHC.Internal.Prim.State# GHC.Internal.Prim.RealWorld -> (# GHC.Internal.Prim.State# GHC.Internal.Prim.RealWorld, Bool# #)
+ ioInt# :: GHC.Internal.Types.IO GHC.Internal.Types.Int -> GHC.Internal.Prim.State# GHC.Internal.Prim.RealWorld -> (# GHC.Internal.Prim.State# GHC.Internal.Prim.RealWorld, GHC.Internal.Prim.Int# #)
+ ioVoid :: forall a. GHC.Internal.Types.IO a -> GHC.Internal.Prim.State# GHC.Internal.Prim.RealWorld -> GHC.Internal.Prim.State# GHC.Internal.Prim.RealWorld
+ ioWord# :: GHC.Internal.Types.IO GHC.Internal.Types.Word -> GHC.Internal.Prim.State# GHC.Internal.Prim.RealWorld -> (# GHC.Internal.Prim.State# GHC.Internal.Prim.RealWorld, GHC.Internal.Prim.Word# #)
+ maxI# :: GHC.Internal.Prim.Int# -> GHC.Internal.Prim.Int# -> GHC.Internal.Prim.Int#
+ maxW# :: GHC.Internal.Prim.Word# -> GHC.Internal.Prim.Word# -> GHC.Internal.Prim.Word#
+ minI# :: GHC.Internal.Prim.Int# -> GHC.Internal.Prim.Int# -> GHC.Internal.Prim.Int#
+ minW# :: GHC.Internal.Prim.Word# -> GHC.Internal.Prim.Word# -> GHC.Internal.Prim.Word#
+ notB# :: Bool# -> Bool#
+ plusWord12# :: GHC.Internal.Prim.Word# -> (# GHC.Internal.Prim.Word#, GHC.Internal.Prim.Word# #) -> (# GHC.Internal.Prim.Word#, GHC.Internal.Prim.Word# #)
+ plusWord3# :: GHC.Internal.Prim.Word# -> GHC.Internal.Prim.Word# -> GHC.Internal.Prim.Word# -> (# GHC.Internal.Prim.Word#, GHC.Internal.Prim.Word# #)
+ popCntI# :: GHC.Internal.Prim.Int# -> GHC.Internal.Prim.Word#
+ quotRemWord3# :: (# GHC.Internal.Prim.Word#, GHC.Internal.Prim.Word# #) -> GHC.Internal.Prim.Word# -> (# (# GHC.Internal.Prim.Word#, GHC.Internal.Prim.Word# #), GHC.Internal.Prim.Word# #)
+ raiseDivZero :: forall a. a
+ raiseDivZero_Word# :: (# #) -> GHC.Internal.Prim.Word#
+ raiseUnderflow :: forall a. a
+ raiseUnderflow_Word# :: (# #) -> GHC.Internal.Prim.Word#
+ sgnI# :: GHC.Internal.Prim.Int# -> GHC.Internal.Prim.Int#
+ shiftRW# :: GHC.Internal.Prim.Word# -> GHC.Internal.Prim.Word# -> GHC.Internal.Prim.Word#
+ testBitI# :: GHC.Internal.Prim.Int# -> GHC.Internal.Prim.Word# -> Bool#
+ testBitW# :: GHC.Internal.Prim.Word# -> GHC.Internal.Prim.Word# -> Bool#
+ unexpectedValue :: forall a. a
+ unexpectedValue_Int# :: (# #) -> GHC.Internal.Prim.Int#
+ unexpectedValue_Word# :: (# #) -> GHC.Internal.Prim.Word#
+ wordEncodeDouble# :: GHC.Internal.Prim.Word# -> GHC.Internal.Prim.Int# -> GHC.Internal.Prim.Double#
+ wordFromAbsInt# :: GHC.Internal.Prim.Int# -> GHC.Internal.Prim.Word#
+ wordFromAddr# :: forall s. GHC.Internal.Prim.Word# -> GHC.Internal.Prim.Addr# -> Bool# -> GHC.Internal.Prim.State# s -> (# GHC.Internal.Prim.State# s, GHC.Internal.Prim.Word# #)
+ wordFromAddrBE# :: forall s. GHC.Internal.Prim.Word# -> GHC.Internal.Prim.Addr# -> GHC.Internal.Prim.State# s -> (# GHC.Internal.Prim.State# s, GHC.Internal.Prim.Word# #)
+ wordFromAddrLE# :: forall s. GHC.Internal.Prim.Word# -> GHC.Internal.Prim.Addr# -> GHC.Internal.Prim.State# s -> (# GHC.Internal.Prim.State# s, GHC.Internal.Prim.Word# #)
+ wordFromByteArray# :: GHC.Internal.Prim.Word# -> GHC.Internal.Prim.ByteArray# -> GHC.Internal.Prim.Word# -> Bool# -> GHC.Internal.Prim.Word#
+ wordFromByteArrayBE# :: GHC.Internal.Prim.Word# -> GHC.Internal.Prim.ByteArray# -> GHC.Internal.Prim.Word# -> GHC.Internal.Prim.Word#
+ wordFromByteArrayLE# :: GHC.Internal.Prim.Word# -> GHC.Internal.Prim.ByteArray# -> GHC.Internal.Prim.Word# -> GHC.Internal.Prim.Word#
+ wordIsPowerOf2# :: GHC.Internal.Prim.Word# -> (# (# #) | GHC.Internal.Prim.Word# #)
+ wordLog2# :: GHC.Internal.Prim.Word# -> GHC.Internal.Prim.Word#
+ wordLogBase# :: GHC.Internal.Prim.Word# -> GHC.Internal.Prim.Word# -> GHC.Internal.Prim.Word#
+ wordReverseBits# :: GHC.Internal.Prim.Word# -> GHC.Internal.Prim.Word#
+ wordReverseBits32# :: GHC.Internal.Prim.Word# -> GHC.Internal.Prim.Word#
+ wordReverseBytes# :: GHC.Internal.Prim.Word# -> GHC.Internal.Prim.Word#
+ wordSizeInBase# :: GHC.Internal.Prim.Word# -> GHC.Internal.Prim.Word# -> GHC.Internal.Prim.Word#
+ wordToAddr# :: forall s. GHC.Internal.Prim.Word# -> GHC.Internal.Prim.Addr# -> Bool# -> GHC.Internal.Prim.State# s -> (# GHC.Internal.Prim.State# s, GHC.Internal.Prim.Word# #)
+ wordToAddrBE# :: forall s. GHC.Internal.Prim.Word# -> GHC.Internal.Prim.Addr# -> GHC.Internal.Prim.State# s -> (# GHC.Internal.Prim.State# s, GHC.Internal.Prim.Word# #)
+ wordToAddrLE# :: forall s. GHC.Internal.Prim.Word# -> GHC.Internal.Prim.Addr# -> GHC.Internal.Prim.State# s -> (# GHC.Internal.Prim.State# s, GHC.Internal.Prim.Word# #)
+ wordToMutableByteArray# :: forall s. GHC.Internal.Prim.Word# -> GHC.Internal.Prim.MutableByteArray# s -> GHC.Internal.Prim.Word# -> Bool# -> GHC.Internal.Prim.State# s -> (# GHC.Internal.Prim.State# s, GHC.Internal.Prim.Word# #)
+ wordToMutableByteArrayBE# :: forall s. GHC.Internal.Prim.Word# -> GHC.Internal.Prim.MutableByteArray# s -> GHC.Internal.Prim.Word# -> GHC.Internal.Prim.State# s -> (# GHC.Internal.Prim.State# s, GHC.Internal.Prim.Word# #)
+ wordToMutableByteArrayLE# :: forall s. GHC.Internal.Prim.Word# -> GHC.Internal.Prim.MutableByteArray# s -> GHC.Internal.Prim.Word# -> GHC.Internal.Prim.State# s -> (# GHC.Internal.Prim.State# s, GHC.Internal.Prim.Word# #)
+ wordWriteAddrBE# :: forall s. GHC.Internal.Prim.Word# -> GHC.Internal.Prim.Addr# -> GHC.Internal.Prim.State# s -> GHC.Internal.Prim.State# s
+ wordWriteAddrLE# :: forall s. GHC.Internal.Prim.Word# -> GHC.Internal.Prim.Addr# -> GHC.Internal.Prim.State# s -> GHC.Internal.Prim.State# s
+ wordWriteMutableByteArrayBE# :: forall s. GHC.Internal.Prim.Word# -> GHC.Internal.Prim.MutableByteArray# s -> GHC.Internal.Prim.Word# -> GHC.Internal.Prim.State# s -> GHC.Internal.Prim.State# s
+ wordWriteMutableByteArrayLE# :: forall s. GHC.Internal.Prim.Word# -> GHC.Internal.Prim.MutableByteArray# s -> GHC.Internal.Prim.Word# -> GHC.Internal.Prim.State# s -> GHC.Internal.Prim.State# s
+ (||#) :: Bool# -> Bool# -> Bool#
+
+module GHC.Num.WordArray where
+ -- Safety: None
+ type role MutableWordArray nominal
+ type MutableWordArray :: * -> *
+ data MutableWordArray s = MutableWordArray (MutableWordArray# s)
+ type MutableWordArray# :: * -> GHC.Internal.Types.UnliftedType
+ type MutableWordArray# = GHC.Internal.Prim.MutableByteArray#
+ type WordArray :: *
+ data WordArray = WordArray WordArray#
+ type WordArray# :: GHC.Internal.Types.UnliftedType
+ type WordArray# = GHC.Internal.Prim.ByteArray#
+ bytesToWords# :: GHC.Internal.Prim.Int# -> GHC.Internal.Prim.Int#
+ mwaAddInplaceArray :: forall d. MutableWordArray# d -> GHC.Internal.Prim.Int# -> WordArray# -> GHC.Internal.Prim.State# d -> GHC.Internal.Prim.State# d
+ mwaAddInplaceWord# :: forall d. MutableWordArray# d -> GHC.Internal.Prim.Int# -> GHC.Internal.Prim.Word# -> GHC.Internal.Prim.State# d -> GHC.Internal.Prim.State# d
+ mwaArrayCopy# :: forall s. GHC.Internal.Prim.MutableByteArray# s -> GHC.Internal.Prim.Int# -> WordArray# -> GHC.Internal.Prim.Int# -> GHC.Internal.Prim.Int# -> GHC.Internal.Prim.State# s -> GHC.Internal.Prim.State# s
+ mwaClz :: forall s. MutableWordArray# s -> GHC.Internal.Prim.State# s -> (# GHC.Internal.Prim.State# s, GHC.Internal.Prim.Int# #)
+ mwaClzAt :: forall s. MutableWordArray# s -> GHC.Internal.Prim.Int# -> GHC.Internal.Prim.State# s -> (# GHC.Internal.Prim.State# s, GHC.Internal.Prim.Int# #)
+ mwaFill# :: forall s. MutableWordArray# s -> GHC.Internal.Prim.Word# -> GHC.Internal.Prim.Word# -> GHC.Internal.Prim.Word# -> GHC.Internal.Prim.State# s -> GHC.Internal.Prim.State# s
+ mwaInitArrayBinOp :: forall s. MutableWordArray# s -> WordArray# -> WordArray# -> (GHC.Internal.Prim.Word# -> GHC.Internal.Prim.Word# -> GHC.Internal.Prim.Word#) -> GHC.Internal.Prim.State# s -> GHC.Internal.Prim.State# s
+ mwaInitArrayPlusWord :: forall s. MutableWordArray# s -> WordArray# -> GHC.Internal.Prim.Word# -> GHC.Internal.Prim.State# s -> GHC.Internal.Prim.State# s
+ mwaInitCopyShrink# :: forall s. GHC.Internal.Prim.MutableByteArray# s -> WordArray# -> GHC.Internal.Prim.State# s -> GHC.Internal.Prim.State# s
+ mwaRead# :: forall s. MutableWordArray# s -> GHC.Internal.Prim.Int# -> GHC.Internal.Prim.State# s -> (# GHC.Internal.Prim.State# s, GHC.Internal.Prim.Word# #)
+ mwaReadOrZero :: forall s. MutableWordArray# s -> GHC.Internal.Prim.Int# -> GHC.Internal.Prim.State# s -> (# GHC.Internal.Prim.State# s, GHC.Internal.Prim.Word# #)
+ mwaSetSize# :: forall s. GHC.Internal.Prim.MutableByteArray# s -> GHC.Internal.Prim.Int# -> GHC.Internal.Prim.State# s -> GHC.Internal.Prim.State# s
+ mwaShrink# :: forall s. GHC.Internal.Prim.MutableByteArray# s -> GHC.Internal.Prim.Int# -> GHC.Internal.Prim.State# s -> GHC.Internal.Prim.State# s
+ mwaSize# :: forall s. MutableWordArray# s -> GHC.Internal.Prim.State# s -> (# GHC.Internal.Prim.State# s, GHC.Internal.Prim.Int# #)
+ mwaSubInplaceArray :: forall d. MutableWordArray# d -> GHC.Internal.Prim.Int# -> WordArray# -> GHC.Internal.Prim.State# d -> (# GHC.Internal.Prim.State# d, GHC.Internal.Bignum.Primitives.Bool# #)
+ mwaSubInplaceArrayTrim :: forall d. MutableWordArray# d -> GHC.Internal.Prim.Int# -> WordArray# -> GHC.Internal.Prim.State# d -> GHC.Internal.Prim.State# d
+ mwaSubInplaceMutableArray :: forall d. MutableWordArray# d -> GHC.Internal.Prim.Int# -> MutableWordArray# d -> GHC.Internal.Prim.State# d -> (# GHC.Internal.Prim.State# d, GHC.Internal.Bignum.Primitives.Bool# #)
+ mwaSubInplaceWord# :: forall d. MutableWordArray# d -> GHC.Internal.Prim.Int# -> GHC.Internal.Prim.Word# -> GHC.Internal.Prim.State# d -> (# GHC.Internal.Prim.State# d, GHC.Internal.Bignum.Primitives.Bool# #)
+ mwaTrimCompare :: forall s. GHC.Internal.Prim.Int# -> MutableWordArray# s -> WordArray# -> GHC.Internal.Prim.State# s -> (# GHC.Internal.Prim.State# s, GHC.Internal.Types.Ordering #)
+ mwaTrimZeroes# :: forall s. GHC.Internal.Prim.MutableByteArray# s -> GHC.Internal.Prim.State# s -> GHC.Internal.Prim.State# s
+ mwaWrite# :: forall s. MutableWordArray# s -> GHC.Internal.Prim.Int# -> GHC.Internal.Prim.Word# -> GHC.Internal.Prim.State# s -> GHC.Internal.Prim.State# s
+ mwaWriteMostSignificant :: forall s. MutableWordArray# s -> GHC.Internal.Prim.Word# -> GHC.Internal.Prim.State# s -> GHC.Internal.Prim.State# s
+ mwaWriteOrShrink :: forall s. MutableWordArray# s -> GHC.Internal.Prim.Word# -> GHC.Internal.Prim.Int# -> GHC.Internal.Prim.State# s -> GHC.Internal.Prim.State# s
+ newWordArray# :: forall s. GHC.Internal.Prim.Int# -> GHC.Internal.Prim.State# s -> (# GHC.Internal.Prim.State# s, MutableWordArray# s #)
+ waClzAt :: WordArray# -> GHC.Internal.Prim.Int# -> GHC.Internal.Prim.Int#
+ withNewWordArray# :: GHC.Internal.Prim.Int# -> (MutableWordArray# GHC.Internal.Prim.RealWorld -> GHC.Internal.Prim.State# GHC.Internal.Prim.RealWorld -> GHC.Internal.Prim.State# GHC.Internal.Prim.RealWorld) -> WordArray#
+ withNewWordArray2# :: GHC.Internal.Prim.Int# -> GHC.Internal.Prim.Int# -> (MutableWordArray# GHC.Internal.Prim.RealWorld -> MutableWordArray# GHC.Internal.Prim.RealWorld -> GHC.Internal.Prim.State# GHC.Internal.Prim.RealWorld -> GHC.Internal.Prim.State# GHC.Internal.Prim.RealWorld) -> (# WordArray#, WordArray# #)
+ withNewWordArray2Trimmed# :: GHC.Internal.Prim.Int# -> GHC.Internal.Prim.Int# -> (MutableWordArray# GHC.Internal.Prim.RealWorld -> MutableWordArray# GHC.Internal.Prim.RealWorld -> GHC.Internal.Prim.State# GHC.Internal.Prim.RealWorld -> GHC.Internal.Prim.State# GHC.Internal.Prim.RealWorld) -> (# WordArray#, WordArray# #)
+ withNewWordArrayTrimmed# :: GHC.Internal.Prim.Int# -> (MutableWordArray# GHC.Internal.Prim.RealWorld -> GHC.Internal.Prim.State# GHC.Internal.Prim.RealWorld -> GHC.Internal.Prim.State# GHC.Internal.Prim.RealWorld) -> WordArray#
+ withNewWordArrayTrimmedMaybe# :: GHC.Internal.Prim.Int# -> (MutableWordArray# GHC.Internal.Prim.RealWorld -> GHC.Internal.Prim.State# GHC.Internal.Prim.RealWorld -> (# GHC.Internal.Prim.State# GHC.Internal.Prim.RealWorld, GHC.Internal.Bignum.Primitives.Bool# #)) -> (# (# #) | WordArray# #)
+ wordArrayCompareMSWords :: WordArray# -> WordArray# -> GHC.Internal.Types.Ordering
+ wordArrayFromWord# :: GHC.Internal.Prim.Word# -> WordArray#
+ wordArrayFromWord2# :: GHC.Internal.Prim.Word# -> GHC.Internal.Prim.Word# -> WordArray#
+ wordArrayLast# :: WordArray# -> GHC.Internal.Prim.Word#
+ wordArraySize# :: WordArray# -> GHC.Internal.Prim.Int#
+ wordsToBytes# :: GHC.Internal.Prim.Int# -> GHC.Internal.Prim.Int#
+
+
+-- Instances:
+instance GHC.Internal.Classes.Eq GHC.Internal.Bignum.BigNat.BigNat -- Defined in ‘GHC.Internal.Bignum.BigNat’
+instance GHC.Internal.Classes.Eq GHC.Internal.Bignum.Integer.Integer -- Defined in ‘GHC.Internal.Bignum.Integer’
+instance GHC.Internal.Classes.Eq GHC.Internal.Bignum.Natural.Natural -- Defined in ‘GHC.Internal.Bignum.Natural’
+instance GHC.Internal.Classes.Ord GHC.Internal.Bignum.BigNat.BigNat -- Defined in ‘GHC.Internal.Bignum.BigNat’
+instance GHC.Internal.Classes.Ord GHC.Internal.Bignum.Integer.Integer -- Defined in ‘GHC.Internal.Bignum.Integer’
+instance GHC.Internal.Classes.Ord GHC.Internal.Bignum.Natural.Natural -- Defined in ‘GHC.Internal.Bignum.Natural’
=====================================
utils/dump-decls/Main.hs
=====================================
@@ -77,6 +77,8 @@ ignoredModules =
platformDependentModules =
[ "System.Posix.Types"
, "Foreign.C.Types"
+ , "GHC.Num.Backend"
+ , "GHC.Num.Backend.Selected"
]
ignoredOccNames :: [OccName]
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/100c39f685427470a5f4910f0f8c73a5988bab96...95c7cd9e303267d1d932c74f064df20a7f50821a
--
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/100c39f685427470a5f4910f0f8c73a5988bab96...95c7cd9e303267d1d932c74f064df20a7f50821a
You're receiving this email because of your account on gitlab.haskell.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-commits/attachments/20250315/5d935386/attachment-0001.html>
More information about the ghc-commits
mailing list