We're not using math.h primarily because it uses a binary based floating point format. Calculators use decimal floating point because their users mostly work in decimal. The differences can be a surprise at times. Something as simple as 0.3 cannot be exactly represented as a binary number, it can in decimal.
Sine and cosine are calculated using a Taylor expansion after the argument has been reduced to the first quadrant of the circle. The series converges rapidly here without numeric stability issues.
The reasons for the different precisions of reals are generally accuracy, by calculating intermediate results in higher precision it is easy to get a correct answer. The number of digits required depends on the operation. By spending a lot more effort on the arithmetic, the number of additional digits could be greatly reduced. Still, it is easier to brute force than to think
The exception is the largest representation which is present because the underlying mathematics library (decNumber) has a quirk when calculating remainders. Enough digits need to be carried to represent the result and the original argument -- e.g. 1E100 modulo .345 requires 100 + desired number of output digits (so upwards of 140) to get the correct answer. When calculating the trigonometric functions, the argument needs to be modulo reduced by 2𝜋. An (hypothetical) argument of the order of 1E300 that happens to be very close to a multiple of 2𝜋 could result in an answer of 1E-300 meaning 600+ digits.
WP43 News
Re: 43S News
Just one point to add:
The format used for storing real numbers allowing for 34 decimals precision causes a number range from 10^(-6176) up to 10^6145. Virtually nobody needs this number range at all. Though it determines the number of digits you must require for the modulo reductions Pauli explained to ensure trigonometric functions working accurately in radians within a reasonable section of the number range allowed.
You could save a real lot of digits in these reductions if there was a format allowing for 34 digits precision within a range of 10^(-99) to 10^99 consistently, i.e. with subnormal numbers. This range would completely cover all real-world scientific applications throughout our whole universe. Alas, this is not given and all our attempts to install it failed. Although the 43S features 'multiples of π' besides degrees, gradians, dms, and radians, an attempt to ditch radians failed as well. Thus, frowning, we must allow for and support a huge number range which is unphysical to its overwhelming part.
Though the 43S user is free to limit input and output to more reasonable boundaries, leading to 'almost zeros' and 'almost infinities'. This saves some display space at least.
The format used for storing real numbers allowing for 34 decimals precision causes a number range from 10^(-6176) up to 10^6145. Virtually nobody needs this number range at all. Though it determines the number of digits you must require for the modulo reductions Pauli explained to ensure trigonometric functions working accurately in radians within a reasonable section of the number range allowed.
You could save a real lot of digits in these reductions if there was a format allowing for 34 digits precision within a range of 10^(-99) to 10^99 consistently, i.e. with subnormal numbers. This range would completely cover all real-world scientific applications throughout our whole universe. Alas, this is not given and all our attempts to install it failed. Although the 43S features 'multiples of π' besides degrees, gradians, dms, and radians, an attempt to ditch radians failed as well. Thus, frowning, we must allow for and support a huge number range which is unphysical to its overwhelming part.
Though the 43S user is free to limit input and output to more reasonable boundaries, leading to 'almost zeros' and 'almost infinities'. This saves some display space at least.
WP43 SN00000, 34S, and 31S for obvious reasons; HP-35, 45, ..., 35S, 15CE, DM16L S/N# 00093, DM42β SN:00041
Re: 43S News
Hi !
Those ranges & precision are awesome + mind boggling ...
Cannot wait to hold this fantastic device - being much more powerful than Voyager 2's computer nodes combined - in my hands
Cheers !
Those ranges & precision are awesome + mind boggling ...
Cannot wait to hold this fantastic device - being much more powerful than Voyager 2's computer nodes combined - in my hands
Cheers !
FX-602P, HP-12c, 17B, 32E, 38C, 39gs, 35, 41C/CV, 48 SX/G, 50g, DM 1xL, 42β , WP43β…
Re: 43S News
Just to reiterate. You can already today.
Buy an DM42 and reimage it with our beta versions.
Change the keys by printing an overlay.
If you look at the sides of the DM42 it can hold overlays just like the HP-41 did.
We publish this exact overlay for people to print.
Ask for details if you don't know how to do this.
Also, for people who want to try the software emulators, we currently build Windows, Linux and MacOs versions.
Either compile and build yourself, download the ones we publish or ask for a build.
The DM42 has a special menu to switch to and from WP43S. So you can also just try it once without printing an overlay.
See here for the current layout of the keys:
https://gitlab.com/Over_score/wp43s/-/b ... layout.svg
DM41X SN: 00070 DM42 SN: 00754
HP35, ..., HP67, HP41(C,CV,CX), ..., HP48GX, ..., HP33S, HP35S, WP34S, WP43S
HP35, ..., HP67, HP41(C,CV,CX), ..., HP48GX, ..., HP33S, HP35S, WP34S, WP43S
Re: 43S News
For "how to flash my DM42 to get my WP 43S" please see the Reference Manual, pp. 214 - 217. Find the Manual here: https://gitlab.com/Over_score/wp43s/-/t ... umentation.
For the most recent edition of the simulator, please see wp43s.exe here: https://gitlab.com/Over_score/wp43s/-/t ... 20binaries.
Looking forward to reading about your experience.
For the most recent edition of the simulator, please see wp43s.exe here: https://gitlab.com/Over_score/wp43s/-/t ... 20binaries.
Looking forward to reading about your experience.
WP43 SN00000, 34S, and 31S for obvious reasons; HP-35, 45, ..., 35S, 15CE, DM16L S/N# 00093, DM42β SN:00041
Re: 43S News
Dropping radians and limiting the range to 10^99 would still require upwards of 130 digits to be carried to successfully do the modulo reduction in degrees.
Pauli
Re: 43S News
Re: 43S News
I admit that's only neglectably better than 1065 digits.
WP43 SN00000, 34S, and 31S for obvious reasons; HP-35, 45, ..., 35S, 15CE, DM16L S/N# 00093, DM42β SN:00041
Re: 43S News
Hi,
wow, thanks for this tempting recipe concerning flashing a DM42 to house the 43S firmware -
it makes one hungry for more
I did put it on the list of my mini projects for the summer holidays to modify my dear trusty DM42β.
Meanwhile experimenting with the "WP 43S simulator" on a Win10 machine is quite some fun.
You do not provide by chance an deb-package or snap-container for Ubuntu 18.04, do you ?
Picked up Walter's idea of a wooden holder:
Cheerio !
wow, thanks for this tempting recipe concerning flashing a DM42 to house the 43S firmware -
it makes one hungry for more
I did put it on the list of my mini projects for the summer holidays to modify my dear trusty DM42β.
Meanwhile experimenting with the "WP 43S simulator" on a Win10 machine is quite some fun.
You do not provide by chance an deb-package or snap-container for Ubuntu 18.04, do you ?
Picked up Walter's idea of a wooden holder:
Cheerio !
Last edited by tuxfish on Tue Dec 14, 2021 6:17 pm, edited 1 time in total.
FX-602P, HP-12c, 17B, 32E, 38C, 39gs, 35, 41C/CV, 48 SX/G, 50g, DM 1xL, 42β , WP43β…
Re: 43S News
For the people who want to try the WP43S on the Mac:
https://gitlab.com/Over_score/wp43s/-/t ... 20binaries
https://gitlab.com/Over_score/wp43s/-/t ... 20binaries
DM41X SN: 00070 DM42 SN: 00754
HP35, ..., HP67, HP41(C,CV,CX), ..., HP48GX, ..., HP33S, HP35S, WP34S, WP43S
HP35, ..., HP67, HP41(C,CV,CX), ..., HP48GX, ..., HP33S, HP35S, WP34S, WP43S