summaryrefslogtreecommitdiff
path: root/lib/Data/Packed/Internal
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Data/Packed/Internal')
-rw-r--r--lib/Data/Packed/Internal/Matrix.hs2
-rw-r--r--lib/Data/Packed/Internal/Vector.hs14
2 files changed, 8 insertions, 8 deletions
diff --git a/lib/Data/Packed/Internal/Matrix.hs b/lib/Data/Packed/Internal/Matrix.hs
index 7504b39..5e6e649 100644
--- a/lib/Data/Packed/Internal/Matrix.hs
+++ b/lib/Data/Packed/Internal/Matrix.hs
@@ -154,7 +154,7 @@ toLists m = splitEvery (cols m) . toList . flatten $ m
154fromRows :: Element t => [Vector t] -> Matrix t 154fromRows :: Element t => [Vector t] -> Matrix t
155fromRows vs = case compatdim (map dim vs) of 155fromRows vs = case compatdim (map dim vs) of
156 Nothing -> error "fromRows applied to [] or to vectors with different sizes" 156 Nothing -> error "fromRows applied to [] or to vectors with different sizes"
157 Just c -> reshape c . Data.Packed.Internal.Vector.join . map (adapt c) $ vs 157 Just c -> reshape c . vjoin . map (adapt c) $ vs
158 where 158 where
159 adapt c v | dim v == c = v 159 adapt c v | dim v == c = v
160 | otherwise = constantD (v@>0) c 160 | otherwise = constantD (v@>0) c
diff --git a/lib/Data/Packed/Internal/Vector.hs b/lib/Data/Packed/Internal/Vector.hs
index c99f4f0..e5c3196 100644
--- a/lib/Data/Packed/Internal/Vector.hs
+++ b/lib/Data/Packed/Internal/Vector.hs
@@ -16,7 +16,7 @@
16module Data.Packed.Internal.Vector ( 16module Data.Packed.Internal.Vector (
17 Vector, dim, 17 Vector, dim,
18 fromList, toList, (|>), 18 fromList, toList, (|>),
19 Data.Packed.Internal.Vector.join, (@>), safe, at, at', subVector, takesV, 19 vjoin, (@>), safe, at, at', subVector, takesV,
20 mapVector, mapVectorWithIndex, zipVectorWith, unzipVectorWith, 20 mapVector, mapVectorWithIndex, zipVectorWith, unzipVectorWith,
21 mapVectorM, mapVectorM_, mapVectorWithIndexM, mapVectorWithIndexM_, 21 mapVectorM, mapVectorM_, mapVectorWithIndexM, mapVectorWithIndexM_,
22 foldVector, foldVectorG, foldLoop, foldVectorWithIndex, 22 foldVector, foldVectorG, foldLoop, foldVectorWithIndex,
@@ -183,16 +183,16 @@ infixl 9 @>
183(@>) = at 183(@>) = at
184 184
185 185
186{- | creates a new Vector by joining a list of Vectors 186{- | concatenate a list of vectors
187 187
188@> join [fromList [1..5], constant 1 3] 188@> vjoin [fromList [1..5], constant 1 3]
1898 |> [1.0,2.0,3.0,4.0,5.0,1.0,1.0,1.0]@ 1898 |> [1.0,2.0,3.0,4.0,5.0,1.0,1.0,1.0]@
190 190
191-} 191-}
192join :: Storable t => [Vector t] -> Vector t 192vjoin :: Storable t => [Vector t] -> Vector t
193join [] = error "joining zero vectors" 193vjoin [] = error "vjoin zero vectors"
194join [v] = v 194vjoin [v] = v
195join as = unsafePerformIO $ do 195vjoin as = unsafePerformIO $ do
196 let tot = sum (map dim as) 196 let tot = sum (map dim as)
197 r <- createVector tot 197 r <- createVector tot
198 unsafeWith r $ \ptr -> 198 unsafeWith r $ \ptr ->