PalmCalc

Version 1.0.3

Contents

What is PalmCalc?

[Back to Top]

PalmCalc is an RPN scientific and financial calculator for the 3COM PalmPilot and Palm III family of PDA's. The calculator supports 25 scientific functions, 5 financial functions, 4 statistical functions, and has 20 memory registers (two banks of 10 each).

System Requirements

[Back to Top]

PalmCalc requires Palm OS 2.0 or higher, and 34K of RAM (88K including MathLib).

Installation

[Back to Top]

To install PalmCalc simply unzip the archive you downloaded and use the install tool (or equivalent) to install both PalmCalc.prc and MathLib.prc on your Palm Pilot or Palm III. You might also consider assigning the calculator button to bring up PalmCalc instead of the default calculator after syncing.

PalmCalc requires MathLib.prc to be installed on the Palm Pilot. If you already have MathLib installed on your Palm Pilot from some other program you don't need to install it again.

MathLib is not part of PalmCalc. MathLib is a free shared library that can be used by any OS 2.0 Pilot program that needs IEEE 754 double precision math functions. It's distributed under the terms of the GNU General Public License, and is freely available with full source code and documentation at the MathLib Information web page. It's not a part of PalmCalc, and you're not paying anything for its use; a copy is simply included in this archive for your convenience.

Basic operations

[Back to Top]

PalmCalc is based on Reverse Polish Notation (RPN). RPN differs from standard mathematical notation in that the numbers to be operated on are pushed onto a stack and then executed upon by a function. Hence the operation

12.5 + 7

is keyed as

The enter key is used to separate the two values. Most buttons on PalmCalc can access three functions. The function or number on the top of each button is accessed without shifts. The function just above the button is accessed by pressing the f-shift key before pressing the button. The f-shift indicator will light in the display when the f-shift is active. Similarly to access the functions on the front of the buttons use the g-shift key . The g-shift indicator will light in the display when the g-shift is active.

Most functions remember the last x register value used during a computation. This value can be accessed via the button.

PalmCalc has a 4 element stack. The elements of this stack are referred to by the names x,y,z, and t.

The value of the x register is what is displayed.

PalmCalc can display results in either fixed or scientific format. Fixed format displays results with a fixed number of decimal digits but will over- or underflow to scientific notation if the value is too big or too small. Scientific format displays all results in scientific notation with a fixed number of decimal digits. Press and the number of digits to display ( through ) to set fixed format. Similarly press and then number of digits to display to set scientific format. Numbers in scientific notation are displayed as

which is interpreted as the number 1.234567890 x 1099.

The 10 primary registers are accessed by pressing or and then the register number through . To access the secondary registers, swap the primary and secondary registers with and then use or .

Basic Functions

[Back to Top]

Numerals

Change sign of mantissa or exponent

Start entering exponent

Undo last character (or clear x register)

Minus

Plus

Times

Divide

Separate values and prepare x register to be overwritten

PalmCalc allows you to input numbers using Graffiti. The characters 0 through 9, decimal, minus, sign and 'e' can be used instead of the numeric buttons, , , and .

Stack and Register Functions

[Back to Top]

PalmCalc has 20 registers -- 10 primary registers and 10 secondary registers. Only the primary registers are accessible directly from the keyboard. The secondary registers are used to store values used for the financial and statistical functions. To access these registers, swap the primary and secondary registers via and then access the values now accessible via and . Use to swap the registers back to their original configuration when done. The secondary registers can be used to store your own values but you must be careful not to use any financial or statistical functions if you do so.

n

Store into register n

n

Recall from register n

Swap primary and secondary banks of registers

Clear all registers

Swap x and y registers

Recall last x value

Clear x register

scroll up button

Rotate stack contents up

scroll down button

Rotate stack contents down

n

Set display to fixed format with n decimals displayed

n

Set display to scientific format with n decimals displayed

The stack and registers can be viewed by choosing one of the Display menu items.

Choosing the Display-->Stack menu displays the four stack values as well as last-x:

Choose OK to return to PalmCalc or scroll (using the buttons on the PalmPilot or the arrows in the display) to see one of the other register views. The stack, primary, and secondary views are connected in a loop.

Choosing the Display-->Primary Registers menu displays the 10 primary registers. Similarly, choosing the Display-->Secondary Registers menu displays the 10 secondary registers.

Displaying the secondary registers is an easy way to see the values of the financial registers. Note that the interest (i) is displayed as fractional interest and not in percent as it is when you compute it using the button.

Copy and Paste

[Back to Top]

PalmCalc allows you to copy the values in the display for export to other applications like the Memo Pad. Simply choose Edit-->Copy from the Edit menu

to copy the currently displayed value onto the clipboard. The value put on the clipboard honors the display mode ( vs. ) and the number of digits. Choose Edit-->Paste to push the current value on the clipboard onto the stack. If the string on the clipboard cannot be converted to a valid number, the PalmPilot will beep (when system sounds are enabled) and the value of the x register will be unaffected.

