You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by Gilles Sadowski <gi...@harfang.homelinux.org> on 2012/12/11 12:26:33 UTC
Re: svn commit: r1420000 - in /commons/proper/math/trunk/src:
changes/changes.xml
main/java/org/apache/commons/math3/random/EmpiricalDistribution.java
test/java/org/apache/commons/math3/random/EmpiricalDistributionTest.java
Hi.
On Tue, Dec 11, 2012 at 05:36:07AM -0000, psteitz@apache.org wrote:
> Author: psteitz
> Date: Tue Dec 11 05:36:06 2012
> New Revision: 1420000
>
> URL: http://svn.apache.org/viewvc?rev=1420000&view=rev
> Log:
> Added RealDistribution methods to EmpiricalDistribution. JIRA: MATH-672.
>
> Modified:
> commons/proper/math/trunk/src/changes/changes.xml
> commons/proper/math/trunk/src/main/java/org/apache/commons/math3/random/EmpiricalDistribution.java
> commons/proper/math/trunk/src/test/java/org/apache/commons/math3/random/EmpiricalDistributionTest.java
>
> Modified: commons/proper/math/trunk/src/changes/changes.xml
> URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/changes/changes.xml?rev=1420000&r1=1419999&r2=1420000&view=diff
> ==============================================================================
> --- commons/proper/math/trunk/src/changes/changes.xml (original)
> +++ commons/proper/math/trunk/src/changes/changes.xml Tue Dec 11 05:36:06 2012
> @@ -77,6 +77,10 @@ This is a minor release: It combines bug
> 2. A few methods in the FastMath class are in fact slower that their
> counterpart in either Math or StrictMath (cf. MATH-740 and MATH-901).
> ">
> + <action dev="psteitz" type="update" issue="MATH-672">
> + Added methods to EmpiricalDistribution to implement the RealDistribution
> + interface.
> + </action>
> <action dev="tn" type="add" issue="MATH-897" due-to="Reid Hochstedler">
> DBSCAN clustering algorithm (in package "o.a.c.m.stat.clustering").
> </action>
>
> Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math3/random/EmpiricalDistribution.java
> URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math3/random/EmpiricalDistribution.java?rev=1420000&r1=1419999&r2=1420000&view=diff
> ==============================================================================
> [...]
> +
> + /**
> + * Mass of bin i under the within-bin kernel of the bin.
> + *
> + * @param i index of the bin
> + * @return the difference in the within-bin kernel cdf between the
> + * upper and lower endpoints of bin i
> + */
> + @SuppressWarnings("deprecation")
> + private double kB(int i) {
> + final double[] binBounds = getUpperBounds();
> + final RealDistribution kernel = getKernel(binStats.get(i));
> + return i == 0 ? kernel.cumulativeProbability(min, binBounds[0]) :
> + kernel.cumulativeProbability(binBounds[i - 1], binBounds[i]);
> + }
Is there any advantage to suppressing the deprecation warnings?
There are many other instances in the code. It could be construed that it
points to the current state of affairs: deprecated code is only used where
we cannot do otherwise because of backward-compatibility constraints.
Unrelated but in that same file:
* The Javadoc mentions "RandomDataImpl" instead of "RandomDataGenerator".
* The Javadoc for constructor (line 191)
public EmpiricalDistribution(int binCount,
RandomDataGenerator randomData)
mentions that "randomData [...] may be null, resulting in default JDK
generator". But that instead results in NPE.
* The constructor (line 164)
public EmpiricalDistribution(int binCount,
RandomGenerator generator)
should call the one at line 191 instead of duplicating code.
Regards,
Gilles
> [...]
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org
Re: svn commit: r1420000 - in /commons/proper/math/trunk/src: changes/changes.xml
main/java/org/apache/commons/math3/random/EmpiricalDistribution.java test/java/org/apache/commons/math3/random/EmpiricalDistributionTest.java
Posted by Phil Steitz <ph...@gmail.com>.
I just noticed the deprecation fixes broke backward compatibility.
Sorry I will fix that too.
Phil
On 12/11/12 7:54 AM, Phil Steitz wrote:
> On 12/11/12 3:26 AM, Gilles Sadowski wrote:
>> Hi.
>>
>> On Tue, Dec 11, 2012 at 05:36:07AM -0000, psteitz@apache.org wrote:
>>> Author: psteitz
>>> Date: Tue Dec 11 05:36:06 2012
>>> New Revision: 1420000
>>>
>>> URL: http://svn.apache.org/viewvc?rev=1420000&view=rev
>>> Log:
>>> Added RealDistribution methods to EmpiricalDistribution. JIRA: MATH-672.
>>>
>>> Modified:
>>> commons/proper/math/trunk/src/changes/changes.xml
>>> commons/proper/math/trunk/src/main/java/org/apache/commons/math3/random/EmpiricalDistribution.java
>>> commons/proper/math/trunk/src/test/java/org/apache/commons/math3/random/EmpiricalDistributionTest.java
>>>
>>> Modified: commons/proper/math/trunk/src/changes/changes.xml
>>> URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/changes/changes.xml?rev=1420000&r1=1419999&r2=1420000&view=diff
>>> ==============================================================================
>>> --- commons/proper/math/trunk/src/changes/changes.xml (original)
>>> +++ commons/proper/math/trunk/src/changes/changes.xml Tue Dec 11 05:36:06 2012
>>> @@ -77,6 +77,10 @@ This is a minor release: It combines bug
>>> 2. A few methods in the FastMath class are in fact slower that their
>>> counterpart in either Math or StrictMath (cf. MATH-740 and MATH-901).
>>> ">
>>> + <action dev="psteitz" type="update" issue="MATH-672">
>>> + Added methods to EmpiricalDistribution to implement the RealDistribution
>>> + interface.
>>> + </action>
>>> <action dev="tn" type="add" issue="MATH-897" due-to="Reid Hochstedler">
>>> DBSCAN clustering algorithm (in package "o.a.c.m.stat.clustering").
>>> </action>
>>>
>>> Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math3/random/EmpiricalDistribution.java
>>> URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math3/random/EmpiricalDistribution.java?rev=1420000&r1=1419999&r2=1420000&view=diff
>>> ==============================================================================
>>> [...]
>>> +
>>> + /**
>>> + * Mass of bin i under the within-bin kernel of the bin.
>>> + *
>>> + * @param i index of the bin
>>> + * @return the difference in the within-bin kernel cdf between the
>>> + * upper and lower endpoints of bin i
>>> + */
>>> + @SuppressWarnings("deprecation")
>>> + private double kB(int i) {
>>> + final double[] binBounds = getUpperBounds();
>>> + final RealDistribution kernel = getKernel(binStats.get(i));
>>> + return i == 0 ? kernel.cumulativeProbability(min, binBounds[0]) :
>>> + kernel.cumulativeProbability(binBounds[i - 1], binBounds[i]);
>>> + }
>> Is there any advantage to suppressing the deprecation warnings?
>> There are many other instances in the code. It could be construed that it
>> points to the current state of affairs: deprecated code is only used where
>> we cannot do otherwise because of backward-compatibility constraints.
> I am fine getting rid of the suppressions. You are correct that the
> suppression is there only because there is no way to avoid the warning.
>>
>> Unrelated but in that same file:
>> * The Javadoc mentions "RandomDataImpl" instead of "RandomDataGenerator".
> Thanks. Need to fix that.
>> * The Javadoc for constructor (line 191)
>> public EmpiricalDistribution(int binCount,
>> RandomDataGenerator randomData)
>>
>> mentions that "randomData [...] may be null, resulting in default JDK
>> generator". But that instead results in NPE.
> Hmm. I now see that introducing the super(generator) call to avoid
> deprecation warning broke the old contract. I will fix that. Good
> catch.
>> * The constructor (line 164)
>> public EmpiricalDistribution(int binCount,
>> RandomGenerator generator)
>> should call the one at line 191 instead of duplicating code.
> Yes. Will fix.
>>
>> Regards,
>> Gilles
>>
>>> [...]
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
>> For additional commands, e-mail: dev-help@commons.apache.org
>>
>>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org
Re: svn commit: r1420000 - in /commons/proper/math/trunk/src: changes/changes.xml
main/java/org/apache/commons/math3/random/EmpiricalDistribution.java test/java/org/apache/commons/math3/random/EmpiricalDistributionTest.java
Posted by Phil Steitz <ph...@gmail.com>.
On 12/11/12 3:26 AM, Gilles Sadowski wrote:
> Hi.
>
> On Tue, Dec 11, 2012 at 05:36:07AM -0000, psteitz@apache.org wrote:
>> Author: psteitz
>> Date: Tue Dec 11 05:36:06 2012
>> New Revision: 1420000
>>
>> URL: http://svn.apache.org/viewvc?rev=1420000&view=rev
>> Log:
>> Added RealDistribution methods to EmpiricalDistribution. JIRA: MATH-672.
>>
>> Modified:
>> commons/proper/math/trunk/src/changes/changes.xml
>> commons/proper/math/trunk/src/main/java/org/apache/commons/math3/random/EmpiricalDistribution.java
>> commons/proper/math/trunk/src/test/java/org/apache/commons/math3/random/EmpiricalDistributionTest.java
>>
>> Modified: commons/proper/math/trunk/src/changes/changes.xml
>> URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/changes/changes.xml?rev=1420000&r1=1419999&r2=1420000&view=diff
>> ==============================================================================
>> --- commons/proper/math/trunk/src/changes/changes.xml (original)
>> +++ commons/proper/math/trunk/src/changes/changes.xml Tue Dec 11 05:36:06 2012
>> @@ -77,6 +77,10 @@ This is a minor release: It combines bug
>> 2. A few methods in the FastMath class are in fact slower that their
>> counterpart in either Math or StrictMath (cf. MATH-740 and MATH-901).
>> ">
>> + <action dev="psteitz" type="update" issue="MATH-672">
>> + Added methods to EmpiricalDistribution to implement the RealDistribution
>> + interface.
>> + </action>
>> <action dev="tn" type="add" issue="MATH-897" due-to="Reid Hochstedler">
>> DBSCAN clustering algorithm (in package "o.a.c.m.stat.clustering").
>> </action>
>>
>> Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math3/random/EmpiricalDistribution.java
>> URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math3/random/EmpiricalDistribution.java?rev=1420000&r1=1419999&r2=1420000&view=diff
>> ==============================================================================
>> [...]
>> +
>> + /**
>> + * Mass of bin i under the within-bin kernel of the bin.
>> + *
>> + * @param i index of the bin
>> + * @return the difference in the within-bin kernel cdf between the
>> + * upper and lower endpoints of bin i
>> + */
>> + @SuppressWarnings("deprecation")
>> + private double kB(int i) {
>> + final double[] binBounds = getUpperBounds();
>> + final RealDistribution kernel = getKernel(binStats.get(i));
>> + return i == 0 ? kernel.cumulativeProbability(min, binBounds[0]) :
>> + kernel.cumulativeProbability(binBounds[i - 1], binBounds[i]);
>> + }
> Is there any advantage to suppressing the deprecation warnings?
> There are many other instances in the code. It could be construed that it
> points to the current state of affairs: deprecated code is only used where
> we cannot do otherwise because of backward-compatibility constraints.
I am fine getting rid of the suppressions. You are correct that the
suppression is there only because there is no way to avoid the warning.
>
>
> Unrelated but in that same file:
> * The Javadoc mentions "RandomDataImpl" instead of "RandomDataGenerator".
Thanks. Need to fix that.
> * The Javadoc for constructor (line 191)
> public EmpiricalDistribution(int binCount,
> RandomDataGenerator randomData)
>
> mentions that "randomData [...] may be null, resulting in default JDK
> generator". But that instead results in NPE.
Hmm. I now see that introducing the super(generator) call to avoid
deprecation warning broke the old contract. I will fix that. Good
catch.
> * The constructor (line 164)
> public EmpiricalDistribution(int binCount,
> RandomGenerator generator)
> should call the one at line 191 instead of duplicating code.
Yes. Will fix.
>
>
> Regards,
> Gilles
>
>> [...]
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org