Hi Thomas,

On 12/14/2015 06:37 AM, Thomas Neidhart wrote:
On Mon, Dec 14, 2015 at 9:17 AM, Ole Ersoy <ole.er...@gmail.com> 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.

https://github.com/firefly-numbers/firefly-numbers

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 javadoc)
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.

Cheers,
- Ole


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

Reply via email to