diff options
author | Alberto Ruiz <aruiz@um.es> | 2015-06-17 19:35:31 +0200 |
---|---|---|
committer | Alberto Ruiz <aruiz@um.es> | 2015-06-17 19:35:31 +0200 |
commit | 52009006791ee2b71530a61f4bf9e1c065c04eae (patch) | |
tree | 36c4256822d99a3abc34902a8e86150be2a0ea17 /packages/base/src/Internal/ST.hs | |
parent | 61d90ff66af8bfe53ef8cdda8dfe1e70463c213c (diff) |
improved luSolve', tests
Diffstat (limited to 'packages/base/src/Internal/ST.hs')
-rw-r--r-- | packages/base/src/Internal/ST.hs | 2 |
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 | ||
231 | data Slice s t = Slice (STMatrix s t) Int Int Int Int | 232 | data Slice s t = Slice (STMatrix s t) Int Int Int Int |
232 | 233 | ||
233 | slice (Slice (STMatrix m) r0 c0 nr nc) = (m, idxs[r0,r0+nr-1,c0,c0+nc-1]) | 234 | slice (Slice (STMatrix m) r0 c0 nr nc) = (m, idxs[r0,r0+nr-1,c0,c0+nc-1]) |
234 | 235 | ||
236 | gemmm :: Element t => t -> Slice s t -> t -> Slice s t -> Slice s t -> ST s () | ||
235 | gemmm beta (slice->(r,pr)) alpha (slice->(a,pa)) (slice->(b,pb)) = res | 237 | gemmm 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) |