You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by Phil Steitz <ph...@gmail.com> on 2015/05/30 22:55:56 UTC
Re: [math] MATH-1229
On 5/30/15 10:26 AM, erans@apache.org wrote:
> Repository: commons-math
> Updated Branches:
> refs/heads/master 441687e5a -> 8be87e032
>
>
> MATH-1229
>
> Set initial capacity to input array's size in order to avoid
> unnecessary resizing for inputs larger than than the default
> capacity.
>
>
> Project: http://git-wip-us.apache.org/repos/asf/commons-math/repo
> Commit: http://git-wip-us.apache.org/repos/asf/commons-math/commit/8be87e03
> Tree: http://git-wip-us.apache.org/repos/asf/commons-math/tree/8be87e03
> Diff: http://git-wip-us.apache.org/repos/asf/commons-math/diff/8be87e03
>
> Branch: refs/heads/master
> Commit: 8be87e032a8c05622148357f30bdca3c614a669f
> Parents: 441687e
> Author: Gilles <er...@apache.org>
> Authored: Sat May 30 19:23:35 2015 +0200
> Committer: Gilles <er...@apache.org>
> Committed: Sat May 30 19:23:35 2015 +0200
>
> ----------------------------------------------------------------------
> .../org/apache/commons/math4/util/ResizableDoubleArray.java | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
> ----------------------------------------------------------------------
>
>
> http://git-wip-us.apache.org/repos/asf/commons-math/blob/8be87e03/src/main/java/org/apache/commons/math4/util/ResizableDoubleArray.java
> ----------------------------------------------------------------------
> diff --git a/src/main/java/org/apache/commons/math4/util/ResizableDoubleArray.java b/src/main/java/org/apache/commons/math4/util/ResizableDoubleArray.java
> index 09fd748..f5292c4 100644
> --- a/src/main/java/org/apache/commons/math4/util/ResizableDoubleArray.java
> +++ b/src/main/java/org/apache/commons/math4/util/ResizableDoubleArray.java
> @@ -179,7 +179,6 @@ public class ResizableDoubleArray implements DoubleArray, Serializable {
> * The input array is copied, not referenced.
> * Other properties take default values:
> * <ul>
> - * <li>{@code initialCapacity = 16}</li>
> * <li>{@code expansionMode = MULTIPLICATIVE}</li>
> * <li>{@code expansionFactor = 2.0}</li>
> * <li>{@code contractionCriterion = 2.5}</li>
> @@ -189,7 +188,9 @@ public class ResizableDoubleArray implements DoubleArray, Serializable {
> * @since 2.2
> */
> public ResizableDoubleArray(double[] initialArray) {
> - this(DEFAULT_INITIAL_CAPACITY,
> + this((initialArray == null || initialArray.length == 0 ?
+1 for the change here. Good catch. But I am wondering, might it
be better to use
initialArray.length < DEFAULT_INITIAL_CAPACITY in the test above?
Phil
> + DEFAULT_INITIAL_CAPACITY :
> + initialArray.length),
> DEFAULT_EXPANSION_FACTOR,
> DEFAULT_CONTRACTION_DELTA + DEFAULT_EXPANSION_FACTOR,
> DEFAULT_EXPANSION_MODE,
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org
Re: [math] MATH-1229
Posted by Phil Steitz <ph...@gmail.com>.
On 5/30/15 2:21 PM, Gilles wrote:
> On Sat, 30 May 2015 13:55:56 -0700, Phil Steitz wrote:
>> On 5/30/15 10:26 AM, erans@apache.org wrote:
>>> Repository: commons-math
>>> Updated Branches:
>>> refs/heads/master 441687e5a -> 8be87e032
>>>
>>>
>>> MATH-1229
>>>
>>> Set initial capacity to input array's size in order to avoid
>>> unnecessary resizing for inputs larger than than the default
>>> capacity.
>>>
>>>
>>> Project: http://git-wip-us.apache.org/repos/asf/commons-math/repo
>>> Commit:
>>> http://git-wip-us.apache.org/repos/asf/commons-math/commit/8be87e03
>>> Tree:
>>> http://git-wip-us.apache.org/repos/asf/commons-math/tree/8be87e03
>>> Diff:
>>> http://git-wip-us.apache.org/repos/asf/commons-math/diff/8be87e03
>>>
>>> Branch: refs/heads/master
>>> Commit: 8be87e032a8c05622148357f30bdca3c614a669f
>>> Parents: 441687e
>>> Author: Gilles <er...@apache.org>
>>> Authored: Sat May 30 19:23:35 2015 +0200
>>> Committer: Gilles <er...@apache.org>
>>> Committed: Sat May 30 19:23:35 2015 +0200
>>>
>>>
>>> ----------------------------------------------------------------------
>>>
>>> .../org/apache/commons/math4/util/ResizableDoubleArray.java
>>> | 5 +++--
>>> 1 file changed, 3 insertions(+), 2 deletions(-)
>>>
>>> ----------------------------------------------------------------------
>>>
>>>
>>>
>>>
>>> http://git-wip-us.apache.org/repos/asf/commons-math/blob/8be87e03/src/main/java/org/apache/commons/math4/util/ResizableDoubleArray.java
>>>
>>>
>>> ----------------------------------------------------------------------
>>>
>>> diff --git
>>> a/src/main/java/org/apache/commons/math4/util/ResizableDoubleArray.java
>>> b/src/main/java/org/apache/commons/math4/util/ResizableDoubleArray.java
>>>
>>> index 09fd748..f5292c4 100644
>>> ---
>>> a/src/main/java/org/apache/commons/math4/util/ResizableDoubleArray.java
>>>
>>> +++
>>> b/src/main/java/org/apache/commons/math4/util/ResizableDoubleArray.java
>>>
>>> @@ -179,7 +179,6 @@ public class ResizableDoubleArray implements
>>> DoubleArray, Serializable {
>>> * The input array is copied, not referenced.
>>> * Other properties take default values:
>>> * <ul>
>>> - * <li>{@code initialCapacity = 16}</li>
>>> * <li>{@code expansionMode = MULTIPLICATIVE}</li>
>>> * <li>{@code expansionFactor = 2.0}</li>
>>> * <li>{@code contractionCriterion = 2.5}</li>
>>> @@ -189,7 +188,9 @@ public class ResizableDoubleArray implements
>>> DoubleArray, Serializable {
>>> * @since 2.2
>>> */
>>> public ResizableDoubleArray(double[] initialArray) {
>>> - this(DEFAULT_INITIAL_CAPACITY,
>>> + this((initialArray == null || initialArray.length == 0 ?
>>
>> +1 for the change here. Good catch. But I am wondering, might it
>> be better to use
>>
>> initialArray.length < DEFAULT_INITIAL_CAPACITY in the test above?
>
> It would not correspond to the documentation; and in some
> hypothetical
> use-cases, it might not be expected (e.g. if instantiating many
> arrays
> with sizes < DEFAULT_INITIAL_CAPACITY).
Yeah, the documentation would have to be changed to make it clear.
It's also not a big deal because the default expansion mode is
multiplicative, so the effect of too small initial capacity will go
away fairly quickly. I had not thought of the (strange but
possible) example you cite. I guess its simpler to just leave it as is.
Phil
> Your suggestion could be useful in most actual use-cases...
>
> Gilles
>
>>
>> Phil
>>
>>
>>> + DEFAULT_INITIAL_CAPACITY :
>>> + initialArray.length),
>>> DEFAULT_EXPANSION_FACTOR,
>>> DEFAULT_CONTRACTION_DELTA + DEFAULT_EXPANSION_FACTOR,
>>> DEFAULT_EXPANSION_MODE,
>>>
>>>
>>
>>
>> ---------------------------------------------------------------------
>>
>> 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
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org
Re: [math] MATH-1229
Posted by Gilles <gi...@harfang.homelinux.org>.
On Sat, 30 May 2015 13:55:56 -0700, Phil Steitz wrote:
> On 5/30/15 10:26 AM, erans@apache.org wrote:
>> Repository: commons-math
>> Updated Branches:
>> refs/heads/master 441687e5a -> 8be87e032
>>
>>
>> MATH-1229
>>
>> Set initial capacity to input array's size in order to avoid
>> unnecessary resizing for inputs larger than than the default
>> capacity.
>>
>>
>> Project: http://git-wip-us.apache.org/repos/asf/commons-math/repo
>> Commit:
>> http://git-wip-us.apache.org/repos/asf/commons-math/commit/8be87e03
>> Tree:
>> http://git-wip-us.apache.org/repos/asf/commons-math/tree/8be87e03
>> Diff:
>> http://git-wip-us.apache.org/repos/asf/commons-math/diff/8be87e03
>>
>> Branch: refs/heads/master
>> Commit: 8be87e032a8c05622148357f30bdca3c614a669f
>> Parents: 441687e
>> Author: Gilles <er...@apache.org>
>> Authored: Sat May 30 19:23:35 2015 +0200
>> Committer: Gilles <er...@apache.org>
>> Committed: Sat May 30 19:23:35 2015 +0200
>>
>>
>> ----------------------------------------------------------------------
>> .../org/apache/commons/math4/util/ResizableDoubleArray.java | 5
>> +++--
>> 1 file changed, 3 insertions(+), 2 deletions(-)
>>
>> ----------------------------------------------------------------------
>>
>>
>>
>> http://git-wip-us.apache.org/repos/asf/commons-math/blob/8be87e03/src/main/java/org/apache/commons/math4/util/ResizableDoubleArray.java
>>
>> ----------------------------------------------------------------------
>> diff --git
>> a/src/main/java/org/apache/commons/math4/util/ResizableDoubleArray.java
>> b/src/main/java/org/apache/commons/math4/util/ResizableDoubleArray.java
>> index 09fd748..f5292c4 100644
>> ---
>> a/src/main/java/org/apache/commons/math4/util/ResizableDoubleArray.java
>> +++
>> b/src/main/java/org/apache/commons/math4/util/ResizableDoubleArray.java
>> @@ -179,7 +179,6 @@ public class ResizableDoubleArray implements
>> DoubleArray, Serializable {
>> * The input array is copied, not referenced.
>> * Other properties take default values:
>> * <ul>
>> - * <li>{@code initialCapacity = 16}</li>
>> * <li>{@code expansionMode = MULTIPLICATIVE}</li>
>> * <li>{@code expansionFactor = 2.0}</li>
>> * <li>{@code contractionCriterion = 2.5}</li>
>> @@ -189,7 +188,9 @@ public class ResizableDoubleArray implements
>> DoubleArray, Serializable {
>> * @since 2.2
>> */
>> public ResizableDoubleArray(double[] initialArray) {
>> - this(DEFAULT_INITIAL_CAPACITY,
>> + this((initialArray == null || initialArray.length == 0 ?
>
> +1 for the change here. Good catch. But I am wondering, might it
> be better to use
>
> initialArray.length < DEFAULT_INITIAL_CAPACITY in the test above?
It would not correspond to the documentation; and in some hypothetical
use-cases, it might not be expected (e.g. if instantiating many arrays
with sizes < DEFAULT_INITIAL_CAPACITY).
Your suggestion could be useful in most actual use-cases...
Gilles
>
> Phil
>
>
>> + DEFAULT_INITIAL_CAPACITY :
>> + initialArray.length),
>> DEFAULT_EXPANSION_FACTOR,
>> DEFAULT_CONTRACTION_DELTA + DEFAULT_EXPANSION_FACTOR,
>> DEFAULT_EXPANSION_MODE,
>>
>>
>
>
> ---------------------------------------------------------------------
> 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