Was this maybe to the wrong thread, or is there a doco issue here?

Phil

> On Oct 20, 2013, at 10:42 PM, Ted Dunning <ted.dunn...@gmail.com> wrote:
> 
> This makes it somewhat harder to read the docs code which is where I read 
> docs 90+% of the time.  
> 
> On the other hand my IDE will do the right thing if I ask it to. 
> 
> Sent from my iPhone
> 
>> On Oct 20, 2013, at 14:27, Thomas Neidhart <thomas.neidh...@gmail.com> wrote:
>> 
>>> On 10/20/2013 11:24 PM, t...@apache.org wrote:
>>> Author: tn
>>> Date: Sun Oct 20 21:24:45 2013
>>> New Revision: 1533990
>>> 
>>> URL: http://svn.apache.org/r1533990
>>> Log:
>>> [MATH-1039] Avoid code duplication by calling logDensity itself.
>>> 
>>> Modified:
>>>   
>>> commons/proper/math/trunk/src/main/java/org/apache/commons/math3/distribution/BetaDistribution.java
>>> 
>>> Modified: 
>>> commons/proper/math/trunk/src/main/java/org/apache/commons/math3/distribution/BetaDistribution.java
>>> URL: 
>>> http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math3/distribution/BetaDistribution.java?rev=1533990&r1=1533989&r2=1533990&view=diff
>>> ==============================================================================
>>> --- 
>>> commons/proper/math/trunk/src/main/java/org/apache/commons/math3/distribution/BetaDistribution.java
>>>  (original)
>>> +++ 
>>> commons/proper/math/trunk/src/main/java/org/apache/commons/math3/distribution/BetaDistribution.java
>>>  Sun Oct 20 21:24:45 2013
>>> @@ -136,24 +136,8 @@ public class BetaDistribution extends Ab
>>> 
>>>    /** {@inheritDoc} */
>>>    public double density(double x) {
>>> -        recomputeZ();
>>> -        if (x < 0 || x > 1) {
>>> -            return 0;
>>> -        } else if (x == 0) {
>>> -            if (alpha < 1) {
>>> -                throw new 
>>> NumberIsTooSmallException(LocalizedFormats.CANNOT_COMPUTE_BETA_DENSITY_AT_0_FOR_SOME_ALPHA,
>>>  alpha, 1, false);
>>> -            }
>>> -            return 0;
>>> -        } else if (x == 1) {
>>> -            if (beta < 1) {
>>> -                throw new 
>>> NumberIsTooSmallException(LocalizedFormats.CANNOT_COMPUTE_BETA_DENSITY_AT_1_FOR_SOME_BETA,
>>>  beta, 1, false);
>>> -            }
>>> -            return 0;
>>> -        } else {
>>> -            double logX = FastMath.log(x);
>>> -            double log1mX = FastMath.log1p(-x);
>>> -            return FastMath.exp((alpha - 1) * logX + (beta - 1) * log1mX - 
>>> z);
>>> -        }
>>> +        final double logDensity = logDensity(x);
>>> +        return logDensity == Double.NEGATIVE_INFINITY ? 0 : 
>>> FastMath.exp(logDensity);
>>>    }
>>> 
>>>    /** {@inheritDoc} **/
>> 
>> I did this change for one class, but I propose to do this whereever
>> applicable to avoid code duplication in the distribution classes.
>> 
>> WDYT?
>> 
>> Thomas
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
>> For additional commands, e-mail: dev-h...@commons.apache.org
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
> For additional commands, e-mail: dev-h...@commons.apache.org
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to