[Haskell-cafe] How to devide matrix into small blocks
Henning Thielemann
lemming at henning-thielemann.de
Wed Jun 13 03:09:01 EDT 2007
On Wed, 13 Jun 2007, L.Guo wrote:
> I already have one matrix of type [[a]] to store one image.
>
> What I want to do is to devide the image into severial small blocks in same size.
>
> To do that, I wrote this tool function.
>
> chop :: Int -> [a] -> [[a]]
> chop _ [] = []
> chop n ls = take n ls : chop n (drop n ls)
I assume that it is more efficient to use 'splitAt' instead of 'take' and
'drop'.
> But I do not know how to use it to write the function.
chop blockHeight (map (chop blockWidth) image)
More information about the Haskell-Cafe
mailing list