Good spot. I've tested on a scientific calculator app on my phone, and it gives the same answer as yours, so somewhere something is going a bit awry. I would have thought an 80-bit float had enough precision for this, but seemingly not.Richard Russell wrote: ↑Sat Jun 12, 2021 11:07 pmThat would be good, but I'm not convinced. Testing the latest 64-bit Windows build (Git commit 37996cf) I'm getting this:
but my BASICs (both 32 and 64-bit versions, which use completely different code) reckon the answer is &6FEB266931A75B7.
Code: Select all
SYS "Brandy_Hex64",1 PRINT ~23^13 6FEB266931A75C0
Back to the drawing board... But not tonight.
Edit: Plot thickens. In Linux I get the ...75B7 response - except on the RasPi where I also get the ...75C0 response. This is making me think that the MinGW powl() is faking it and just using the 64-bit pow() even though MinGW appears to support 80-bit long double. So I definitely need an integer power function that will be used if the inputs are ints and the output is in range (the existing call will give me the ballpark to know this.)