**Nov 22 2008 News:**

Minor update to *Slide Rule* for Maemo released. I have changed the
keypad to look more like calculator instead of the phone dialpad. Also,
the top row of N810 keys can now be used as digits without pressing the
F-key.

At the surface, the *Slide Rule* is just another calculator for
your mobile phone. In addition to the usual arithmetic duties, *Slide
Rule* can do much more though:

- Simplify ratios without resorting to floating point.
- Simplify algebraic expressions.
- Plot algebraic expressions.
- Compute derivatives analytically.

The latest version of the *Slide Rule* can always be obtained from the
home page. To get help, report
bugs, suggest new features, and discuss *Slide Rule* and my other
applications, use the
discussion group
at Google Groups. Now, let us look closely at how you install and use the
*Slide Rule*.

The *Slide Rule* will run on any Nokia phone equipped with the
3rd Edition of the S60 software. It will __not__ run on older
S60 phones or UIQ phones from Sony Ericsson.

To install *Slide Rule*, download its .SIS file to your
phone and open it. If installation fails, you may have to enable
the phone to install applications from providers other than Nokia
affiliates. To do this, go to *Tools | Application Manager |
Options | Settings* and set *"Software Installation"*
setting to *"All"*.

When you open *Slide Rule* application, it presents you with a screen
shown above. The green area at the top displays the most recent computation
results. It is similar to a paper roll in a printing calculator. The yellow
area at the bottom serves to enter data. Just like in a traditional
calculator, you type in arithmetic or algebraic expressions and get the
answer by pressing the central button on the directional pad. If your
phone is blessed with a QWERTY keyboard, it will work in the expected
way. To enter data with the dialpad, use it as follows:

- The red

button quits the application.**[END]** - If your phone is blessed with a QWERTY keyboard, it will work in the expected way.
- Dialpad digits
`[0]..[9]`

act (surprise!) as digits. `[LEFT]`

,`[RIGHT]`

,`[UP]`

, and`[DOWN]`

on the directional pad correspond to arithmetic operations "-", "+", "*", and "/", similar to many other calculator applications.`[#]`

enters the decimal point (".").`[*]`

enters the variable name "x".`[&larr]`

,`[C]`

delete entered characters. If there are no characters, these keys will delete the most recent result off the list.`[ENTER]`

key or the`[OK]`

button on the directional pad enter your new expression into the calculator.`[SOFT1]`

switches between calculator and plotter modes.`[SOFT2]`

opens a menu of often used functions (sine, cosine, logarithm, etc.). Pressing`[OK]`

inside this menu enters the equal sign ("=") and computes the numeric value of the most recent result.- The green

button opens a menu of rarely used functions (arcsine, arccosine, hyperbolic functions, etc.).**[SEND]**

So, what happens when you click

`[ENTER]`

or the
`[OK]`

button? This depends on what you have just entered:
- Any
**complete**expression (like`34.5*12+3.9`

,`sin(1.5)*cos(0.7)`

or`sqrt(25)/9^3`

) is computed and its result put on the list. - Any complete expression with
**variables**gets simplified as much as possible and then put on the list. - An
**incomplete**expression**starting**with "-", "+", "*", "/", or "^" (such as`+12`

,`^2+0.3`

, or`/exp(10)`

) gets concatenated to the**end**of the last expression and then computed. - An
**incomplete**expression**ending**with "-", "+", "*", "/", or "^" (such as`12+`

,`0.3+2^`

, or`exp(10)/`

) gets concatenated to the**beginning**of the last expression and then computed. - If you put a
**function name**without any arguments (like`log`

or`sqr`

), the program will use the last expression on the list as the argument. - If you put a "-", "+", "*", "/", or "^"
**sign**without any arguments, the program will operate on the last two expressions from the list. - If you enter
`d<variable>`

(i.e.`dx`

,`dy`

,`dt`

, etc.), the program will compute the corresponding**derivative**of the last expression and save result back to the list.

Upon clicking the `[OK]`

button, the *Slide Rule* will
try to evaluate any expression you enter numerically. This is possible
when your expression does not contain any variables **or** all the
variables can be reduced out of it. So, expressions like *"1+13"*,
*"0.75/36+19"*, or *"sin(0)*sqrt(x)"* will result in immediate
numeric answers. Any expression that cannot be evaluated to a numeric value,
will only be simplified and treated as a function.

**Unlike** a traditional calculator, the *Slide Rule* attempts to
keep integer and floating point portions of the answer **separate**, to
avoid losing precision. While the floating point portions are treated in
the usual manner, there are special rules when dealing with integers:

- Integer addition, multiplication, and subtration happen normally, unless the result becomes too big. In this case, it is converted to a floating point value.
- Integer division creates a ratio. The
*Slide Rule*will simplify this ratio as far as it can (i.e. 22/143 becomes 2/13 and so forth), but will not convert it to floating point.

`[=]`

key or the `[SOFT2],[OK]`

key sequence.

When in the calculator mode, you will see that some expressions are marked
with colored letters
** G **.
Press `[SOFT1]`

to see graphs of these expressions in
corresponding colors. While in the plotter mode, shown at the right, you
can use the following keys:

`[SOFT1]`

returns back to the calculator mode.`[SOFT2]`

zooms out the graphs.`[OK]`

button on the directional pad zooms in.- Directional pad buttons move the coordinate plane.
`[#]`

adjusts vertical scale to bring graphs into focus.`[*]`

resets scale and position.