| Hello, all! I'm proud to present shellmath, a floating-point calculator written entirely in bash. Shellmath does not call out to any external programs -- calculators, text manipulators, or anything else -- and achieves execution speeds competitive with GNU awk and bc. You can do floating-point math directly in the shell, and now you have a ready-made family of routines for doing so! For skeptics ;-) I've included a demo that calculates 'e'. I've also posted a few words about the methodology, runtime efficiency, and a few bells and whistles on the README and in the project wiki. I eagerly await your feedback! Be good, and have a great day! |
Thumbing through the code made me wonder what the zsh(my normal shell) implementation feels like, and I think it is fair to say your code is easier to wrap your head around than the documentation for floats in zsh.
FWIW - and given that you've only shown Windows timings - on my Linux box hyperfine shows:
I expected the speeds to be closer because of the differences with subshells on Windows and Linux, but the distance still surprised me.¹ https://en.m.wiktionary.org/wiki/contranym - choose one