repa

    3热度

    1回答

    我想知道如果有写下面repA的功能 zipOverColumns :: (Source r1 a, Source r2 b) => (a -> b -> c) -> Array r1 DIM1 a -> Array r2 DIM2 b -> Array D DIM2 c zipOverColumns f x y = traverse

    8热度

    1回答

    我从磁盘加载RGB图像与JuicyPixels-repa。不幸的是,图像的阵列表示是Array F DIM3 Word8,其中内部维度是RGB像素。这与现有的repa图像处理算法有些不兼容,其中RGB图像是Array U DIM2 (Word8, Word8, Word8)。 我要计算图像的直方图RGB,我在寻找一个函数签名: type Hist = Array U DIM1 Int histo

    3热度

    1回答

    我真的是新来的Haskell世界,所以请原谅我的愚蠢问题。我instlled哈斯克尔平台,我执行cabal install repa,然后试图在WinGHCi import qualified Data.Array.Repa as R :m + Data.Array.Repa 加载一个文件,这个代码,但我得到这个: Could not find module `Data.Array.Repa

    6热度

    1回答

    两个相关的问题。 是有一个原因是没有可变(ST单子)实现repa阵列?相当于Data.Vector.Mutable但具有形状。 与此相关的,如何一个应该执行(从相同阵列的其它元素计算阵列元件)的动态规划算法,在装箱表示?

    2热度

    1回答

    我无法看到Repa为其任何“清单表示”中的数据指定内存布局。这是指定的地方? 当然,我可以通过实验找到,但我宁愿知道布局是否正式或随时可能发生变化。 编辑:为了澄清,我明白了一个StorableVector的布局方式,但我不知道是否Array U DIM2 Double(例如)是行为主,列为主的,或者一些疯狂。

    1热度

    2回答

    我正在使用repa-devil来读取和写入图像。现在我需要以编程方式创建图像。但是,Data.Array.Repa.IO.DevIL中的Image构造函数(如RGB)都需要外部内存缓冲区阵列。我必须走出去学习如何使用这些外国指针(听起来很可怕)吗?或者我可以将一个拆箱数组转换为我需要的类型? emptyImage :: RandomGen r => (Int, Int) -> Rand r Ima

    5热度

    2回答

    我在写一个程序,生成图像,我想将它带入一个Repa阵列。我目前使用的类型: data Colour = Colour Double Double Double 代表像素,并且我有一个(可能是低效率的,但功能)功能,其一个Colour转换成DIM1数组: colourToRepa :: Colour -> Array U DIM1 Double colourToRepa (Colour r g

    7热度

    2回答

    在GNU八度的代码 - [e, ix] = min(X); 将返回最小元素,它的位置。 你如何在修复任意二进制函数? 这是我想出了: min x = z $ foldl' f (e,0,0) es where (e:es) = toList x f (a,ix,r) b = let ix' = ix+1 in if a < b then (a,ix',r) els

    4热度

    2回答

    我有一个函数具有以下类型签名来自Repa库 {-# LANGUAGE FlexibleContexts #-} dataLat :: Load r DIM1 Double => (Array r DIM1 Double -> Array U DIM1 Double, Array U DIM1 Double) Array,U和DIM1。 dataLat创建稍后作为元组传递给其他函数

    4热度

    2回答

    在数字哈斯克尔惹巴教程Wiki,有一个通道读取(上下文): 10.1融合,以及为什么需要它 惹巴主要取决于阵列的融合实现快速代码。融合是 GHC执行的内联和代码转换的组合,当 它编译您的程序时,它是一个奇特的名字。融合过程将在Repa库中定义的数组填充 循环与您在自己的模块中编写的“工作”函数合并。如果融合过程失败,那么生成的程序将比需要的慢得多,通常使用普通Haskell列表的等效程序的速度要慢