Haskell repa:2つの配列の内積結果が間違っています

iceiceice
import Data.Array.Repa
import Data.Vector.Unboxed hiding(zipWith)
import Prelude hiding(zipWith,replicate)

dotp :: Array U DIM1 Float -> Array U DIM1 Float -> IO Float
dotp x y =  sumAllP $ zipWith (*) x y

x = fromUnboxed (Z:.20000000) $ replicate 20000000 1 
y = fromUnboxed (Z:.20000000) $ replicate 20000000 1

main = (dotp x y) >>= print

でコンパイル ghc -O2 -threaded test.hs

ただし、実行可能ファイルをで実行すると ./test +RTS -N1

結果は 1.6777216e7

./test +RTS -N2コアが多い間、またはコアが多い場合は、

結果は正しいです: 2.0e7

私のコードの何が問題になっていますか?

ゼータ

Float代わりに使用しますDoubleFloatユースケースに十分な有効数字(〜7)がありません:

λ>(1.6777216e7 ::フロート)+ 1
1.6777216e7

に切り替えますDoubleすべての値が整数である場合は、Int(またはIntxxからData.Int)またはWord(からData.Word)を検討してください

参照:

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

初心者のhaskellコードは完全に間違っています

分類Dev

Haskell関数が機能しません、何が間違っていますか?

分類Dev

HaskellでのMapMの結果?

分類Dev

Haskell:なぜこのモナド変換が間違っているのですか?

分類Dev

HaskellとStateMonadの乱数シーケンス、何が間違っているのですか?

分類Dev

Haskellで16進数から12進数に変換しようとすると、間違った結果が得られるのはなぜですか?

分類Dev

Haskellの双圏

分類Dev

Haskellの同型 `fmap`

分類Dev

HaskellのCoArbitrary

分類Dev

HaskellのIORef

分類Dev

Haskellの追加操作

分類Dev

Haskellの素数

分類Dev

Haskellの評価

分類Dev

haskellの関数(。)。(。)

分類Dev

haskellのpartialSum

分類Dev

の意味 "!!" Haskellで

分類Dev

Haskellで `JustString`が間違っている理由

分類Dev

配列内のC ++ coutの番号が間違っています

分類Dev

Haskellプログラムのクラッシュ-無限再帰?どこのステートメントが間違っていますか?

分類Dev

Haskell対erlang:foldlの違い?

分類Dev

Haskellの文字列操作

分類Dev

Haskellの文字列操作

分類Dev

hsc2hsを使用してCとHaskellの間で静的配列を渡す

分類Dev

Haskellの2進数

分類Dev

2つの日付を比較するJavascriptの結果が間違っている

分類Dev

HaskellのFunctorとApplicativeで中間結果を印刷する方法

分類Dev

MySQLの結合が間違っています結果

分類Dev

タプルの2つのリストが等しいことを確認して結合する方法をhaskell

分類Dev

Haskellでの{-##-}の目的

Related 関連記事

ホットタグ

アーカイブ