]> gitweb.michael.orlitzky.com - numerical-analysis.git/commitdiff
Bump to fixed-vector-0.2.*.
authorMichael Orlitzky <michael@orlitzky.com>
Mon, 11 Feb 2013 14:34:30 +0000 (09:34 -0500)
committerMichael Orlitzky <michael@orlitzky.com>
Mon, 11 Feb 2013 14:34:30 +0000 (09:34 -0500)
numerical-analysis.cabal
src/Matrix.hs
src/Vector.hs

index ff7aaaa2d417365c21c8592818f5d0830aed52f5..88455aa6b969bb16ec38bb2517079de432390ea7 100644 (file)
@@ -22,7 +22,7 @@ library
 
   build-depends:
     base              >= 3 && < 5,
-    fixed-vector      == 0.1.*,
+    fixed-vector      == 0.2.*,
     numbers           == 3000.1.*,
     vector            == 0.10.*
 
index 5b558448100c35d817a88c3ef4d4802a0709db01..ae1c5884af20623f27425e10dcd6e8e01e41e823 100644 (file)
@@ -10,8 +10,7 @@ where
 import Vector
 import Data.Vector.Fixed (
   Dim,
-  Vector,
-  (!),
+  Vector
   )
 import qualified Data.Vector.Fixed as V (
   fromList,
index a4d3c13585bfba3b0b06a14506c0b025eb3cc3c4..1aaf78daa42e31ca0eae5e106b52aa3827276882 100644 (file)
@@ -15,12 +15,12 @@ import Data.Vector.Fixed (
   N3,
   N4,
   Vector(..),
-  (!),
   construct,
   inspect,
   toList,
   )
 import qualified Data.Vector.Fixed as V (
+  eq,
   foldl,
   length,
   map,
@@ -81,8 +81,8 @@ instance (Show a, Vector v a) => Show (Vn v a) where
 --   >>> v1 == v3
 --   False
 --
-instance (Eq a, Vector v a, Vector v Bool) => Eq (Vn v a) where
-  (Vn v1) == (Vn v2) = V.foldl (&&) True (V.zipWith (==) v1 v2)
+instance (Eq a, Vector v a) => Eq (Vn v a) where
+  (Vn v1) == (Vn v2) = v1 `V.eq` v2
 
 
 -- | The use of 'Num' here is of course incorrect (otherwise, we
@@ -191,6 +191,17 @@ angle v1 v2 =
     norms = (norm v1) * (norm v2)
 
 
+-- | Unsafe indexing.
+--
+--   Examples:
+--
+--   >>> let v1 = make2d (1,2)
+--   >>> v1 ! 1
+--   2
+--
+(!) :: (Vector v a) => v a -> Int -> a
+(!) v1 idx = (toList v1) !! idx
+
 -- | Safe indexing.
 --
 --   Examples: