Ultimate Calculator ©Robert Cook 2002
bobcook47@hotmail.com
http://bcook.cs.gasou.edu/eclass/zaurus.htm

Operation Ultimate implements arithmetic operations on scalar values (56.9e+3), values with units from a combination of user-defined base systems (6KgM^2), values with derived units (6.3Mph), and any legal combination of these options. User-defined named constants (Pi) are also supported. The unit base systems (1 2 3 4) can be defined in terms of currency, temperature, weight, mass, pressure etc.

Values are represented as C++ 64-bit floating-point values. Values are entered on a last-in-first-out stack as they are keyed. All operators ( + - * /) are applied to value(s) removed from the top of the stack and then place their result back on the "top" of the stack. For example 4 enter 5 enter +, places 4 then 5 on the stack, the addition operator (+) removes 4 and 5 from the stack, adds them together and places the result (9) back on the stack. Ultimate also supports infix expressions (3+4*5 enter == 23).

Key Buttons Ultimate is designed for stylus-only use, but data can also be entered from a keyboard.

0-9 | Enter a digit
. | Enter a decimal point (only one per number)
e | Used for scientific notation 1.3e2 == 1.3*10*10 == 130
CE | Clear Entry, if entry is already clear, pops top of stack
<- | Erase one character
Enter | Put value in window on top of stack
+ - * / | Add Subtract Multiply Divide
( ) | Change order of operations 3*5-2 == 13 while 3*(5-2) == 9
A B C D | User-defined buttons
X Y Z | X refers to the first value pushed on the stack, Y 2nd, Z 3rd
| 3 enter 4 enter x*y-7 enter == 3*4-7 ==5
^ | Value and unit power operator 3^4 == 81 6M^2Sc^-3

Menu Options Ultimate supports the input of user-defined parameterization files, which can be tailored for personal preferences. Definition files are plain text. A sample file (calc.txt) is included in the Ultimate distribution.

File | ReadUnits type file path in edit window then tap ReadUnits | About brief help summary | Exit quit program |  |  |  |  |  |
Edit | ClearAll delete all values from the stack | Copy edit value to clipboard | Paste clipboard value to edit window | SetDefault type Ft in edit window, tap SetDef, display will convert to Ft | SetA all text in edit window will be associated with button A | SetB | SetC | SetD |
+ - * | AddAll 2 enter 3 enter 4 enter AddAll 2+3+4 9 | MultiplyAll 2 enter 3 enter 4 enter MultiplyAll 2*3*4 24 | Remainder 7 enter 5 enter Remainder 7%5 2 | Root 25 enter 2 enter Root 5 | Power 3 enter 4 enter Power 3^4 81 |  |  |  |
Trig | acos(x) | asin(x) | atan(x) | cosh(x) | sinh(x) | tanh(x) | cos(x) | sin(x) | tan(x)
Log | e^x | ln(x) | log(x) |  |  |  |  |  |
Const | user-defined constants
Unit | user-defined units (Ft Mi Km Eu Us Cn Lb Kg)

Definition File Options

> Input a List of numbers (one per line)
> 5
> 6.5
> 7.32e-4
> 6FtSc^-1

> Define a Named Constant
> 3.14
> =Pi

> Define a Unit System

> 1 | Base System Id (1-4)
> 0 | 0 is canonical unit
> ,In | Inches
> 1 |
> 12 | f(base) 12*In == 1*Ft
> ,Ft | Feet
> 1 |
> 63360 | 633360*In == 1*Mi
> ,Mi | Miles
> 2 | 2nd base unit system
> 0 | 0 is canonical unit
> ,Sc | Seconds
> 2 |
> 60 | 60*Sc == 1*Mn
> ,Mn |
> 2 |
> 3600 | 3600Sc == 1*Hr
> ,Hr |

> Define a Derived Unit
> 1MiHr^-1
> :Mph

> Define a new default measure for a unit system
> ;Mi
> ;Hr