Unboxing problems in example from Stack Overflow
import Data.Array.Repa
arr :: Array U DIM2 Int
arr = fromListUnboxed (Z :. 5 :. 5) [1..25]
combined :: Array U DIM2 Int
combined
= computeP $ traverse arr (\_ -> Z :. 4 :. 4 :: DIM2)
$ \f (Z :. x :. y) -> sumAllS $ extract f (x,y) (2,2)
extract :: (DIM2 -> Int) -> (Int,Int) -> (Int,Int) -> Array D DIM2 Int
extract lookup (x0,y0) (width,height)
= fromFunction bounds
$ \sh -> offset lookup sh
where
bounds = Z :. width :. height
offset :: (DIM2 -> Int) -> DIM2 -> Int
offset f (Z :. x :. y) = f (Z :. x + x0 :. y + y0)
main = print combined
Change History (3)
Resolution: |
→ fixed
|
Status: |
new →
closed
|
Works fine if you deepSeqArray
arr
on entry tocombined
.