commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jason McFall (JIRA)" <>
Subject [jira] Created: (MATH-294) RandomDataImpl.nextPoisson fails for means in range 6.0 - 19.99
Date Fri, 11 Sep 2009 17:34:57 GMT
RandomDataImpl.nextPoisson fails for means in range 6.0 - 19.99

                 Key: MATH-294
             Project: Commons Math
          Issue Type: Bug
    Affects Versions: 2.0, 1.2
         Environment: Java 1.6 on mac osX
            Reporter: Jason McFall

math.random.RandomDataImpl.nextPoisson(double mean) fails frequently (but not always) for
values of mean between 6.0 and 19.99 inclusive. For values below 6.0 (where I see there is
a branch in the logic) and above 20.0 it seems to be okay (though I've only randomly sampled
the space and run a million trials for the values I've tried)

When it fails, the exception is as follows (this for a mean of 6.0)

org.apache.commons.math.MathRuntimeException$4: must have n >= 0 for n!, got n = -2
	at org.apache.commons.math.MathRuntimeException.createIllegalArgumentException(
	at org.apache.commons.math.util.MathUtils.factorialLog(
	at org.apache.commons.math.random.RandomDataImpl.nextPoisson( 

ie MathUtils.factorialLog is being called with a negative input

To reproduce:

    JDKRandomGenerator random = new JDKRandomGenerator();
    RandomData randomData = new RandomDataImpl(random);

    for (int i=0; i< 1000000; i++){

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message