ghc-bignum backend name
Moduleghc-bignum-1.3Haskell2010
GHC.Num.Backend.Native
- 35 values
- Packageghc-bignum-1.3
- 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.Num.Primitives.