4 ms·
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 -- calc
by clarity20 6y ago
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!
- JNRowe 6y agoThis is awful¹, I love it! 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: Summary './faster_e_demo.sh 15' ran 1.78 ± 0.16 times faster than './slower_e_demo.sh 15' 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 https://en.m.wiktionary.org/wiki/contranym - choose one
- clarity20 6y agoThank you, I tried to make the code as readable as I could. And yes, since the *nix model for (sub)processes is cleaner than Cygwin-on-Windows it's kind of surprising that that gap is what it is.
- pabs3 6y agoWho does the name in the description refer to?