__group__ ticket summary component version type owner status created _changetime _description _reporter 3.2.2 37 Swap order of parameters to 'extend' so it matches 'slice'. repa 3.2.2 defect new 2012-10-16T01:46:09Z 2015-05-19T12:54:06Z The example expression also has the parameters in the wrong order. Ben Lippmeier 3.2.2 39 Missing bounds checks. repa 3.2.2 defect new 2013-09-06T02:05:46Z 2015-05-19T12:54:00Z "{{{ > let arr = fromListUnboxed (Z :. 3 :. 5) [1..15] :: Array U DIM2 Int > arr ! (Z:.2:.4 :: DIM2) 15 > reshape (Z:.15) arr ! (Z:.14 :: DIM1) 15 > reshape (Z:.15) arr ! (Z:.15 :: DIM1) 1076040336 > reshape (Z:.15) arr ! (Z:.(-15) :: DIM1) 140454916268033 > (fromListUnboxed (Z :. 10) [1..10] :: Array U DIM1 Int) ! (Z:.10 :: DIM1) *** Exception: ./Data/Vector/Generic.hs:244 ((!)): index out of bounds (10,10) }}}" Ben Lippmeier 3.2.2 40 Don't demand the whole list with fromList repa 3.2.2 defect new 2013-12-14T03:56:32Z 2015-05-19T12:54:12Z " If the client tries something like: {{{fromListUnboxed (Z:.s:.s) [0.0,0.0..]}}} then the code will stall when trying to determine the length of the list. " Ben Lippmeier 3.2.2 38 Make unsafeWriteMVec for boxed arrays strict repa 3.2.2 enhancement new 2013-04-23T02:25:08Z 2015-05-19T12:54:38Z " See the following SO question: http://stackoverflow.com/questions/16097418/parallel-repa-code-doesnt-create-sparks/ We can force an (Array V) to be evaluated by mapping a deepseq function across every element, but this is non-intuitive. It would be better to just make the write function strict and ensure all elements in such an array are properly evaluated. " Ben Lippmeier 3.2.2 41 Generalise foldS worker to have a different accumulator type repa 3.2.2 enhancement new 2014-02-11T11:20:53Z 2015-05-19T12:54:25Z "With {{{ foldS :: (Elt a, V.Unbox a) => M.IOVector a -- ^ vector to write elements into -> (Int# -> a) -- ^ function to get an element from the given index -> (a -> a -> a) -- ^ binary associative combination function -> a -- ^ starting value (typically an identity) -> Int# -- ^ inner dimension (length to fold over) -> IO () }}} the worker could really have type (a -> b -> b) in the sequential case." Ben Lippmeier 4.2.0 43 Avoid intermediate lists when packing Ints and Strings repa-convert 4.2.0 enhancement new 2015-05-19T12:50:16Z 2015-05-19T13:02:44Z The packer for Ints uses plain Haskell show, and the intermediate list of Chars won't be fused away. Ben Lippmeier 3.2.2 36 equals{S,P} functions are missing INILNE pragamas repa 3.2.2 defect new 2012-04-24T01:28:17Z 2015-05-19T12:53:51Z like it says Ben Lippmeier 3.2.2 13 Optimise Repa.fromByteString to avoid bounds checks in ByteString repa 3.2.2 enhancement new 2010-04-30T04:37:56Z 2015-05-19T12:54:19Z Should be able to use an intermediate CString for this. Ben Lippmeier