repa

    2熱度

    1回答

    我認爲這可以歸結爲愚蠢的類型錯誤,但我無法弄清楚。我有以下代碼: {-# LANGUAGE TypeOperators #-} import qualified Data.Array.Repa as R import System.Random import Data.Random.Normal import Data.List import Data.Function import

    0熱度

    1回答

    對於Haskell,我比較新,而且我試圖在項目中使用Repa包。我已經使用import qualified Data.Array.Repa as R進口包在我的源代碼,但在ghci中加載Haskell的文件時,我收到以下錯誤: Location_repa.hs:46:26: Not in scope: type constructor or class `D' Perhaps you mean

    1熱度

    1回答

    我一直在探索Data.Yarr數組庫,作爲我在Repa中的一些代碼的可能替代品。它似乎功能全面,基準測試 - 如果正確的話,可能會有性能改進。 我有興趣正確使用切片功能。 說我有複數浮點的2D ForeignPtr支持矩陣,以行優先格式 matrix2D :: UArray F L DIM2 (Complex Float) 我怎麼會去提取列片的載體,和/或行? 一個激勵的例子?比方說,我希望對

    6熱度

    1回答

    我不明白爲什麼這個程序使用repa: import Data.Array.Repa import Data.Array.Repa.Algorithms.Matrix import Data.Functor.Identity go = runIdentity $ do let mat = fromListUnboxed (ix2 2 2) [1..4] let ins =

    1熱度

    2回答

    我有兩個惹巴陣列a1和a2和我想消除在a2所有元素爲其在a1相應索引是高於某個閾值。例如: import qualified Data.Array.Repa as R -- for Repa import Data.Array.Repa (Z (..), (:.)(..)) a1 = R.fromFunction (Z :. 4) $ \(Z :. x) -> [8, 15, 9, 14]

    1熱度

    1回答

    我正在使用DevIL庫來讀取和寫入圖像。問題是我想覆蓋文件,如果它已經存在。 這裏是我的代碼: (RGB v) <- runIL $ readImage "/foo/foo.png" let rotated = (computeS $ batman v) :: Array F DIM3 Word8 runIL $ writeImage ("/foo/foo.png") (RGB rotated

    1熱度

    1回答

    首先,我是一個總的新手在修復,我仍然認爲我一般在Haskell初學者。 我需要一個有效的雙胞胎三元組陣列。天真的做法是[(Double, Double, Double)],但這不是有效的。我認爲我可以使用補償,因爲它應該是非常有效的。但是,我不知道應該如何定義一個三元組數組。 我可以做Array U DIM2 Double並在第二維中存儲三元組的元素(即第一個索引是三元組的索引,第二個索引是三元組

    1熱度

    1回答

    假設有相同的長度的兩個1-d陣列: let x = fromListUnboxed (ix1 4) [1, 2, 3, 4] let y = fromListUnboxed (ix1 4) [5, 6, 7, 8] 現在我想這兩個陣列堆疊成一個2-d陣列,使得這些數組形成行。我怎樣才能做到這一點? 基本上,我正在尋找numpy的的row_stack的等效: >>> x = np.array(

    0熱度

    1回答

    我有一個由0和1組成的一維Repa數組,我想計算其運行長度編碼。 例如:轉[0,0,1,1,1,0,0,0,1,0,1,1] into [2,3,3,1,1,2]或類似的東西。 (由於可讀性,我使用列表表示法) 理想情況下,我想要1的運行長度並忽略0。 所以[0,0,1,1,1,0,0,0,1,0,1,1] becomes [3,1,2]。 我想結果也是(Repa)數組。 如何使用Repa來做到這

    0熱度

    1回答

    我正在玩Repa,下面的代碼可以編譯和運行。 import qualified Data.Array.Repa as R --t:: R.Array R.U (R.Z R.:. Int) Float --t = R.fromListUnboxed (R.Z R.:. (10::Int)) ([1.0..10]::[Float]) main = do let x = R.fromL