packages feed

constructible 0.1.0.1 → 0.1.1

raw patch · 2 files changed

+11/−12 lines, 2 filesdep +integer-rootsdep −arithmoiPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependencies added: integer-roots

Dependencies removed: arithmoi

API changes (from Hackage documentation)

- Data.Real.Constructible: instance ComplexPolar (Complex Construct) Construct
- Data.Real.Constructible: instance ComplexRect (Complex Construct) Construct
- Data.Real.Constructible: instance Enum Construct
- Data.Real.Constructible: instance Eq Construct
- Data.Real.Constructible: instance Eq ConstructException
- Data.Real.Constructible: instance Exception ConstructException
- Data.Real.Constructible: instance Floating (Complex Construct)
- Data.Real.Constructible: instance Floating Construct
- Data.Real.Constructible: instance Fractional (Complex Construct)
- Data.Real.Constructible: instance Fractional Construct
- Data.Real.Constructible: instance Num (Complex Construct)
- Data.Real.Constructible: instance Num Construct
- Data.Real.Constructible: instance Ord Construct
- Data.Real.Constructible: instance Ord ConstructException
- Data.Real.Constructible: instance Read Construct
- Data.Real.Constructible: instance Real Construct
- Data.Real.Constructible: instance RealFrac Construct
- Data.Real.Constructible: instance Show (Field k)
- Data.Real.Constructible: instance Show Construct
- Data.Real.Constructible: instance Show ConstructException
- Data.Real.Constructible: instance Show FieldShape
- Data.Real.Constructible: instance Typeable ConstructException
+ Data.Real.Constructible: instance Data.Complex.Generic.Class.ComplexPolar (Data.Complex.Generic.Complex Data.Real.Constructible.Construct) Data.Real.Constructible.Construct
+ Data.Real.Constructible: instance Data.Complex.Generic.Class.ComplexRect (Data.Complex.Generic.Complex Data.Real.Constructible.Construct) Data.Real.Constructible.Construct
+ Data.Real.Constructible: instance GHC.Classes.Eq Data.Real.Constructible.Construct
+ Data.Real.Constructible: instance GHC.Classes.Eq Data.Real.Constructible.ConstructException
+ Data.Real.Constructible: instance GHC.Classes.Ord Data.Real.Constructible.Construct
+ Data.Real.Constructible: instance GHC.Classes.Ord Data.Real.Constructible.ConstructException
+ Data.Real.Constructible: instance GHC.Enum.Enum Data.Real.Constructible.Construct
+ Data.Real.Constructible: instance GHC.Exception.Type.Exception Data.Real.Constructible.ConstructException
+ Data.Real.Constructible: instance GHC.Float.Floating (Data.Complex.Generic.Complex Data.Real.Constructible.Construct)
+ Data.Real.Constructible: instance GHC.Float.Floating Data.Real.Constructible.Construct
+ Data.Real.Constructible: instance GHC.Num.Num (Data.Complex.Generic.Complex Data.Real.Constructible.Construct)
+ Data.Real.Constructible: instance GHC.Num.Num Data.Real.Constructible.Construct
+ Data.Real.Constructible: instance GHC.Read.Read Data.Real.Constructible.Construct
+ Data.Real.Constructible: instance GHC.Real.Fractional (Data.Complex.Generic.Complex Data.Real.Constructible.Construct)
+ Data.Real.Constructible: instance GHC.Real.Fractional Data.Real.Constructible.Construct
+ Data.Real.Constructible: instance GHC.Real.Real Data.Real.Constructible.Construct
+ Data.Real.Constructible: instance GHC.Real.RealFrac Data.Real.Constructible.Construct
+ Data.Real.Constructible: instance GHC.Show.Show (Data.Real.Constructible.Field k)
+ Data.Real.Constructible: instance GHC.Show.Show Data.Real.Constructible.Construct
+ Data.Real.Constructible: instance GHC.Show.Show Data.Real.Constructible.ConstructException
+ Data.Real.Constructible: instance GHC.Show.Show Data.Real.Constructible.FieldShape

Files

Data/Real/Constructible.hs view
@@ -55,7 +55,7 @@ import Data.Complex.Generic.TH (deriveComplexF) import Data.Ratio ((%), numerator, denominator) import Data.Typeable (Typeable)-import Math.NumberTheory.Powers.Squares (exactSquareRoot)+import Math.NumberTheory.Roots (exactSquareRoot) import Numeric.Search.Integer (search) import Text.Read (Lexeme (..), Read (..), lexP, parens, prec, readListPrecDefault, step) import Text.Read.Lex (numberToInteger)@@ -63,8 +63,8 @@ data FieldShape = QShape | SqrtShape !FieldShape deriving Show  data Field k where-  Q :: Field QShape-  Sqrt :: !(Field k) -> !(Elt k) -> Field (SqrtShape k)+  Q :: Field 'QShape+  Sqrt :: !(Field k) -> !(Elt k) -> Field ('SqrtShape k)  instance Show (Field k) where   showsPrec _ Q = showString "Q"@@ -72,9 +72,9 @@     showParen (d > 9) $ showsPrec 9 k . showString "[sqrt " . showsPrecK k 10 r . showString "]"  type family Elt (k :: FieldShape)-type instance Elt QShape = Rational+type instance Elt 'QShape = Rational data SqrtElt k = SqrtZero | SqrtElt !(Elt k) !(Elt k)-type instance Elt (SqrtShape k) = SqrtElt k+type instance Elt ('SqrtShape k) = SqrtElt k  sqrtElt :: Field k -> Elt k -> Elt k -> SqrtElt k sqrtElt k a b | isZeroK k a && isZeroK k b = SqrtZero@@ -183,7 +183,7 @@ (-!), (+!), (*!), (/!) :: (Int -> ShowS) -> (Int -> ShowS) -> Int -> ShowS infixl 6 +!, -! infixl 7 *!, /!-negateS s d = showParen (d > 6) $ showChar '-' . s 6+negateS s d = showParen (d > 6) $ showChar '-' . s 7 (+!) s1 s2 d = showParen (d > 6) $ s1 6 . showString " + " . s2 7 (-!) s1 s2 d = showParen (d > 6) $ s1 6 . showString " - " . s2 7 (*!) s1 s2 d = showParen (d > 7) $ s1 7 . showChar '*' . s2 8@@ -351,8 +351,7 @@   log = throw (Unconstructible "log")   a ** b = go (numerator b') (denominator b') where     b' = toRational b-    go p q = let (n, p') = divMod p q in-      (if n >= 0 then a^n else 1/a^(-n))*go' p' q+    go p q = let (n, p') = divMod p q in a^^n*go' p' q     go' 0 _ = 1     go' p q = case divMod q 2 of       (q', 0) -> sqrt (go p q')@@ -386,7 +385,7 @@  instance Enum Construct where   succ = (+ 1)-  pred = (subtract 1)+  pred = subtract 1   toEnum = fromIntegral   fromEnum = fromInteger . truncate   enumFrom n = n `seq` (n : enumFrom (n + 1))
constructible.cabal view
@@ -1,5 +1,5 @@ name:                constructible-version:             0.1.0.1+version:             0.1.1 synopsis:            Exact computation with constructible real numbers description:   The constructible reals are the subset of the real numbers that can@@ -19,10 +19,10 @@ library   exposed-modules:     Data.Real.Constructible   build-depends:-    arithmoi >=0.1,     base ==4.*,     binary-search >=0.0,-    complex-generic >=0.1+    complex-generic >=0.1,+    integer-roots >=1.0   ghc-options:       -Wall  source-repository head