commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gary Gregory <garydgreg...@gmail.com>
Subject Re: [VOTE] New component: Standard math functions
Date Sat, 25 Jun 2016 19:00:17 GMT
One could argue that since Java has java.util.Random, Commons Lang could
include a random package.

Gary
On Jun 25, 2016 9:06 AM, "Gilles" <gilles@harfang.homelinux.org> wrote:

> On Sat, 25 Jun 2016 15:01:14 +0100, Stian Soiland-Reyes wrote:
>
>> +0
>>
>> The big mix of stuff here makes it feel like Commons Math Lite,
>>
>
> Hmm, no; it's certainly more akin to... Commons Lang, but
> more focused (on numerical utilities) and much leaner!
>
> Actually, the big code chunk is, by far, "FastMath", which
> is an almost drop-in replacement for the JDK's "Math" class.
> It is thus very high on the scale of "stability" (read: API
> is as stable as the JDK).
>
> The lines of code counts are:
>  FastMath (and helper): ~8800
>  dfp:                   ~2800
>  *all the rest*:        ~2350
>
> The common denominator is: very low-level utilities (static
> methods, no OO!).
>
> Maintenance cost of this component should be very low.
>
> Also, its contents is sometimes _used_ by other parts of CM,
> but it is also, from a certain POV, much more specialized: the
> "unlimited" precision functionality is not needed by applications
> in domains where either the accuracy (of the "input") is much
> lower than "double" precision or the performance hit incurred is
> not worth it.
>
> In "all the rest", there are many useful little things that are
> also pretty much in a "final" state (review is certainly welcome
> before release).
>
> In fact, this component would really deserve the name "Commons
> Math"!  [While the actual "Commons Math" is a hodgepodge of
> codes that should have belonged to different modules.]
>
> Gilles
>
>
> so I would
>> not decide on this before the Math TLP/Incubator route is settled (or
>> abandoned).
>>
>> On 21 Jun 2016 8:30 p.m., "Gilles" <gilles@harfang.homelinux.org> wrote:
>>
>> Hello.
>>>
>>> This is one of several votes for establishing new Commons components
>>> out of functionality developed inside the "Commons Math" component.
>>>
>>> This vote is dedicated to the following functionality:
>>>   Standard mathematical functions (either missing from "java.lang.Math",
>>>   or faster or more accurate than their counterpart in the JDK) and
>>>   floating point utilities.
>>>
>>> The concerned code is the contents of the following classes and packages:
>>>   org.apache.commons.math4.Field
>>>   org.apache.commons.math4.FieldElement
>>>   org.apache.commons.math4.RealFieldElement
>>>   org.apache.commons.math4.util.FastMath (and helper classes)
>>>   org.apache.commons.math4.util.Precision
>>>   org.apache.commons.math4.util.MathUtils
>>>   org.apache.commons.math4.util.ArithmeticUtils
>>>   org.apache.commons.math4.util.Combinations
>>>   org.apache.commons.math4.util.CombinatoricsUtils
>>>   org.apache.commons.math4.util.ContinuedFraction
>>>   org.apache.commons.math4.dfp
>>>   org.apache.commons.math4.special
>>> located in the "develop" branch of Commons Math:
>>>
>>>
>>>
>>> https://git1-us-west.apache.org/repos/asf?p=commons-math.git;a=tree;f=src/main/java/org/apache/commons/math4/util;h=c54f99f943f758e43ebeb54d8771a6ef6516d283;hb=refs/heads/develop
>>>
>>>
>>>
>>> https://git1-us-west.apache.org/repos/asf?p=commons-math.git;a=tree;f=src/main/java/org/apache/commons/math4/special;h=b8fb8b1f6e29a549d0716c866939e074525246a1;hb=refs/heads/develop
>>>
>>> Notes:
>>>  * This component will have no dependency.
>>>  * Code size: ~13000 lines of code (unit tests not included).
>>>    [Out of which ~6000 lines are literal numbers defined in
>>>    class "FastMathLiteralArrays".]
>>>  * API: stable.  [But some of it should probably be moved into
>>>    an "internal" package.]
>>>  * Estimated minimum Java version: 5
>>>
>>> All are welcome to vote, especially potential users of the candidate
>>> component and people who'd like to contribute to it, through user
>>> support,
>>> bug-fixes and enhancements, documentation, release management.
>>>
>>> [ ] +1, this would be a valid Commons component.
>>> [ ] -1, this won't be a good Commons component because ...
>>>
>>>
>>> Thanks,
>>> Gilles
>>>
>>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
> For additional commands, e-mail: dev-help@commons.apache.org
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message