NQ41 RPN Calculator - 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: NQ41 RPN Calculator (/thread-9616.html) |
NQ41 RPN Calculator - Craig Bladow - 12-02-2017 11:09 PM Update: CC41 replaces NQ41, see this thread in the forum. I've been working on a command line RPN calculator program that I'm calling "NQ41" which stands for "Not Quite a 41". Since the release of version 0.1 the program supports continuous memory, running commands from an input file or STDIN and flags. Interactive mode is enabled by launching with ./nq41 -i Currently the program supports 319 memories and all HP-41C functions not related to programming or alpha features. The current release is version 0.2, which implements the ability to exit the Linux and Mac versions via "ctrl-d". If you are familiar with HP's RPN calculators such as the HP-25 or HP-41 then learning to use this program should not be difficult. The math functions currently use the default double precision floating point libraries provided for these operating systems. This is a command line client for OS X 10.8 and later, Windows 7/10 and Linux x86-64bit. Download zip file for version 0.20: https://www.dropbox.com/s/vj67jn1k466izkm/NQ41.zip?dl=1 sha256 of zip file for version 0.20: 7d861ea85d1369b53fb32ed140f5011b72d255cc0e2306ddc9a590d2d01ce4db To confirm the sha256 checksum: In OS X terminal: shasum -a 256 NQ41.zip In Linux terminal: sha256sum NQ41.zip In Windows: Install 7-zip, navigate to NQ41.zip, right click on it selecting "CRC->SHA-256" or use another utility that you trust. After un-compressing the zip file, run 'nq41 -i' from the folder corresponding to your computer's operating system. Depending on your computer's security settings you may have to take extra steps to approve running this program. This is just the first step so I invite feedback on issues that people observe. Code:
The following commands function the same, or similar enough, as in the 41C manual, with the disclaimer that the number representation and math functions are not identical: *, +, /, -, chs, 1/x, rup, rdn, x<>y, lastx, %, x^2, sqrt, enter, ln, e^x, log, 10^x, deg, rad, grd, pi, sin, cos, tan, asin, acos, atan, p-r, r-p, hr, abs, int, frc, sum+, sum-, mean, sdev, sto, rcl, fix, clx, clst, clrg, y^x, fact, mod, %ch, e^x-1, ln1+x, rnd, st+, st-, st*, st/, sumreg, clsum, d-r, r-d, dec, oct, sign, x<> Differences: hms+,hms- and hms will display the results of some operations differently so while the 41c would show 1.03 the NQ-41 would show 1.0260. prtsk, same command but print to stdout, or console. cat, just cat 3 works and not the same. sci,eng, While these have some affect on the display, they do not work like the 41C. Unique to NQ-41: about, trace, exit, changes Up Arrow to recall previous line entries works as follows: MS Windows 7: just works Linux and Mac OS X: Install a program called "rlwrap" and then run nq41 as follows: $ rlwrap ./nq41 -i On Debian/Ubuntu/Linux Mint install rlwrap: sudo apt install rlwrap On Mac OS X: First install Homebrew: https://brew.sh/ Then install rlwrap: $ brew install rlwrap RE: NQ41 RPN Calculator - pier4r - 12-02-2017 11:15 PM nice work! Any repository? RE: NQ41 RPN Calculator - Craig Bladow - 12-02-2017 11:25 PM (12-02-2017 11:15 PM)pier4r Wrote: nice work! Any repository? A public repository is definitely on my roadmap, I would like a more complete feature set and more mature code benefiting from user feedback before uploading to a repository. RE: NQ41 RPN Calculator - Craig Bladow - 12-16-2017 03:20 AM Version 0.004 released, see the first post for the download link. Version 0.004 Added commands: mod, d%, changes, hms+, hms-, e^x-1, ln1+x and fixed hr and hms functions. RE: NQ41 RPN Calculator - Paul Dale - 12-16-2017 07:14 AM Decimal arithmetic or binary? (if you don't know, it'll be binary Pauli RE: NQ41 RPN Calculator - Craig Bladow - 12-16-2017 04:05 PM It's binary arithmetic 64 bit floating point also known as double precision. I have started down the decimal path more than once, in C and in Forth, and came to realization that since my goal was not to design an arbitrary precision RPN calculator such as 'dc', for the same number of bits, binary math allows a smaller epsilon than decimal. RE: NQ41 RPN Calculator - Craig Bladow - 12-16-2017 04:37 PM Paul, Actually some old posts of yours regarding converting decimal hours to H.MMSS were very helpful when I first thought I could fix the following: Code:
Where the answer I was expecting was 2.03 but ultimately one needs a special display mode for H.MMSS to solve this problem. RE: NQ41 RPN Calculator - Craig Bladow - 03-01-2018 02:41 AM Version 0.011 released, see the first post for the download link. Version 0.011 Added many commands as well as indirect and stack addressing. Use the command 'changes' to see what was added. RE: NQ41 RPN Calculator - Craig Bladow - 03-01-2018 10:48 PM Thanks Geir, I’ve updated the download link and I’m glad you like the program. RE: NQ41 RPN Calculator - Craig Bladow - 03-02-2018 04:48 AM Version 0.012 released. Fixed a bug reported by the first known user yesterday. Geir's post brings the total known users to two, a 100 % increase! RE: NQ41 RPN Calculator - Egan Ford - 03-02-2018 04:28 PM Feature requests: 1. ctrl-d to exit from prompt, common for UNIX/Linux CLI tool prompts 2. args to CLI, e.g. NQ-41 3 4 +, returns 7, no interactive prompt 3. support stdin, e.g. echo "3 4 +" | NQ-41, returns 7, no interactive prompt RE: NQ41 RPN Calculator - Craig Bladow - 03-04-2018 04:38 AM (03-02-2018 04:28 PM)Egan Ford Wrote: Feature requests: Noted and thanks for the input! The plan for the next few steps: 1. Bug Fix - CLX is supposed to disable stack lift temporarily, but stack lift is not enabled. Solution has been developed and I will release soon. 2. Add loading and saving of programs and do some restructuring of the program to better support different operating systems. 3. See about the requests above. 4. Add programming support functions such as LBL, GTO, etc. RE: NQ41 RPN Calculator - Craig Bladow - 03-08-2018 07:52 PM (03-02-2018 04:28 PM)Egan Ford Wrote: 3. support stdin, e.g. echo "3 4 +" | NQ-41, returns 7, no interactive prompt Regarding Item 3, what and how should results that affect X and Y or X,Y,Z,T and L? For example: "5 5 r-p" returns 7.0711 45.000 RE: NQ41 RPN Calculator - Craig Bladow - 03-28-2018 03:06 AM Version 0.013 released, see first post for download link. Bug Fix - CLX is supposed to disable stack lift temporarily, but stack lift was not being re-enabled. RE: NQ41 RPN Calculator - pier4r - 04-13-2018 10:29 AM As said. Nice project that is pretty extended already! Sooner or later I will join the club "make your calc app on console" too! Feature requests: - git repo, or at least releases somewhere but not dropbox (assembla, wikidot, what not) - continous memory. Code:
RE: NQ41 RPN Calculator - Craig Bladow - 04-13-2018 06:23 PM I've added 'Continuous Memory' to the feature list. This would have to be a feature that the user enables on the command line when starting NQ41, explicitly loading the memory/state file. For example, If I invoke nano (a simple unix text editor) and do not specify an input file, it opens in a blank state and does not open the last file. Thoughts? RE: NQ41 RPN Calculator - pier4r - 04-13-2018 08:16 PM Ok for me, but by default I'll set it on. RE: NQ41 RPN Calculator - Craig Bladow - 04-25-2018 12:49 AM (03-08-2018 07:52 PM)Craig Bladow Wrote:(03-02-2018 04:28 PM)Egan Ford Wrote: 3. support stdin, e.g. echo "3 4 +" | NQ-41, returns 7, no interactive prompt I've solved this by implementing 'VIEW' which will output the referenced register to stdout. This is particularly elegant as VIEW can be used to view any memory, stack register as well as used with indirection. Implementing input from 'stdin' means that an interactive session needs to be started by: "nq41 -i" stdin can work as follows at least in Linux and probably OS X: nq41 < file.txt nqr1 <<< '1 2 + view x' RE: NQ41 RPN Calculator - Craig Bladow - 05-21-2018 04:07 AM Version 0.10 released, see first post for download link. Added Continuous memory support via the commands WRTA and READA. Added support for input from STDIN as well as running commands from a file. Initial support for flags, but not very useful until stored programs are supported. For interactive mode you must now start the program as follows: ./nq41 -i RE: NQ41 RPN Calculator - pier4r - 05-21-2018 08:50 AM Nice! I'll try on the mac at work. Also waiting for the git repo. |