arithmoi 0.6.0.0 → 0.6.0.1
raw patch · 3 files changed
+22/−14 lines, 3 filesdep ~QuickCheckdep ~smallcheckdep ~tastyPVP: major bump suggested
API removals or changes: PVP suggests a major version bump
Dependency ranges changed: QuickCheck, smallcheck, tasty, tasty-quickcheck
API changes (from Hackage documentation)
- Math.NumberTheory.Curves.Montgomery: instance (GHC.TypeLits.KnownNat a24, GHC.TypeLits.KnownNat n) => GHC.Show.Show (Math.NumberTheory.Curves.Montgomery.Point a24 n)
- Math.NumberTheory.Curves.Montgomery: instance GHC.TypeLits.KnownNat n => GHC.Classes.Eq (Math.NumberTheory.Curves.Montgomery.Point a24 n)
- Math.NumberTheory.Moduli.Class: instance GHC.TypeLits.KnownNat m => GHC.Num.Num (Math.NumberTheory.Moduli.Class.Mod m)
- Math.NumberTheory.Moduli.Class: instance GHC.TypeLits.KnownNat m => GHC.Real.Fractional (Math.NumberTheory.Moduli.Class.Mod m)
- Math.NumberTheory.Moduli.Class: instance GHC.TypeLits.KnownNat m => GHC.Show.Show (Math.NumberTheory.Moduli.Class.Mod m)
+ Math.NumberTheory.Curves.Montgomery: instance (GHC.TypeNats.KnownNat a24, GHC.TypeNats.KnownNat n) => GHC.Show.Show (Math.NumberTheory.Curves.Montgomery.Point a24 n)
+ Math.NumberTheory.Curves.Montgomery: instance GHC.TypeNats.KnownNat n => GHC.Classes.Eq (Math.NumberTheory.Curves.Montgomery.Point a24 n)
+ Math.NumberTheory.Moduli.Class: instance GHC.TypeNats.KnownNat m => GHC.Num.Num (Math.NumberTheory.Moduli.Class.Mod m)
+ Math.NumberTheory.Moduli.Class: instance GHC.TypeNats.KnownNat m => GHC.Real.Fractional (Math.NumberTheory.Moduli.Class.Mod m)
+ Math.NumberTheory.Moduli.Class: instance GHC.TypeNats.KnownNat m => GHC.Show.Show (Math.NumberTheory.Moduli.Class.Mod m)
Files
- Changes +3/−0
- arithmoi.cabal +6/−4
- test-suite/Math/NumberTheory/TestUtils.hs +13/−10
Changes view
@@ -1,3 +1,6 @@+0.6.0.1:+ Switch to smallcheck 1.1.3.+ 0.6.0.0: This release supports GHC 7.8, 7.10, 8.0 and 8.2.
arithmoi.cabal view
@@ -1,5 +1,5 @@ name : arithmoi-version : 0.6.0.0+version : 0.6.0.1 cabal-version : >= 1.10 author : Daniel Fischer copyright : (c) 2011 Daniel Fischer, 2016-2017 Andrew Lelechenko, Carter Schonwald@@ -22,7 +22,7 @@ category : Math, Algorithms, Number Theory -tested-with : GHC==7.8.4, GHC==7.10.3, GHC==8.0.2, GHC==8.2.1+tested-with : GHC==7.8.4, GHC==7.10.3, GHC==8.0.2, GHC==8.2.2 extra-source-files : Changes @@ -137,11 +137,13 @@ , tasty-quickcheck >= 0.9 && < 0.10 , tasty-hunit >= 0.9 && < 0.10 , QuickCheck >= 2.10 && < 2.11- , smallcheck >= 1.1 && < 1.2 , transformers >= 0.5 , integer-gmp < 1.1 if impl(ghc < 7.10)- build-depends : nats >= 1 && <1.2+ build-depends : smallcheck >= 1.1 && < 1.1.3,+ nats >= 1 && <1.2+ else+ build-depends : smallcheck >= 1.1.3 && < 1.2 if impl(ghc < 8.0) build-depends : semigroups >= 0.8
test-suite/Math/NumberTheory/TestUtils.hs view
@@ -49,11 +49,12 @@ import Test.SmallCheck.Series (Positive(..), NonNegative(..), Serial(..), Series, generate) -import Control.Applicative-import Data.Bits #if !(MIN_VERSION_base(4,8,0))+import Control.Applicative import Data.Word #endif++import Data.Bits import GHC.Exts import Numeric.Natural @@ -62,25 +63,27 @@ import Math.NumberTheory.TestUtils.MyCompose import Math.NumberTheory.TestUtils.Wrappers +instance Arbitrary Natural where+ arbitrary = fromInteger <$> (arbitrary `suchThat` (>= 0))+ shrink = map fromInteger . filter (>= 0) . shrink . toInteger++instance Arbitrary GaussianInteger where+ arbitrary = (:+) <$> arbitrary <*> arbitrary+ shrink (x :+ y) = (:+) <$> shrink x <*> shrink y++#if !(MIN_VERSION_smallcheck(1,1,3)) instance Monad m => Serial m Word where series = generate (\d -> if d >= 0 then pure 0 else empty) <|> nats where nats = generate $ \d -> if d > 0 then [1 .. fromInteger (toInteger d)] else empty -instance Arbitrary Natural where- arbitrary = fromInteger <$> (arbitrary `suchThat` (>= 0))- shrink = map fromInteger . filter (>= 0) . shrink . toInteger- instance Monad m => Serial m Natural where series = generate (\d -> if d >= 0 then pure 0 else empty) <|> nats where nats = generate $ \d -> if d > 0 then [1 .. fromInteger (toInteger d)] else empty--instance Arbitrary GaussianInteger where- arbitrary = (:+) <$> arbitrary <*> arbitrary- shrink (x :+ y) = (:+) <$> shrink x <*> shrink y+#endif instance Monad m => Serial m GaussianInteger where series = cons2 (:+)