JuliaMath / openlibm

High quality system independent, portable, open source libm implementation
https://openlibm.org
Other
507 stars 139 forks source link

Question about Java Floating Point and StrictMath Reimplementation #267

Closed PowerUser1234 closed 1 year ago

PowerUser1234 commented 1 year ago

Dear openlibm,

I have to scouring the English speaking internet for Java OpenJDK re-programmers, by which I mean programmers with the ability to change the runtime and a small amount of the compiler, themselves. You will be aware of the infamous floating point errors associated with float, double and the java.lang.StrictMath class. I am trying to look for a group of developers who can create a patch or republish the latest version of the Java OpenJDK for me, for little cost or as a volunteer effort.
I have written a formal submission asking so, which I may submit to interested candidates.

Are you either interested or aware of any group interested in this subject, particularly the changing and removal of floating point errors, which, with some range consequences, could be successsfully achieved at the language level, making Java mathematics and operator use much easier, clearer and quicker to program?

I look forward to your response.

Yours Sincerely,

Sergio Minervini.

poweruserm@live.com.au

S.M.

oscardssmith commented 1 year ago

I doubt you'll find anyone here interested in making math in Java better (although I may be wrong). The Java ecosystem has generally not treated numerics as a first class citizen so there are relatively few people that do this type of work who are interested in java.

PowerUser1234 commented 1 year ago

To oscardsmith,

openlibm strikes me as being the perfect correction and replacement for fdlibm, which is what java.lang.StrictMath presently uses. Java's floating point errors involving float and double occur in the parts of float and double number values between one and zero (1 and 0) than one, which means that the logic already present for the whole numbers can be copied and reapplied for one and zero (1 and 0) float or double number values, despite a small minute numbers range change. Floating point errors can occur via fdlibm inside java.lang.StrictMath, which is why we seek for a group to replace fdlibm with openlibm inside StrictMath. openlibm never returns floating point error convoluted values.

It is both our mission critical need, while also under our own confidentiality, that we need Java OpenJDK floating point math fixed, just for the OpenJDK FOSS version of Java. Do you know of anyone connected to openlibm both capable and willing to apprehend this task for Java? With OpenJDK's floating point mathematics corrected, and than seen in relation to

https://github.com/eobermuhlner/big-math

which means that Java's "Arbitrary Precision" (really High Precision) is far better, since the precision variable can be set up once overhead, and not repeated for every High Precision arithmetic method call, Java's mathematics situation itself for base 10, and hexadecimal, would be far better. If project Valhalla brings along more operator support too, that can be applied to big-math, like all this Java (OpenJDK)'s mathematics woes could be sent away. Making OpenJDK a different proposition to look at, for its main platforms.

Is there anyone over there prepared to take the earlier part, floating point and StrictMath corrections, on board as a public release project?

S.M.