2013-04-22 85 views

回答

1

我翻譯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) 
} 
+0

'我'應該可能是'龍',否則你不應該真的測試平等。 – Debilski 2013-04-22 21:24:56

+0

而函數名稱並不遵循Scalas風格指南,所有這些不必要的大括號,'recursive_poisson_helper'應該是一個內部函數。 – sschaef 2013-04-22 21:39:34

+0

我是scala n00b,感謝您的反饋!我會修改。 – 2013-04-22 23:15:51

2

斯卡拉微風,http://www.scalanlp.org/在其stats.distributions包泊松類。

case class Poisson(mean: Double)(implicit rand: RandBasis = Rand)