summaryrefslogtreecommitdiff
path: root/packages/base/src/Internal/ST.hs
diff options
context:
space:
mode:
authorAlberto Ruiz <aruiz@um.es>2015-06-17 19:35:31 +0200
committerAlberto Ruiz <aruiz@um.es>2015-06-17 19:35:31 +0200
commit52009006791ee2b71530a61f4bf9e1c065c04eae (patch)
tree36c4256822d99a3abc34902a8e86150be2a0ea17 /packages/base/src/Internal/ST.hs
parent61d90ff66af8bfe53ef8cdda8dfe1e70463c213c (diff)
improved luSolve', tests
Diffstat (limited to 'packages/base/src/Internal/ST.hs')
-rw-r--r--packages/base/src/Internal/ST.hs2
1 files changed, 2 insertions, 0 deletions
diff --git a/packages/base/src/Internal/ST.hs b/packages/base/src/Internal/ST.hs
index 25e7f03..d1defda 100644
--- a/packages/base/src/Internal/ST.hs
+++ b/packages/base/src/Internal/ST.hs
@@ -228,10 +228,12 @@ extractMatrix (STMatrix m) rr rc = unsafeIOToST (extractR m 0 (idxs[i1,i2]) 0 (i
228 (i1,i2) = getRowRange (rows m) rr 228 (i1,i2) = getRowRange (rows m) rr
229 (j1,j2) = getColRange (cols m) rc 229 (j1,j2) = getColRange (cols m) rc
230 230
231-- | r0 c0 height width
231data Slice s t = Slice (STMatrix s t) Int Int Int Int 232data Slice s t = Slice (STMatrix s t) Int Int Int Int
232 233
233slice (Slice (STMatrix m) r0 c0 nr nc) = (m, idxs[r0,r0+nr-1,c0,c0+nc-1]) 234slice (Slice (STMatrix m) r0 c0 nr nc) = (m, idxs[r0,r0+nr-1,c0,c0+nc-1])
234 235
236gemmm :: Element t => t -> Slice s t -> t -> Slice s t -> Slice s t -> ST s ()
235gemmm beta (slice->(r,pr)) alpha (slice->(a,pa)) (slice->(b,pb)) = res 237gemmm beta (slice->(r,pr)) alpha (slice->(a,pa)) (slice->(b,pb)) = res
236 where 238 where
237 res = unsafeIOToST (gemm u v a b r) 239 res = unsafeIOToST (gemm u v a b r)