Boost logo

Boost :

From: Paul A Bristow (pbristow_at_[hidden])
Date: 2007-12-24 07:08:20


>-----Original Message-----
>From: boost-bounces_at_[hidden]
>[mailto:boost-bounces_at_[hidden]] On Behalf Of Joel Eidsath
>Sent: 22 December 2007 23:02
>To: boost_at_[hidden]
>Subject: [boost] [random] poisson_distribution problem and fix
>
>The poisson_distribution code will fail for any mean larger than 750
>or so (on my x86_64 machine). The problem is a comparison with
>exp(-_mean) which evaluates as zero right around there.
>
>A far better fix would be to use an algorithm other than Knuth's for
>this. Knuth's algorithm is simple, but O(n). Here is some code I
>wrote, converting some old Fortran code that a friend had got from
>Numerical Recipes once upon a time. It works, but would need actual
>testing before use in production code:
>
>#ifndef F_POISSON_HEADER
>#define F_POISSON_HEADER

<snipped>

>#endif

This looks too obviously lifted from NR in C (or FORTRAN) to fit the Boost license.

But the algorithm should still be usable? (But I am not qualified to judge).

ln gamma (and poisson) is available from the Math Toolkit, but this is a random requirement and you may value speed more than
accuracy?

Paul

---
Paul A Bristow
Prizet Farmhouse, Kendal, Cumbria UK LA8 8AB
+44 1539561830 & SMS, Mobile +44 7714 330204 & SMS
pbristow_at_[hidden]
 

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk