0
沒有標準庫函數來執行此操作。我怎樣纔能有效地做到這一點?如何計算Scala中的泊松數
沒有標準庫函數來執行此操作。我怎樣纔能有效地做到這一點?如何計算Scala中的泊松數
我翻譯this answer到斯卡拉:
def recursive_poisson_helper(m:Long, r:Long, p:Double, i:Long):Double = {
if (r == i) {
p
} else {
recursive_poisson_helper(m, r, (p * m)/(i + 1), i + 1)
}
}
def efficient_poisson(m:Long, r:Long): Double = {
val p = math.exp(-m)
recursive_poisson_helper(m, r, p, 0)
}
斯卡拉微風,http://www.scalanlp.org/在其stats.distributions包泊松類。
case class Poisson(mean: Double)(implicit rand: RandBasis = Rand)
'我'應該可能是'龍',否則你不應該真的測試平等。 – Debilski 2013-04-22 21:24:56
而函數名稱並不遵循Scalas風格指南,所有這些不必要的大括號,'recursive_poisson_helper'應該是一個內部函數。 – sschaef 2013-04-22 21:39:34
我是scala n00b,感謝您的反饋!我會修改。 – 2013-04-22 23:15:51