hakaru-dev / hakaru

A probabilistic programming language
BSD 3-Clause "New" or "Revised" License
310 stars 30 forks source link

Cauchy test 5 #192

Closed staplejw closed 6 years ago

staplejw commented 6 years ago

Failure in: 6:RoundTrip:7:1:t_normal_to_cauchy:0

haskell/Tests/TestTools.hs:130 expected: stdNormal = p <~ normal(nat2real(0), nat2prob(1)) return p stdCauchy = X1 <~ stdNormal X2 <~ stdNormal return X1 / X2 cauchy = fn a real: fn alpha prob: X <~ stdCauchy return a + prob2real(alpha) * X cauchy(nat2real(0), nat2prob(1)) but got: p5 <~ normal(+0/1, 1/1) p3 <~ normal(+0/1, 1/1) return p5 / p3 Cases: 342 Tried: 295 Errors: 2 Failures: 27

Failure in: 6:RoundTrip:7:1:t_normal_to_cauchy:1

haskell/Tests/TestTools.hs:130 expected: stdNormal = p <~ normal(nat2real(0), nat2prob(1)) return p stdCauchy = X1 <~ stdNormal X2 <~ stdNormal return X1 / X2 cauchy = fn a real: fn alpha prob: X <~ stdCauchy return a + prob2real(alpha) * X cauchy(nat2real(0), nat2prob(1)) but got: X5 <~ normal(+0/1, 1/1) Y3 <~ normal(+0/1, 1/1) return X5 / Y3 Cases: 342 Tried: 296 Errors: 2 Failures: 28

mkhattab940 commented 6 years ago

Turns out this is just how we have implemeneted the Cauchy distribution. Inlining the expected file results in something identical to the 0 file. Whoops