gpt4 book ai didi

haskell - Repa 中的基本顺序数组转换

转载 作者:行者123 更新时间:2023-12-01 23:08:46 25 4
gpt4 key购买 nike

我想知道repa中是否有(//)的类似物?

无法并行化的数组转换需要它。例如,如果函数需要整个数组来更改数组的单个条目,然后将其应用于新数组等等(并且它应该按顺序运行)。

最佳答案

(//)可以用Data.Array.Repa.fromFunction来实现:

import Data.Array.Repa

(//) :: Shape sh => Array sh a -> [(sh,a)] -> Array sh a
(//) arr us = fromFunction (extent arr) (\sh -> case lookup sh us of
Just a -> a
Nothing -> index arr sh)

fromFunction 可以传递一个 Shape sh => s -> a 类型的函数,它本身可以利用整个数组。

上述实现一次执行所有更新。

关于haskell - Repa 中的基本顺序数组转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6320775/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com