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 +1/−1
- src/Data/Boolean.hs +22/−1
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.