Kalk 1.0.0 Information Page
Introduction
KALK is a RPN calculator with statistical computation functions. You can upload it into your pilot with your install.exe Application (WinDOS) or with pilot-xfer (Unix) as any other application. Download kalk100.zip. (Under UNIX, use unzip -L to uncompress to get lowercase filenames.)
Whats new?
Finally, I installed double precision! Confirmation boxes for dangerous operations.
General Usage
The register you are editing is the 'X' register. One above you have the 'Y' register. You should remember this to understand the labels on some of the buttons. For example: y^x means that you have to type the base and then the exponent. After pressing ENTER the base will move from the X to the Y register and the eponent will be entered into the X register afterwards.
Statistical Functions
You can enter pairs of numbers into KALK on which it tries to do linear regression analysis. This means that it tries to find line which approximates the cloud of points you entered.
Add
Adds another pair. If you don't supply a Y value, KALK will consider this as a zero.
Delete
Removes the pair from memory. As KALK does not store statistical values individually, it is not trivial to remove data once it has been entered. If you want to delete a value, you can enter the values again but press Delete instead of Add.
x,y
Returns the mean of all X or Y values.
sx,sy
Returns the standard deviation (not the variance!) of all X or Y values. You can compute the variance by pressing x^2 after sx or sy.
r
Returns the "empiric correlation coefficient". Absolute values close to 1 mean good correlation, values close to 0 mean weak correlation.
#
Returns the number of values you've entered so far.
bY|X
Returns the slope of the regression curve when predicting X for Y.
bX|Y
Returns the slope of the regression curve when predicting Y for X.

If you need the intersection with the ordinate, compute 0 Y->X or X->Y.

Clear
Clears all internal statistical registers. Use with caution.
A confirmation box is on my todo-list.
KALK questions
What does KALK mean?
It's the way Germans procounce calc. Also, it means chalk, an important tool for matematicans to do calculations :-).
How to use it?
Just like a normal RPN calculator.
What is RPN?
It means "reverse polish notation". On RPN calculators you have to type operations after you have typed in all arguments. Eg: 3 ENTER 4 + instead of 3 + 4. The ENTER is needed to separate the two arguments.
Why RPN?
With RPN you do not need brackets. Moreover, it is much easier to reuse results from previous computations. All arguments are being put on the "stack". Whenever you type an operation, the calculator will get as much arguments as it needs from the stack and put the result back on the stack. And, it's much cooler. :-)
What's a stack?
A stack is some kind of storage where you can put things on and get it from in the order "last in - first out".
Kalk prints wrong results!
The math library I use was originally implemented for single precision. Using math library functions have only 5 to 7 digits accuracy whereas basic operations as adding or division have 15 digits accuracy.

Technical Information:
Copying the math functions and replacing float by double wouldm't really help as I would have to figure out new polynomials with more coefficients.

Limitations
The code size is definitely too large.
The floating point libraries for math functions are extremely large. And they don't obey IEEE behaviour! If someone has a smaller library, please tell me.
Some illegal operations do not trigger properly.
This is due to the implementation of the floating point routines.
There is no visual marker wether one is using Degree or Radian
Stay tuned, its on my to do list. However, you can peek into the Preferences menu.
ToDo
Finish my thesis. Fixing Bugs. Visual marker for angle mode. Direct key strokes for entering menus or different forms. Finding a way to reduce the code size. ...
Registration
This program is postcard-ware, which means that you may copy and distribute it as far as you like. I won't charge you any fee for this. But you may not charge anyone for this program either. If you like KALK, you have to send send a postcard with your email address (or whatever may serve as some kind of identification) to
	  Holger Klawitter
	  Einsteinstr. 62
	  48149 Muenster
	  Germany
      
(eMail reports will be thankfully accepted but do not count as registraton :-)

If you are a shareware programmer...

... keep in mind that you got my software for free. :-)
Acknowledgements
I would like to thank especially all developers of the Unix-tools for Pilot software development. Thanks to Wes Cherry, Jeff Dionne, Kenneth Albanowski, Ian Goldberg, Scott Grosch, Brian Swetland, and many more and thanks to USR for supplying the public with the developers handbooks.
Revision History
1.0.0 (Aug 11 97)
Double precision!
0.2.2 (Jul 28 97)
Bugfix in display routines
0.2.0 (Jul 21 97)
More math functions, Registers, Degree support.
0.1.3 (June 24 97)
Several Bugfixes. Smaller Keys.
0.1.2 (May 23 97)
Fixed entering of negative exponents.
0.1.1 (May 10 97)
Documentation improved. (No release change in .prc file)
0.1.0 (May 4 97)
Initial public release.
Legalese
KALK is Copyright (c) 1997 by Holger Klawitter

Permission to use, copy, modify, and distribute this software and its documentation for any purpose, without fee, and without a written agreement is hereby granted, provided that the above copyright notice and this paragraph and the following two paragraphs appear in all copies.

IN NO EVENT SHALL THE AUTHOR BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE AUTHOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

THE AUTHOR SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND THE AUTHOR HAS NO OBLIGATIONS TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.


holger@math.uni-muenster.de
Last modified: Mon Aug 11 22:29:29 MET DST