[commit: ghc] master: Re-implement `powModInteger` (#9281) (d0d4674)

git at git.haskell.org git at git.haskell.org
Sat Nov 29 17:46:03 UTC 2014


Repository : ssh://git@git.haskell.org/ghc

On branch  : master
Link       : http://ghc.haskell.org/trac/ghc/changeset/d0d4674281a80e4148a82f833948c2b4c3051eab/ghc

>---------------------------------------------------------------

commit d0d4674281a80e4148a82f833948c2b4c3051eab
Author: Herbert Valerio Riedel <hvr at gnu.org>
Date:   Sat Nov 29 12:18:25 2014 +0100

    Re-implement `powModInteger`  (#9281)
    
    This also exposes the following type-specialised modular exponentiation
    variants of `powModInteger` useful for implementing a `powModNatural`
    operation.
    
      powModBigNat     :: BigNat -> BigNat -> BigNat -> BigNat
      powModBigNatWord :: BigNat -> BigNat -> Word#  -> Word#
      powModWord       :: Word#  -> Word#  -> Word#  -> Word#
    
    `powModInteger` has been available since `integer-gmp-0.5.1`
    (added via 4d516855241b70eb687d95e3c121428de885e83e)


>---------------------------------------------------------------

d0d4674281a80e4148a82f833948c2b4c3051eab
 libraries/integer-gmp2/cbits/wrappers.c            |  89 +++++++++++++++
 libraries/integer-gmp2/include/HsIntegerGmp.h.in   |   2 -
 .../integer-gmp2/src/GHC/Integer/GMP/Internals.hs  |   5 +
 libraries/integer-gmp2/src/GHC/Integer/Type.hs     | 120 +++++++++++++++++++++
 testsuite/tests/lib/integer/integerGmpInternals.hs |  13 +--
 5 files changed, 215 insertions(+), 14 deletions(-)

Diff suppressed because of size. To see it, use:

    git diff-tree --root --patch-with-stat --no-color --find-copies-harder --ignore-space-at-eol --cc d0d4674281a80e4148a82f833948c2b4c3051eab


More information about the ghc-commits mailing list