packages feed

Boolean 0.1.1 → 0.1.2

raw patch · 2 files changed

+23/−2 lines, 2 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

+ Data.Boolean: atan2 :: RealFloatB a => a -> a -> a
+ Data.Boolean: class (Boolean (BooleanOf a), RealFrac a, Floating a) => RealFloatB a
+ Data.Boolean: instance RealFloatB Double
+ Data.Boolean: instance RealFloatB Float
+ Data.Boolean: isIEEE :: RealFloatB a => a -> BooleanOf a
+ Data.Boolean: isInfinite :: RealFloatB a => a -> BooleanOf a
+ Data.Boolean: isNaN :: RealFloatB a => a -> BooleanOf a
+ Data.Boolean: isNegativeZero :: RealFloatB a => a -> BooleanOf a

Files

Boolean.cabal view
@@ -1,5 +1,5 @@ Name:                Boolean-Version:             0.1.1+Version:             0.1.2 Synopsis:            Generalized booleans Category:            Data Cabal-Version:       >= 1.6
src/Data/Boolean.hs view
@@ -36,7 +36,7 @@ module Data.Boolean   (     Boolean(..), BooleanOf, IfB(..), boolean, cond, crop-  , EqB(..), OrdB(..), minB, maxB, sort2B+  , EqB(..), OrdB(..), RealFloatB(..), minB, maxB, sort2B   ) where  import Data.Monoid (Monoid,mempty)@@ -110,6 +110,13 @@ sort2B :: (IfB a, OrdB a) => (a,a) -> (a,a) sort2B (u,v) = ifB (u <=* v) (u,v) (v,u) +class (Boolean (BooleanOf a), RealFrac a, Floating a) => RealFloatB a where+  isNaN :: a -> BooleanOf a+  isInfinite :: a -> BooleanOf a+  isNegativeZero :: a -> BooleanOf a+  isIEEE :: a -> BooleanOf a+  atan2 :: a -> a -> a+ {--------------------------------------------------------------------     Instances for Prelude types --------------------------------------------------------------------}@@ -145,6 +152,20 @@ SimpleTy(Char)  -- Similarly for other simple types.++instance RealFloatB Float where+  isNaN = Prelude.isNaN+  isInfinite = Prelude.isInfinite+  isNegativeZero = Prelude.isNegativeZero+  isIEEE = Prelude.isIEEE+  atan2 = Prelude.atan2++instance RealFloatB Double where+  isNaN = Prelude.isNaN+  isInfinite = Prelude.isInfinite+  isNegativeZero = Prelude.isNegativeZero+  isIEEE = Prelude.isIEEE+  atan2 = Prelude.atan2  -- TODO: Export these macros for external use. I guess I'd want a .h file as in -- the applicative-numbers package.