RPN stands for Reverse Polish Notation. Reverse Polish Notation was developed in 1920 by Jan Lukasiewicz as a way to write a mathematical expression without using parentheses and brackets.

- RPN saves time and keystrokes. You never have to account for the parentheses while doing calculations. The process is similar to the way you learned math on paper.
- You can see the intermediary results as you perform your computations rather than just the answer at the end. This is an extremely helpful byproduct. Math teachers are using this feature to improve student understanding of mathematics
- An intermediate result allows the user to check the results and correct errors more easily. It's easier to follow the stream of calculation. The user defines the priority of operators.
- RPN is logical because the user first gives the number and then tells what to do with it.
- Because subexpressions are evaluated as they are entered, entry errors are more obvious with RPN. On an algebraic calculator, omitting an opening parenthesis, may not lead to a calculation error until much later when an entire subexpression is evaluated.

RPN became popular through the HP calculators and there is today a whole fan club around these HP calculators. Most HP calculators are collectors items and are sold for very high prices. See e.g http://www.hpmuseum.org/.

A very detailed explanation on how to use RPN can be found at: http://www.hpmuseum.org/rpn.htm.

In short: You use RPN just like you have been told in school when you manually resolved an equation on paper. You have the stack (LIFO, last in first out, registers: X, Y, A, B, C) to store intermediate results. Let's take an example.

3 + 5 ----------- 16 - (2 * 6)You could start to evaluate this term at the numerator but normally you would start with the more complex term, the denominator, in this case. This is also what you do on an RPN calculator:

Type: 2, enter, 6, *

You just calculated (2 * 6). Note that the numbers are entered first and then you say what to do with them (* = multiply). You see immediately the result in the display: 12

Continue with: 16, swap, -

You have just calculated: 16 - (2 * 6)=4. Now go to the numerator.

Type: 3, enter, 5 +

You have now calcualted 3+5 and you have result form the denominator (4) still in the stack at position Y.

Type: swap, /

... and you are done: The result is: 2

You can either operate this calculator with mouse clicks or
**you can use the keyboard**.
However some web-browsers have keyboard shortcuts which may
conflict with the keys used by this calculator. Therefore you
need to place the mouse over the textarea below the calculator (click once,
the field will become dark gray).
The avaliable keyboard short cuts are documented in
the textarea. Numbers and all basic mathematical operators are
available as keyboard shortcuts.

More rarly used functions are only available as buttons (click with the mouse). This is also to avoid that the keyboard interface become too komplex to learn.

**Function buttons:**

- stoX -- store the value of X in the register next to the stoX button for later use.
- rclX -- recall the value and write it to X
- undo -- undo one step
- lastX -- restore the last value of X
- swap -- swap X and Y
- mode:rad/deg -- switch between rad (sin PI=0) and deg (sin 180=0)
- C -- clear X and write 0 into X.
- <-- -- delete the last digit of the number just entered
- pop -- move the stack one evel down
- enter -- push the stack one level up
- E and E- -- this is to enter numbers as num*10^something or num*10^-something

Have fun with rpnjcalc but if you ever get the chance to buy a real HP then don't miss it. I have really fallen in love with my HP calculators and I still find the algebraic logic to be a bit lame. RPN is just a lot more elegant.

This rpnjcalc documentation was written by Guido Socher, guido at linuxfocus dot org, Copyright: GPL