Ideas for Additional Calculator Features - Printable Version +- HP Forums (https://www.hpmuseum.org/forum) +-- Forum: Not HP Calculators (/forum-7.html) +--- Forum: Not quite HP Calculators - but related (/forum-8.html) +--- Thread: Ideas for Additional Calculator Features (/thread-14151.html) |
Ideas for Additional Calculator Features - deetee - 12-11-2019 02:43 PM Hi all! Right now I'm working on a successor for my calculator ScArY. I'm combining the cheap development board QYF-TM1638 (8 digit LED display, 16 buttons) with an Arduino/Genuino (USB/ATMEGA328, 28672 bytes of flash RAM) which gives me the opportunity for many more functions (see attachment). Even calculating matrices with complex numbers is implemented - not bad for a $5 DIY calculator. Right now I still have approx. 5 kilobytes of free flash memory. I'm planning to implement some kind of program editor and additional programming features (GOTO, X?Y, GOSUB, ...) but maybe there are more valuable things to do with the spare memory. Do you have any suggestions or wishes what I could implement else? Regards deetee [attachment=7915] Features so far: Code:
RE: Ideas for Additional Calculator Features - Dave Britten - 12-12-2019 12:10 AM A good natural-log-of-gamma function can be useful for solving problems with intermediate values that would otherwise soar past the numerical limits of the calculator. RE: Ideas for Additional Calculator Features - deetee - 12-12-2019 06:26 AM (12-12-2019 12:10 AM)Dave Britten Wrote: A good natural-log-of-gamma function Dear Dave! Thanks for your interesting suggestion. Right now I'm approximating the gamma function with a formula from Mr. Nemes, which has the boundaries you describe. It "consumes" approximately 200 bytes of memory. Do you have an recommendation how to calculate or approximate ln-gamma in an easy and codesize-friendly way? Regards deetee RE: Ideas for Additional Calculator Features - deetee - 12-12-2019 07:41 AM I found some good formula from Mr. Nemes to calculate lnGAMMA: lnGAMMA(x) = (ln(2*PI) - ln(x)) / 2 + x * (ln(x+1/(12*x-1/10/x)) - 1) which works fine. Thanks to Dave for your improvement. Regards deetee |