Path: csiph.com!news.bbs.nz!.POSTED.184-155-113-241.cpe.cableone.net!not-for-mail From: "Eric Sosman" Newsgroups: comp.lang.java.programmer Subject: Re: Has Android different floats? Date: Sun, 24 Jun 2018 17:28:58 -0500 Organization: Agency News - Dunedin, New Zealand Message-ID: <5B329ADB.1167.ucljprogr@castlerockbbs.com> References: <5B329ADB.1165.ucljprogr@castlerockbbs.com> Content-Type: text/plain; charset=IBM437 Content-Transfer-Encoding: 8bit Injection-Info: news.bbs.nz; posting-host="OzrHixpCILyhgWpD0JEChpw8GfzwXVr5j8UB2bSv2xw"; logging-data="16453"; mail-complaints-to="abuse@news.bbs.nz" To: bursejan In-Reply-To: <5B329ADB.1165.ucljprogr@castlerockbbs.com> X-FTN-Kludge: CHARSET: LATIN-1 X-FTN-AREA: COMP.LANG.JAVA.PROGRAMMER X-FTN-REPLY: 1:261/38.0 86a26328 X-Gateway: castlerockbbs.com [Synchronet 3.17a-Linux NewsLink 1.108] X-FTN-MSGID: 1:261/38.0 ae2a014b X-Comment-To: bursejan Xref: csiph.com comp.lang.java.programmer:38428 To: bursejan From: "Eric Sosman" To: bursejan From: Eric Sosman On 6/24/2018 4:35 PM, bursejan@gmail.com wrote: > The test code would be: > > for (int i=22; i<25; i++) { > System.out.println("Math.pow(10,"+i+")="+Math.pow(10,i)); > } > > The result (without strictfp modifier to main()) is: > > Math.pow(10,22)=1.0E22 > Math.pow(10,23)=1.0000000000000001E23 > Math.pow(10,24)=1.0E24 > > The result (with strictfp modifier to main()) is: > > Math.pow(10,22)=1.0E22 > Math.pow(10,23)=1.0000000000000001E23 > Math.pow(10,24)=1.0E24 > > Because invoking Math.pow() is not a basic operator +, *, /, etc.. Have you tried using StrictMath.pow() instead of Math.pow()? It is certainly possible that the Math implementations are different on different platforms -- at least, the Javadoc seems to allow such freedom: "[...] Code generators are encouraged to use platform-specific native libraries or microprocessor instructions, where available, to provide higher-performance implementations of Math methods. [...]" It's my understanding, though, that StrictMath implementations on all platforms are supposed to agree exactly. -- esosman@comcast-dot-net.invalid Nine hundred forty-one days to go. -+- BBBS/Li6 v4.10 Toy-3 + Origin: Prism bbs (1:261/38) --- BBBS/Li6 v4.10 Toy-3 * Origin: Prism bbs (1:261/38)