我有一个3D坐标列表(x,y,z),它指定了每个位置的标量值(rho),我已将其加载到一个复制数组中:
a :: Array D DIM1 (Int, Int, Int, Double)
即。每个数组元素都是一个4元组,代表(x,y,z,rho)。另外,我并不喜欢使用repa。
我想将其转换为DIM3数组,每个位置包含适当的rho值(或默认值,或者可能是插值)。
我想不出用traverse
(至少没有效率)这样做的方法,因为traverse
使用新数组的索引,而不是源数组。是否可以使用repa,或者我是否需要使用不同的数组库(甚至是可变数组)?