It still has the same number of nixies as the non-RPN version but an additional horizontal neon for the exponent sign. By keeping the 14 nixies, it was possible to maintain all the clock modes and implement a dynamic exponent range. The keyboard has now 5 additional keys and the functionality was extended from 15 to 33 operations.
Switching to arbitrary-precision arithmetic was a failure. It worked but was too slow for a few special cases of pow and non-integer factorials (gamma approximation). I will give it another try, but for now I’m back to 64-bit floating-point.
--
You received this message because you are subscribed to the Google Groups "neonixie-l" group.
To unsubscribe from this group and stop receiving emails from it, send an email to neonixie-l+...@googlegroups.com.
To view this discussion, visit https://groups.google.com/d/msgid/neonixie-l/1290e008-6759-485a-8b7d-0cf74a8787bdn%40googlegroups.com.
On Mar 17, 2025, at 3:09 AM, newxito <axt...@gmail.com> wrote:
It still has the same number of nixies as the non-RPN version but an additional horizontal neon for the exponent sign. By keeping the 14 nixies, it was possible to maintain all the clock modes and implement a dynamic exponent range. The keyboard has now 5 additional keys and the functionality was extended from 15 to 33 operations.--
Switching to arbitrary-precision arithmetic was a failure. It worked but was too slow for a few special cases of pow and non-integer factorials (gamma approximation). I will give it another try, but for now I’m back to 64-bit floating-point.
You received this message because you are subscribed to the Google Groups "neonixie-l" group.
To unsubscribe from this group and stop receiving emails from it, send an email to neonixie-l+...@googlegroups.com.
To view this discussion, visit https://groups.google.com/d/msgid/neonixie-l/1290e008-6759-485a-8b7d-0cf74a8787bdn%40googlegroups.com.
<rpn.jpg>
On Mar 17, 2025, at 6:09 AM, newxito <axt...@gmail.com> wrote:It still has the same number of nixies as the non-RPN version but an additional horizontal neon for the exponent sign. By keeping the 14 nixies, it was possible to maintain all the clock modes and implement a dynamic exponent range. The keyboard has now 5 additional keys and the functionality was extended from 15 to 33 operations.
Switching to arbitrary-precision arithmetic was a failure. It worked but was too slow for a few special cases of pow and non-integer factorials (gamma approximation). I will give it another try, but for now I’m back to 64-bit floating-point.
--
You received this message because you are subscribed to the Google Groups "neonixie-l" group.
To unsubscribe from this group and stop receiving emails from it, send an email to neonixie-l+...@googlegroups.com.
To view this discussion, visit https://groups.google.com/d/msgid/neonixie-l/4BC359C0-2CA3-41E1-AE99-F2663F88D6F4%40gmail.com.
On Mar 17, 2025, at 4:51 PM, Nicholas Stock <nick...@gmail.com> wrote:Terry, that's less than $100 for all those IN-17 tubes, even at current prices
In Chapter 2 of his book "Astronomical Algorithms" Jean Meeus looks at computer accuracy.
A quick test of trig functions is to use 4*ATAN(1) which should return PI.
To look at rounding errors he starts with 1/3 or 0.33333... recurring. Using the equation
X = ( 9 * X + 1) * X - 1
and starting with X = 1 / 3 and then repeatedly calculating the rounding errors accumulate and X diverges from a perfect 1 / 3
On an ESP32 (in C using framework 5.3.1) in double precision floats you see
1. Rounding Errors X = 1/3 then X = (9 * X + 1) * X - 1
1 0.333333333333
2 0.333333333333
3 0.333333333333
4 0.333333333333
5 0.333333333333
6 0.333333333332
7 0.333333333325
8 0.333333333272
9 0.333333332907
10 0.333333330347
11 0.333333312426
12 0.333333186982
13 0.333332308873
14 0.333326162117
15 0.333283135282
16 0.332981969654
17 0.330874898687
18 0.316178685916
19 0.215899338763
20 -0.364587940932
Another test he tries is to take 1.0000001 and square it 27
times. This should give 674530.4707 to 10 sig figs. The ESP32
(double precision floats) gives 674530.4755. (My desk TI-60 pocket
calculator gives 674530.318).
For your amusement, in ESP32 single precision for these two tests you get
1 0.333333
2 0.333334
3 0.333337
4 0.333357
5 0.333500
6 0.334502
7 0.341528
8 0.391304
9 0.769372
10 5.096765
11 237.889893
12 509561.312500
13 2336875085824.
14 49148868497321186346139648.
15 inf
And 8850397.000
Jean Meeus then looks at some other tests showing how the order
that calculations are made can effect the result and other
demonstrations of rounding errors leading to completely erroneous
results. Ok the book is dated from 1998 and last printed in 2015
and he using, inter alia, an HP85 and QuickBASIC 4.5 to
demonstrate, but I find it is still interesting to try his
examples.
Grahame
To view this discussion, visit https://groups.google.com/d/msgid/neonixie-l/f2670f05-34e2-4789-8ae8-ed5fec66b3ffn%40googlegroups.com.
I finally added a WebSocket server to show the internal registers on a smartphone or pc. Pressing [F][ENT] starts and stops an access point and the server. You can then connect to the AP and open the page in a browser. After a calculation, the registers are sent directly to the browser, no polling or browser refresh is needed. I had the idea to also send the operations over the WebSocket to show the history but I will not implement that. This smartphone thing is just a gimmick anyway. The use of the WiFi and ESPAsyncWebServer libraries is very resource intensive, so if you don't use this feature, you can remove them from the code with a #define change.
Additionally, I've implemented result scrolling. By pressing [F][.] all available digits (up to 32) are scrolled on the nixie display.
By the way,
the number shown on the picture is the result of


I finally got my ESP32-C5 dev kit. For those of you using ESP32 modules, here is the result of a little performance test limited to a very specific task, but which could still tell something about the speed of the modules.
The test calculates the square root of 9e9999 with a precision of 32 digits with the ratpak lib.
Compiler settings: optimized for performance, assertion level disabled.
ESP32 -> 6450 milliseconds
ESP32-C6 -> 4704 milliseconds
ESP32-S3 -> 4425 milliseconds
ESP32-C5 -> 2840 milliseconds
Since I need the highest single core performance for the calculations, I look forward to adapting my boards for the C5 WROOM once it becomes generally available.
In my defense, it was not my idea. But I had fun building this thing, and I must admit that the red 7-seg LEDs look very nice…
