
KALKULATOR 1.06  -  ABOUT THE PROGRAM
=====================================


You can buy a decent scientific calculator in your drugstore for $15
or less. Put it next to your computer's keyboard - and why bother
with any calculator program?

This means that a program of this kind, in order to be more than just
a gadget, has to have features you will not find in any calculator.
Here I will try to convince you that Kalkulator is such an application,
although, of course, ultimately you will be the judge.

What follows is a brief listing of Kalkulator's features.


1. EXPRESSION EVALUATION

On most calculators (with a notable exception of some Sharp and Casio
models) an expression is being evaluated while you are entering it.
As soon as the next operand (numeric value) has been entered, you do
not see the previous one(s). Upon completion of an expression, you
cannot really see what went into it. If you make (or suspect) an
error, everything has to be re-entered from the beginning.

In Kalkulator the whole expression is entered first in a notation
very much like that used on paper. Only when the expression has been
entered, you compute it. The expression stays there, and at any
moment you can review it, modify and recompute. More, you can switch
between six different expressions at a time (twenty-four in the
registered version).


2. FUNCTION SET

Kalkulator has more functions that any competition I am aware of
(and, certainly, more than some "ultimate Windows calculators",
boasting "logarithms, power, pi amd much more" - no, I am not
inventing this!):

- 39 standard functions: logarithmic and exponential (base e, 10 and
2), trigonometric and inverse, hyperbolic and inverse, square, cube
and corresponding roots, some hndy utility functions (like fractional
part, absolute value etc).

- 4 Euler (or related) functions: gamma, logarithmic gamma, beta,
combinations (the factorial operator is also provided)

- 44 statistical distribution functions for eight most commonly used
distributions; this includes left, right and central distribution
integrals and functions inverse to distribution integrals (the
latter, so commonly used in statistics, cannot be found in any
calculator, regardless of the price)

- 3 random generator functions (uniform, Normal, Poisson) to perform
statistical what-if calculations

