At some point during all the various updates to the previous post I noticed that dronz posted an update to his calculator package in the goodie bag. I haven't really had time to test it yet, but I spotted the note about my crappy build of bc. Way back when I compiled bc I got stuck, unable to fix a segfault with the builtin mathlib, so it was limited to only the most basic functions. Good enough for the rudimentary math required for zpub, but not much else.
Well, now I have a native compiler and a debugger so I took another look. Turns out the segfault was due to gcc 4.1 optimizing out some important initialization functions required for the builtin mathlib. I turned off the optimizations, and now it all seems to work. Ok, my "extensive" testing showed the sine of zero is zero, and four times the arc tangent of 1 is pi according to the bc mathlib. That's miles better than a segfault.
I have the compiler running on an SD card loaded with IZ2S 2.04, and the keyboard drivers on 2.04 are a bit flakey, so I decided to build another bc executable with the readline command line editing enabled. That adds quite a bit of bloat, so it's not really suitable for the jffs, but it did help me with my testing on the jumpy keyboard. So I guess I'd recommend the readline version if you're gonna put it on an SD card. Otherwise I'd upx the smaller bc and go with that.
bc-with-mathlib-iz2s.zip
Here's a site with tons of goodies for bc.
Another site with code for making animated graphs from bc. Perhaps it could be combined with zgv or imgv to make a graphing calculator?
Update:
I spent a few minutes with dronz' latest iz2jffs calc script and tweaked it up a tiny bit. The resulting calc script runs bc with -l to load the mathlib, lets me change the scale, and can apply subsequent operations to a previous result. That covers about 99% of my calculator usage, except maybe when I want to do hexadecimal math.
No comments:
Post a Comment