Все функции сокращения 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 в структуру данных, которую я могу передать в библиотеку графического интерфейса для рендеринга, то есть произвольное значение, но я не могу найти функцию в библиотеке для этого. Существует ли эта функция или мне нужно перебирать ячейки, используя [... | x <- [0..w-1], y <- [0..h-1]]
?
hmatrix-repa
для преобразования в массивhmatrix
, который является неоперативным преобразованием в массив C-типа. Или вы можете просто скопировать код изhmatrix-repa
, он такой маленький. - person vivian   schedule 02.11.2015foldAllP
иfoldAllS
не гарантируют порядка, в котором связаны элементы. На самом делеfoldAllP
мог свободно выбирать разные связи при каждом вызове. - person user2407038   schedule 02.11.2015