- 3 conditional functions (e.g., "if the first argument is negative,
take the second one, else take the third")

- 3 mixed-unit entry functions: pounds/ounces, feet/inches, hours/
minutes/seconds

- 12 user defined functions of a single argument

All these add up to more than 100 functions, computed, when only
possible, with not less than 18 decimal digits of accuracy (although
only 16 digits of the final result are displayed, and for a good
reason).


3. RESULT REFORMATTING

Any result can be displayed in a number of formats:

- Fixed- and floating point with a user-selectable number of digits
(you can also let the program decide)

- Whole part and fraction, e.g., "8 9/17"

- Pounds, ounces and a fraction, e.g. "3 7 9/16"

- Feet, inches and a fraction, similar to the above

- Degrees, minutes and seconds of angle

- Decimal degrees of angle, same for minutes or seconds

- Hours, minutes and seconds of time


4. VARIABLES

Results of calculations can be stored in variables (memories),
denoted as A..Z. These variables can then be used in other
expressions.


5. UNIT CONVERSION

Any calculation result can be converted between different measurement
units. Conversions for area, energy, force, length, mass, power,
pressure, speed, temperature, time and volume are provided.

In addition, a number of physical constants have been defined in the
program. Possibly, not many users will need this feature, but all it
costs you is just the space for one button.


6. NUMERICAL OPERATIONS

Kalkulator will take a function typed in as an expression and perform
on it the following numerical operations:

- Numerical integration over a given interval

- Computing a derivative at a given point

- Computing a sum within given argument limits, with a given step

- Find a zero of the function, i.e. solve an equation f(x)=0 inside a
given interval

If you do not need these operations, just ignore them: all they take
is another four small buttons at the bottom of the screen.


7. FUNCTION GRAPHS

A function defined as an expression can be plotted within a given
x-range; the y-range can be entered manually or computed and rounded
by the program. A number of functions can be plotted within a single
graph.

The plotting algorithms are quite smart, making necessary adjustments
to the local line curvature and being capable of handling points or
areas where the function is not computable. You can invent a function
formula to fool any plotting algorithm, but Kalkulator's is more
difficult to fool than most, at least those I'm aware of.

There is a provision to add coordinate grid, and the graph can be
saved to the Windows clipboard for use in other programs.


8. STATISTICAL OPERATIONS

Kalkulator has a data buffer, capable of storing 128 data values (X
points) or 64 pairs of values (XY points). Simple statistical and/on
graphic operations can be performed on the data:

- computing the population parameters: mean, variance, standard
deviation, minimum and maximum values, covariance (for XY points)

- drawing a data histogram (X points)

- drawing a scatter plot (XY points), computing linear or square
regression coefficients and adding the regression line to the plot

The data values and the computed parameters can then be used in any
Kalkulator expressions.

You can also define a formula to compute the X or Y values; this
formula may also refer to any points in the buffer.

[The registered version of Kalkulator adds some capabilities here:
the data buffer has the capacity of 6400/3200 data points, and the
program will do polynomial regression up to the ninth degree. It also
allows for saving the data to (or reading from) an ASCII file.]


9. THE USER INTERFACE, LOOK AND FEEL

Too many programs throw in lots of features and a kitchen sink, to
the point when navigation through program features becomes confusing
(not to say irritating). In the case of Kalkulator the major design
principle was that the user should not be hampered by the features
he/she does not access.

This is, of course, a highly subjective issue, but Kalkulator at
least makes a honest attempt in this area. Many of the less-used
functions or operations are accessed from tabbed panels. When not in
use, only a tab reminds the user about their existence. The buttons
for more advanced operations (like, say, numerical integration) can
be hidden (which also saves you the valuable screen space).

All operations, without a single exception, can be performed without
the mouse, using the keyboard only. This was done primarily with
laptop users in mind.

Another nice option allows to shrink Kalkulator vertically to not
much more than two lines of text - just enough space to enter the
expression and to see the result. You may find this feature handy
when using the program while working on some doument. (Yes, cut and
paste operations are, of course, supported.)

Last but not least, two different display fonts are provided: one
suitable for the not-so-sharp CRT monitors, and another primarily
(but not only) for the super-sharp active matrix displays.


10. FAULT TOLERANCE

Kalkulator traps internally all user errors. If you attempt an
illegal operation, you will get just a message with the error
diagnostics.

For expression syntax errors, the input cursor will be placed at the
offending expression element, so that correcting the problem is quite
easy. (Compare this with the "E------" display you see on the
"regular" calculators.)


11. PERSISTENCE

When you exit the program, the current status of all operations and
the data is saved to a disk file. Next time you run the program, you
will be able to pick up from the place you left it.

You can also save or reload the program status at any time.


12. ON-LINE HELP

Yes, of course. Kalkulator comes with a standard Windows help file,
quite detailed and comprehensive. Good-looking, too.


THINGS KALKULATOR DOES NOT DO

- Calculations on complex numbers

- Linear algebra (matrix and vector operations, linear equation
systems)

- Systems of non-linear or differential equations

- Binary, octal or hexadecimal calculations

- Symbolic algebra

- Financial math (compound interest, pay-offs etc.)

- Programmability (loops, branching)

- Plotting two-, three- and n-dimensional surfaces

- Function optimization

- Bessel functions, elliptic integrals

- Your homework

Depending on your response, some of these features may be implemented
in the future releases. The Spring '96 release will include a
hex/octal/binary calculator and linear algebra. Some items of this
list will, however, never make it into the program: symbolic algebra,
financial math, advanced plotting.


ADDITIONAL NOTES

Kalkulator is not such a new program as the version number might
indicate. The general concept and much of the user interface are
inherited from "El_Cal - an Elementary Calculator", quite popular in
the Atari ST environment (and still the most powerful program of its
kind; Kalkulator is only getting there). El_Cal has been under
permanent development between 1988 and 1993 (at that time the ST
could run circles around PC clones!).

The expression parser, graphing algorithms and a major part of the
internal program logic are the same as in Ex, a scientific and
engineering program for the HP LX Palmtop computers. This program,
released in 1993 and still being improved, became one of the more
popular pieces of software on the HP platform (at least judging from
the number of CompuServe downloads).

Finally, most of the numerical algorithms used in Kalkulator have
been developed and refined in the last 20 years or so, in the course
of my various home and job-related projects. Some of them, in
addition to being used in the programs mentioned above, might already
have affected your life, being a part of various U.S. Government
projects. (Although a physicist by education, I am making my life as
a software engineer.)

The only really new part of Kalkulator is the Windows user interface.
The rest of the program has been around.

###
