Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.programmer > #38427
| From | "bursejan" <bursejan@1:261/38.remove-i5b-this> |
|---|---|
| Newsgroups | comp.lang.java.programmer |
| Subject | Re: Has Android different floats? |
| Date | 2018-06-24 13:44 -0500 |
| Organization | Agency News - Dunedin, New Zealand |
| Message-ID | <5B329ADB.1166.ucljprogr@castlerockbbs.com> (permalink) |
| References | <5B329ADB.1165.ucljprogr@castlerockbbs.com> |
To: bursejan
From: "bursejan" <bursejan@1:261/38.remove-101j-this>
To: bursejan
From: bursejan@gmail.com
You can try the same Java code on a Android device. The result will be (Android
8.0.0):
Math.pow(10,22)=1.0E22
Math.pow(10,23)=9.999999999999999E22
Math.pow(10,24)=1.0E24
I used AIDE-IDE to compile and run the Java directly on the device.
But the above is not the same test case as in my initial post. My initial post
also
tests BigInteger.pow() and BigInteger.doubleValue().
Am Sonntag, 24. Juni 2018 22:35:50 UTC+2 schrieb burs...@gmail.com:
> 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..
>
> Am Sonntag, 24. Juni 2018 22:31:44 UTC+2 schrieb burs...@gmail.com:
> > You cannot use the strictfp keyword in front
> > of Math.pow(). Thats only for the basic operations.
> >
> > Math.pow() itself is implemented in JDK 1.8 as follows:
> >
> > public static double pow(double a, double b) {
> > return StrictMath.pow(a, b); // default impl. delegates to
StrictMath
> > }
> >
> > Am Sonntag, 24. Juni 2018 21:21:57 UTC+2 schrieb Arne VajhÄ,j:
> > > On 6/24/2018 2:41 PM, j4n bur53 wrote:
> > > > Running a simple test.
> > > > ** is Math.pow(),
> > > > ^ is BigInteger.pow() and then BigInteger.doubleValue().
> > > >
> > > > On Java:
> > > >
> > > > ā ?- between(15,30,N), X is 10**N-10^N, write(N-X), nl, fail; true.
> > > > ā 15-0.0
> > >
> > > > ā 23-1.6777216E7
> > >
> > > > ā 29-0.0
> > > > ā 30-0.0
> > > >
> > > > On Adroid:
> > > >
> > > > ā ?- between(15,30,N), X is 10**N-10^N, write(N-X), nl, fail; true.
> > > > ā 15-0.0
> > >
> > > > ā 23-0.0
> > >
> > > > ā 29-1.7592186044416E13
> > > > ā 30-0.0
> > > >
> > > > Has Android different floats?
> > > > Tested jdk1.8.0_152 against Android 8.0.0
> > >
> > > ARM supposedly use standard IEEE 754 FP.
> > >
> > > But I wonder if usage of strictfp would change your results.
> > >
> > > Arne
-+- BBBS/Li6 v4.10 Toy-3
+ Origin: Prism bbs (1:261/38)
--- BBBS/Li6 v4.10 Toy-3
* Origin: Prism bbs (1:261/38)
Back to comp.lang.java.programmer | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Re: Has Android different floats? "Arne Vajhøj" <arne vajhøj@1:261/38.remove-i5b-this> - 2018-06-24 15:21 -0500
Re: Has Android different floats? "bursejan" <bursejan@1:261/38.remove-i5b-this> - 2018-06-24 13:31 -0500
Re: Has Android different floats? "bursejan" <bursejan@1:261/38.remove-i5b-this> - 2018-06-24 13:35 -0500
Re: Has Android different floats? "bursejan" <bursejan@1:261/38.remove-i5b-this> - 2018-06-24 13:44 -0500
Re: Has Android different floats? "Eric Sosman" <eric.sosman@1:261/38.remove-i5b-this> - 2018-06-24 17:28 -0500
Re: Has Android different floats? "bursejan" <bursejan@1:261/38.remove-i5b-this> - 2018-06-24 16:08 -0500
csiph-web