ghc-bignum backend name
Moduleghc-internal-10.0.0Haskell2010
GHC.Internal.Bignum.Backend.Native
Synopsis
- value backendName
- value count_words_bits
- value count_words_bits_int
- value bignat_compare
- value bignat_add
- value bignat_add_word
- value bignat_sub_word
- value bignat_mul_word
- value bignat_mul
- value bignat_sub
- value bignat_popcount
- value bignat_shiftl
- value bignat_shiftr
- value bignat_shiftr_neg
- value bignat_or
- value bignat_xor
- value bignat_and
- value bignat_and_not
- value bignat_quotrem
- value bignat_quot
- value bignat_rem
- value bignat_quotrem_normalized
- value bignat_quotrem_word
- value bignat_quot_word
- value bignat_rem_word
- value bignat_gcd
- value bignat_gcd_word
- value bignat_gcd_word_word
- value bignat_encode_double
- value bignat_powmod_word
- value bignat_powmod
- value bignat_powmod_words
- value integer_gcde
- value integer_recip_mod
- value integer_powmod
- Packageghc-internal-10.0.0
- Exports35
- LanguageHaskell2010
- LicenceBSD-3-Clause
- SourceNative.hs
value
bignat_add_word :: MutableWordArray# RealWorldResult
-> WordArray#-> Word#-> State# RealWorld-> State# RealWorld
value
bignat_mul_word :: MutableWordArray# RealWorldResult
-> WordArray#-> Word#-> State# RealWorld-> State# RealWorld
value
bignat_mul :: MutableWordArray# RealWorldResult
-> WordArray#-> WordArray#-> State# RealWorld-> State# RealWorld
value
bignat_or :: MutableWordArray# RealWorldResult
-> WordArray#-> WordArray#-> State# RealWorld-> State# RealWorld
value
bignat_xor :: MutableWordArray# RealWorldResult
-> WordArray#-> WordArray#-> State# RealWorld-> State# RealWorld
value
bignat_and :: MutableWordArray# RealWorldResult
-> WordArray#-> WordArray#-> State# RealWorld-> State# RealWorld
value
bignat_and_not :: MutableWordArray# RealWorldResult
-> WordArray#-> WordArray#-> State# RealWorld-> State# RealWorld
Perform quotRem on normalized inputs: * highest bit of B is set * A is trimmed * A >= B * B > 1
value
bignat_quotrem_word :: MutableWordArray# sQuotient
-> WordArray#-> Word#-> State# s-> (# State# s, Word# #)
This operation doesn't really belongs here, but GMP's one is much faster than this simple implementation (basic Euclid algorithm).
Ideally we should make an implementation as fast as GMP's one and put it into GHC.Internal.Bignum.Primitives.