commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ole Ersoy <>
Subject Re: [math] Refactored Precision
Date Mon, 14 Dec 2015 18:24:18 GMT
Hi Thomas,

On 12/14/2015 06:37 AM, Thomas Neidhart wrote:
> On Mon, Dec 14, 2015 at 9:17 AM, Ole Ersoy <> wrote:
>> Hi,
>> Just a heads up for those of you interested or have nothing better to do
>> at 2 am :).  I refactored the Precision class into classes PrecisionAssert
>> and RoundDouble.
>> I created a new github organization for the package, since it deals less
>> with math and more with number precision in general.  I also removed
>> support for float.  It seems like most of the code in CM uses double, and
>> if float is needed then it should be provided via it's own module.  I also
>> replaced calls to FastMath with Math.  Most of the calls were for abs() and
>> ulp()...functions that I would think would have similar performance
>> regardless.
>> Probably moving onto FastMath next.  I plan on only including functions
>> that have a performance benefit, and delegating to Math for everything else.
> Hi Ole,
> what is the motivation for posting these questions on the math ML?
> Do you intend to contribute some new functionality or propose changes back
> to commons-math?
> Or is this project intended to be a fork of commons-math?
> Thomas
I sent a few emails earlier regarding the precision code with questions that were questions...

We have been discussing refactoring CM, so I've started what can be thought of as a Java 8
(/leaning towards Java 9) useable prototype of such such refactoring.  As I'm going through
the process and reviewing the code, I ask questions (Hopefully good ones) when I find something
that I think could be simplified, etc.

So far there are probably 6 big changes that CM that might be useful for CM:
1) Lombok to reduce boileplate code (Can be seen in the new exception module - Also generates
2) Removal of float precision utilities in Precison
3) Java 8 and Java 8 constructs
4) Coming (Observer design for Optimizers)
5) The dependency structure of the modules
6) Hopefully increased generic use for modules like the numbers module

Fork usually has a negative connotation.  When architects draw up designs there are usually
several that can be used for comparison and contrast.  The primary purpose of sharing the
results of the refactoring is that.  I probably should be make it clear that I am 100% for
CM.  I think the developers and contributors are amazing and I have tremendous respect for
all of you.

- Ole

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message