4
Repa的所有約簡函數都可以折回與數組內容相同的類型。例如:如何將Repa數組摺疊爲任意值?
foldAllP :: (Shape sh, Source r a, Elt a, Unbox a, Monad m) => (a -> a -> a) -> a -> Array r sh a -> m a
foldAllS :: (Shape sh, Source r a, Elt a, Unbox a) => (a -> a -> a) -> a -> Array r sh a -> a
我想折repA的數組轉換成一個數據結構,我可以傳遞給GUI庫來呈現,即,任意的值,但在庫中做我不能找到一個功能這個。這個函數是否存在,還是必須使用[... | x <- [0..w-1], y <- [0..h-1]]
迭代單元格?
您是否有具體的例子來說明您想要做什麼? – ErikR
您可以使用'hmatrix-repa'軟件包將其轉換爲'hmatrix'數組,該數組是無操作轉換爲C型數組的。或者你可以從'hmatrix-repa'複製代碼,它很小。 – vivian
如果函數是關聯的,並且零值必須是左和右身份,摺疊修復數組纔有意義,因爲函數「foldAllP」和「foldAllS」不能保證元素關聯的順序。事實上,'foldAllP'可以在每次調用時自由選擇一個*不同的關聯。 – user2407038