[GHC] #9281: Rewrite `integer-gmp` to use only non-allocating GMP functions

GHC ghc-devs at haskell.org
Sat Nov 29 17:45:58 UTC 2014


#9281: Rewrite `integer-gmp` to use only non-allocating GMP functions
-------------------------------------+-------------------------------------
              Reporter:  hvr         |            Owner:  hvr
                  Type:  task        |           Status:  patch
              Priority:  normal      |        Milestone:  7.10.1
             Component:  Core        |          Version:
  Libraries                          |         Keywords:  integer-gmp
            Resolution:              |     Architecture:  Unknown/Multiple
      Operating System:              |       Difficulty:  Unknown
  Unknown/Multiple                   |       Blocked By:
       Type of failure:              |  Related Tickets:  #8647
  None/Unknown                       |
             Test Case:              |
              Blocking:              |
Differential Revisions:  Phab:D82    |
-------------------------------------+-------------------------------------

Comment (by Herbert Valerio Riedel <hvr@…>):

 In [changeset:"d0d4674281a80e4148a82f833948c2b4c3051eab/ghc"]:
 {{{
 #!CommitTicketReference repository="ghc"
 revision="d0d4674281a80e4148a82f833948c2b4c3051eab"
 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)
 }}}

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9281#comment:27>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list