Holy crap. How on Earth did they manage to break Windows Calculator, of all things?
Holy crap. How on Earth did they manage to break Windows Calculator, of all things?
Googling around, I found another discussion on it:
https://www.eevblog.com/forum/chat/windows-10-calculator-bug...
http://web.archive.org/web/20111213184700/http://download.mi...
(No, not the new abomination of the same name that comes up when you search for "Calculator Plus", but the original XP-era one that is now only available from archive.org. Irritatingly enough, MS removed the old --- and better --- one when they introduced the new one.)
The one from 7 up to 8.1 has its own problems:
Personally I used to use Maple for this kind of thing circa 2002. It used to launch on Windows in a fraction of a second (faster than the built in calculator tool!), and was an amazing calculator for pretty much any purpose.
Unfortunately some version of Maple around that time switched to a Java-based front end, and thereafter took forever to load, and had a UI littered with glitches.
What's the sum of the numbers from 15 to 20 inclusive?
i.6 N.B. Returns an array 0 1 2 3 4 5
15 + i.6 N.B. Returns an array 15 16 17 18 19 20
+/ 15 + i.6 N.B. returns the number 105
edit: Or course, if we're talking about languages helpful for calculation, we simply must include a reference to https://frinklang.org/Apparently a recent update also fixed a longstanding problem where the square root of a perfect square integer doesn't give you the exact right answer, so maybe there was a general change to the implementation of exponents and roots which may have introduced this bug too.
In both instances, Apple didn't respond to the bug report until many years later, when they just closed it.
My second guess is they are using some weird algorithm that hits an error case due to the limits of whatever number type they are using.
If n^(a/b) = (n^a)/(n^b) then 2^(1/2) = (2^1)/(2^2) = 2/4 = 0.5 but 2^(1/2) = sqrt(2) = 1.4...
It would be the 10000th root of 10^31415, and at this point what I'm saying is probably entirely unrelated to how it's really implemented.
EDIT: and telemetry.
It may have been the same update that made this change https://blogs.msdn.microsoft.com/oldnewthing/20180704-00/?p=...