Merge commit '5229c43ccf77bcbffeced01dccb27398d017fa34'
[ghc.git] / libraries / integer-gmp / changelog.md
1 # Changelog for [`integer-gmp` package](http://hackage.haskell.org/package/integer-gmp)
2
3 ## 1.0.1.0 *July 2017*
4
5   * Bundled with GHC 8.2.1
6
7   * Optimize `minusInteger`
8
9   * Fix the right-shift operation for negative big integers (fixes GHC #12136)
10
11   * Make operations more strict
12
13 ## 1.0.0.1  *Feb 2016*
14
15   * Bundled with GHC 8.0.1
16
17   * Optimise `bitBigNat`/`bigInteger`
18
19   * Fix minor issue in `eqBigNatWord#`
20
21   * Various minor optimisations
22
23 ## 1.0.0.0  *Mar 2015*
24
25   * Bundled with GHC 7.10.1
26
27   * Complete rewrite of `integer-gmp`. For more details, see
28     https://ghc.haskell.org/trac/ghc/wiki/Design/IntegerGmp2
29
30 ## 0.5.1.0  *Feb 2014*
31
32   * Bundled with GHC 7.8.1
33
34   * Improved Haddock documentation
35
36   * New [PrimBool](https://ghc.haskell.org/trac/ghc/wiki/PrimBool)
37     versions of comparison predicates in `GHC.Integer`:
38
39         eqInteger# :: Integer -> Integer -> Int#
40         geInteger# :: Integer -> Integer -> Int#
41         gtInteger# :: Integer -> Integer -> Int#
42         leInteger# :: Integer -> Integer -> Int#
43         ltInteger# :: Integer -> Integer -> Int#
44         neqInteger# :: Integer -> Integer -> Int#
45
46   * New `GHC.Integer.testBitInteger` primitive for use with `Data.Bits`
47
48   * Reduce short-lived heap allocation and try to demote `J#` back
49     to `S#` more aggressively.  See also
50     [#8647](https://ghc.haskell.org/trac/ghc/ticket/8647)
51     for more details.
52
53   * New GMP-specific binary (de)serialization primitives added to
54     `GHC.Integer.GMP.Internals`:
55
56         importIntegerFromByteArray
57         importIntegerFromAddr
58         exportIntegerToAddr
59         exportIntegerToMutableByteArray
60         sizeInBaseInteger
61
62   * New GMP-implemented number-theoretic operations added to
63     `GHC.Integer.GMP.Internals`:
64
65         gcdExtInteger
66         nextPrimeInteger
67         testPrimeInteger
68         powInteger
69         powModInteger
70         powModSecInteger
71         recipModInteger