packages feed

aern2-real 0.2.9.2 → 0.2.10.0

raw patch · 4 files changed

+34/−16 lines, 4 filesdep ~aern2-mpPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: aern2-mp

API changes (from Hackage documentation)

+ AERN2.Real: type CanSelectBool k = (CanSelect k, SelectType k ~ Bool)
+ AERN2.Real: type CanSelectCNBool k = (CanSelect k, SelectType k ~ CN Bool)
- AERN2.Real: class (OrderedField r, HasLimits Int r, HasLimits Integer r, HasLimits Rational r, CanSelect (OrderCompareType r r), HasIfThenElseSameType (SelectType (OrderCompareType r r)) r, (CanTestCertainly (SelectType (OrderCompareType r r)))) => RealNumber r
+ AERN2.Real: class (OrderedField r, HasLimitsSameType Int r, HasLimitsSameType Integer r, HasLimitsSameType Rational r, CanTakeCNErrors r, CanSelectCNBool (OrderCompareType r r), OrderCompareType r r ~ OrderCompareType Integer r, OrderCompareType r r ~ OrderCompareType r Integer, OrderCompareType r r ~ OrderCompareType Int r, OrderCompareType r r ~ OrderCompareType r Int, OrderCompareType r r ~ OrderCompareType Rational r, OrderCompareType r r ~ OrderCompareType r Rational, EqCompareType r r ~ OrderCompareType r r, EqCompareType r r ~ EqCompareType Integer r, EqCompareType r r ~ EqCompareType r Integer, EqCompareType r r ~ EqCompareType Int r, EqCompareType r r ~ EqCompareType r Int, EqCompareType r r ~ EqCompareType Rational r, EqCompareType r r ~ EqCompareType r Rational) => RealNumber r

Files

aern2-real.cabal view
@@ -5,7 +5,7 @@ -- see: https://github.com/sol/hpack  name:           aern2-real-version:        0.2.9.2+version:        0.2.10.0 synopsis:       Real numbers as convergent sequences of intervals description:    Please see the README on GitHub at <https://github.com/michalkonecny/aern2/#readme> category:       Math@@ -60,7 +60,7 @@   ghc-options: -Wall   build-depends:       QuickCheck-    , aern2-mp >=0.2.9.1+    , aern2-mp >=0.2.10.0     , base ==4.*     , collect-errors >=0.1.5     , hspec@@ -92,7 +92,7 @@   ghc-options: -threaded -rtsopts -with-rtsopts=-N -Wall   build-depends:       QuickCheck-    , aern2-mp >=0.2.9.1+    , aern2-mp >=0.2.10.0     , aern2-real     , base ==4.*     , collect-errors >=0.1.5
changelog.md view
@@ -1,5 +1,8 @@ # Change log for aern2-real +* v 0.2.10 2022-08-20+  * add to RealNumber: HasLimitsSameType, CanSelectCNBool, same compare types+  * SelectType CKleenean = CN Bool * v 0.2.9.2 2022-08-19   * add to RealNumber: HasIfThenElse for its SelectType * v 0.2.9 2022-07-13 (update in aern2-mp)
src/AERN2/Real.hs view
@@ -23,7 +23,8 @@    -- * limits    HasLimits(..),    -- * lazy Kleeneans-   CKleenean, CanBeCKleenean, ckleenean, CanSelect(..),+   CKleenean, CanBeCKleenean, ckleenean, +   CanSelect(..), CanSelectBool, CanSelectCNBool,    -- * extracting approximations    CanExtractApproximation(..), (?), bits, prec,    -- * abstract real numbers@@ -45,19 +46,32 @@  import MixedTypesNumPrelude -- import qualified Prelude as P-import GHC.TypeLits+import GHC.TypeLits ( KnownNat )+import Numeric.CollectErrors (CanTakeCNErrors)  -- import Text.Printf -- -- import AERN2.MP.Dyadic  class     (OrderedField r-    , HasLimits Int r-    , HasLimits Integer r-    , HasLimits Rational r-    , CanSelect (OrderCompareType r r)-    , HasIfThenElseSameType (SelectType (OrderCompareType r r)) r-    , (CanTestCertainly (SelectType (OrderCompareType r r))))+    , HasLimitsSameType Int r+    , HasLimitsSameType Integer r+    , HasLimitsSameType Rational r+    , CanTakeCNErrors r+    , CanSelectCNBool (OrderCompareType r r)+    , OrderCompareType r r ~ OrderCompareType Integer r+    , OrderCompareType r r ~ OrderCompareType r Integer+    , OrderCompareType r r ~ OrderCompareType Int r+    , OrderCompareType r r ~ OrderCompareType r Int+    , OrderCompareType r r ~ OrderCompareType Rational r+    , OrderCompareType r r ~ OrderCompareType r Rational+    , EqCompareType r r ~ OrderCompareType r r+    , EqCompareType r r ~ EqCompareType Integer r+    , EqCompareType r r ~ EqCompareType r Integer+    , EqCompareType r r ~ EqCompareType Int r+    , EqCompareType r r ~ EqCompareType r Int+    , EqCompareType r r ~ EqCompareType Rational r+    , EqCompareType r r ~ EqCompareType r Rational)     =>      RealNumber r 
src/AERN2/Real/CKleenean.hs view
@@ -53,16 +53,17 @@   or2 = lift2 or2  instance CanSelect CKleenean where-  type SelectType CKleenean = Bool+  type SelectType CKleenean = CN Bool   select (CSequence s1) (CSequence s2) = aux s1 s2     where     aux (k1 : rest1) (k2 : rest2) =       case (CN.toEither k1, CN.toEither k2) of-        (Right CertainTrue, _) -> True -        (_, Right CertainTrue) -> False-        (Right CertainFalse, Right CertainFalse) -> error "select: Both branches failed!"+        (Right CertainTrue, _) -> cn True +        (_, Right CertainTrue) -> cn False+        (Right CertainFalse, Right CertainFalse) -> +          CN.noValueNumErrorCertain $ CN.NumError "select: Both branches failed!"         _ -> aux rest1 rest2-    aux _ _ = error "select: internal error"+    aux _ _ = CN.noValueNumErrorCertain $ CN.NumError "select: internal error"  instance (CanUnionCNSameType t) =>   HasIfThenElse CKleenean (CSequence t)