Scientific Functions

[Back to Top]

Unary functions

[Back to Top]

These functions operate on the value in the x register and replace it with the function result (f(x)).

The trigonomic functions are sensitive to the angle mode: degrees or radians ( or in the display). When in degree mode, inputs to , , and are assumed to be in degrees and the results from , , and are in degrees. When in radian mode, the inputs and outputs are assumed to be in radians (where 2*pi radians is the same as 360 degrees).

f shift. Use to access functions above each button.

g shift. Use to access the functions at bottom of each button.

Absolute value

Sine

Cosine

Tangent

Arccosine

Arcsine

Arctangent

Value of pi

Set angle interpretation to degrees

Set angle interpretation to radians

Natural logarithm (base e)

Base 10 logarithm

Exponential function

Ten to the x power

Square

Square root

Reciprocal

Fractional part

Integer part

Factorial

Binary functions

[Back to Top]

These functions use the values in both the x and y registers and place the result in the x register.

Percent

Percent change

y to the x power

Financial Functions

[Back to Top]

The financial functions are governed by the equation,

PV*(1+i)N = s*PMT/i*((1+i)N-1) + FV

where s = -1 when PV is zero and s = 1 when PV is nonzero. When the annuity mode ( mode) is (annuity due) then PMT in this equation is modified to be PMT*(1+i). The financial functions have two modes: input mode and calculation mode. PalmCalc is in input mode if a number has been keyed into the calculator or any non-financial functions have been executed. Executing one of the main financial functions (, , , , or ) stores the displayed value in the associated financial register. PalmCalc is in calculation mode after any financial functions have been execute and before any other functions that change the stack are executed. The result of a financial computation is pushed onto the stack:

Most of the time this should behave as you would expect. However, if for some reason PalmCalc stores a value when you intended to compute one, simply execute the financial function again to obtain the desired result.

Example: Suppose you are interested in determining the payment for a car loan of $18,500 at 7.25% interest for 5 years. The key strokes to solve this problem using PalmCalc are

  1. to reset the financial registers (since the values in the registers are maintained between sessions with PalmCalc it is a good idea to reset the financial registers before each use of the financial functions).
  2. to set the number of periods (in months)
  3. since the interest per month is 7.25/12 %
  4. to set the principal or present value of the loan
  5. to compute the payment per period (ans: $368.51)

Example: What is the payment if you are willing to pay a balloon payment of $2,000 at the end of the loan?

  1. Set the value $2,000 as the FV (balloon) for the loan.
  2. to compute the payment per period (ans: $340.75)

 Example: How much interest do you end up paying with the balloon payment?

  1. to compute the total payments minus the loan value
    (ans: $1,945.17). Note that had to be pressed twice since the first time stored the total payments into PMT.

Number of periods

Input mode: Store displayed value as N.

Calculation mode: Compute N.

Interest rate per period

Input mode: Store displayed value as i (in percent).

Calculation mode: Solve for i. If the solver doesn't converge an error '-e-' will be displayed.

Payment per period

Input mode: Store displayed value as PMT.

Calculation mode: Compute PMT.

Present value

Input mode: Store displayed value as PV.

Calculation mode: Compute PV.

Future value (or balloon)

Input mode: Store displayed value as FV.

Calculation mode: Compute FV.

Toggle between beginning of payment period (annuity due) and end of payment period (ordinary annuity)

Clear financial registers and set payment period to the end (ordinary annuity).

Statistical Functions

[Back to Top]

The statistical functions accumulate sums based on the values in the x and y stack registers. These sums are used to compute the mean and standard deviation or can be accessed directly via and . Use to reset all the statistical registers to zero before accumulating sums. If you make a mistake keying in the x,y values and after pressing , rekey the errant values and press to remove them from the sums. The mean and standard deviation are computed as

with similar equations holding for the y component as well.

Accumulate x,y

n is the number of sums accumulated so far.

Remove x,y

n is the number of sums accumulated so far.

Mean

Standard deviation

Clear statistical registers

Legal Stuff

[Back to Top]

PalmCalc makes no warranty whatsoever, either implied or expressed, as to the correct functioning of this software. When using this software, the user assumes all responsibility for any damages caused, directly or indirectly, by its use.

Contacting PalmCalc

[Back to Top]

If you have questions, suggestions, bug reports, or you just want to tell us how you much you like PalmCalc you can contact us at PalmCalc@aol.com or on the web at http://members.aol.com/PalmCalc.

PalmCalc is available at PalmPilot Gear H.Q. (Phone: 817-461-3480, Fax: 817-461-3482). Also see the PalmCalc web site for up-to-date information about PalmCalc.

 

Copyright © 1998-1999 by PalmCalc -- All rights reserved.

Last updated: 15-Jan-1999