packages feed

bed-and-breakfast 0.1.1 → 0.1.2

raw patch · 2 files changed

+28/−1 lines, 2 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

+ Numeric.Matrix: instance (MatrixElement e, Fractional e) => Fractional (Matrix e)
+ Numeric.Matrix: instance MatrixElement e => Eq (Matrix e)
+ Numeric.Matrix: instance MatrixElement e => Num (Matrix e)

Files

bed-and-breakfast.cabal view
@@ -1,10 +1,17 @@ Name:           bed-and-breakfast-Version:        0.1.1+Version:        0.1.2 Synopsis:       Efficient Matrix operations in 100% Haskell. Description:    Efficient Matrix operations in 100% Haskell.                 .+                [@v0.1@] Initial version, features @det@,+                    basic arithmetic operations, and instances for+                    'Float', 'Double', 'Complex', and 'Rational'.+                .                 [@v0.1.1@] Fixed wrong algorithm for computing the                     inverse of a Matrix.+                .+                [@v0.1.2@] Added instances for @Num Matrix@,+                    @Fractional Matrix@, and @Eq Matrix@.  License:        MIT License-File:   LICENSE
src/Numeric/Matrix.hs view
@@ -61,6 +61,8 @@ import Data.Function import Data.Ratio import Data.Complex+import Data.Maybe+ import qualified Data.List as L import Data.Array.IArray import Data.Array.MArray@@ -87,6 +89,24 @@     show = unlines . P.map showRow . toList       where         showRow = unwords . P.map ((' ':) . show)++instance (MatrixElement e) => Num (Matrix e) where+    (+) = plus+    (-) = minus+    (*) = times+    abs         = matrix (1,1) . const . abs . det+    signum      = matrix (1,1) . const . signum . det+    fromInteger = matrix (1,1) . const . fromInteger+    +instance (MatrixElement e, Fractional e) => Fractional (Matrix e) where+    recip        = fromJust . inv+    fromRational = matrix (1,1) . const . fromRational++instance (MatrixElement e) => Eq (Matrix e) where+    m == n+        | dimensions m == dimensions n+            = allWithIndex (\ix e -> m `at` ix == e) n+        | otherwise = False   class Division e where