summaryrefslogtreecommitdiff
path: root/libraries/integer-gmp/changelog.md
blob: 9ff56e104c072a1f2ec534513a69f39f795845c9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
# Changelog for [`integer-gmp` package](http://hackage.haskell.org/package/integer-gmp)

## 1.0.3.0 *January 2019*

  * Bundled with GHC 8.10.1

  * Documentation changes

## 1.0.2.0 *April 2018*

  * Bundled with GHC 8.4.2

  * Define `powModSecInteger`, a "secure" version of `powModInteger` using the
    `mpz_powm_sec` function.

## 1.0.1.0 *July 2017*

  * Bundled with GHC 8.2.1

  * Optimize `minusInteger`

  * Fix the right-shift operation for negative big integers (fixes GHC #12136)

  * Make operations more strict

## 1.0.0.1  *Feb 2016*

  * Bundled with GHC 8.0.1

  * Optimise `bitBigNat`/`bigInteger`

  * Fix minor issue in `eqBigNatWord#`

  * Various minor optimisations

## 1.0.0.0  *Mar 2015*

  * Bundled with GHC 7.10.1

  * Complete rewrite of `integer-gmp`. For more details, see
    https://gitlab.haskell.org/ghc/ghc/wikis/design/integer-gmp2

## 0.5.1.0  *Feb 2014*

  * Bundled with GHC 7.8.1

  * Improved Haddock documentation

  * New [PrimBool](https://gitlab.haskell.org/ghc/ghc/wikis/prim-bool)
    versions of comparison predicates in `GHC.Integer`:

        eqInteger# :: Integer -> Integer -> Int#
        geInteger# :: Integer -> Integer -> Int#
        gtInteger# :: Integer -> Integer -> Int#
        leInteger# :: Integer -> Integer -> Int#
        ltInteger# :: Integer -> Integer -> Int#
        neqInteger# :: Integer -> Integer -> Int#

  * New `GHC.Integer.testBitInteger` primitive for use with `Data.Bits`

  * Reduce short-lived heap allocation and try to demote `J#` back
    to `S#` more aggressively.  See also
    [#8647](https://gitlab.haskell.org/ghc/ghc/issues/8647)
    for more details.

  * New GMP-specific binary (de)serialization primitives added to
    `GHC.Integer.GMP.Internals`:

        importIntegerFromByteArray
        importIntegerFromAddr
        exportIntegerToAddr
        exportIntegerToMutableByteArray
        sizeInBaseInteger

  * New GMP-implemented number-theoretic operations added to
    `GHC.Integer.GMP.Internals`:

        gcdExtInteger
        nextPrimeInteger
        testPrimeInteger
        powInteger
        powModInteger
        powModSecInteger
        recipModInteger