rings 0.0.2.2 → 0.0.2.3
raw patch · 3 files changed
+7/−11 lines, 3 files
Files
- rings.cabal +2/−1
- src/Data/Dioid.hs +3/−9
- src/Data/Fixed/Instance.hs +2/−1
rings.cabal view
@@ -1,5 +1,5 @@ name: rings-version: 0.0.2.2+version: 0.0.2.3 synopsis: Groups, rings, semirings, and dioids. description: Lawful algebraic classes and a la carte instances. homepage: https://github.com/cmk/rings@@ -27,6 +27,7 @@ , Data.Semiring.Matrix , Data.Semiring.Module , Data.Semiring.Property+ , Data.Bool.Instance , Data.Complex.Instance , Data.Double.Instance
src/Data/Dioid.hs view
@@ -49,15 +49,9 @@ -- | A dioid homomorphism from the naturals to /r/. fromNatural :: Natural -> r-{-- psignum :: Monoid r => r -> Maybe r- psignum x = case pcomparePrd mempty x- Just GT -> Just sunit- Just EQ -> Just mempty- _ -> Nothing--} --instance (Monoid a, Monoid b, Dioid a, Dioid b) => Dioid (a, b)+instance (Monoid a, Monoid b, Dioid a, Dioid b) => Dioid (a, b) where+ fromNatural x = (fromNatural x, fromNatural x) instance (Monoid a, Monoid b, Monoid c, Dioid a, Dioid b, Dioid c) => Dioid (a, b, c)+ fromNatural x = (fromNatural x, fromNatural x, fromNatural x)
src/Data/Fixed/Instance.hs view
@@ -37,7 +37,8 @@ #define deriveRing(ty) \ instance Ring (ty) where { \- abs = N.abs \+ fromInteger = N.fromInteger \+; abs = N.abs \ ; signum = N.signum \ ; {-# INLINE abs #-} \ ; {-# INLINE signum #-} \