********************************************
XiCalc 2.1 - A short reference guide
********************************************

Keyboard
========

Using the up and down arrows, you can select the appropriate
memory variable for one of the operations executed by one of the
buttons beside to it:
  [M] will store the calculation result to the chosen variable
  [M+] will add the calculation result to the chosen variable
  [M-] will substract the calculation result from the chosen variable

[Calculate] will attempt to parse the formula entered above
and evaluate it if parsing succeeds.

[Clear] will empty the input line and set the calculation
result to zero.


Engine state
============

Currently displays the memory allocation status and the chosen
angle units (rad, deg, gra) used by trigonometric functions.


Formula input line
==================

You may use the left and right arrow keys on your keyboard, to
'scroll' the formula in the input line.
You may use the standard cut and paste shortcuts.
Notation of valid formulas: see > 'Input syntax'


File menu
=========

|Open| will attempt to load and parse the declarations in the
library file.

|Save| will store the current user-defined function/constant 
declarations in a library file (*.xcc or *.xcf).


Edit menu
=========

|Constants| will open the editor for user-defined constants.
  [Cancel] will quit without changing anything.
  [Done] will parse and activate your declarations.
  [Add], [Delete] and [Modify] apply to the declaration list 
  on the left side (use mouse to select).

|Functions| will do the same for user-defined functions.

|Preferences| will open the configuration window.
  [OK] will save the settings to the configuration file 'xicalc.ini'.
  [Cancel] will quit without saving.

|Size| will switch between three different GUI-modes.

|Calculate|, |Clear|: same as buttons.

|Copy result| will store the calculation result to the windows-clipboard.


Palettes menu
=============

|Variables| will display the contents of the memory variables.

|Constants|, |Functions (user-defined)|: View descriptions and definitions 
of current user-defined declarations and paste the appropriate prototypes
directly into the formula input line.

|Functions (built-in)| will paste prototypes of hard-coded functions.
(useful for quick reference)


Help menu
=========

self-explanatory.


Input syntax
============

Supported operators:
  + to add
  - to subtract
  / to divide
  * to multiply
  ^ to apply power
  (The standard precedence rules are implemented: 1. ^, 2. */, 3. +-)

Supported functions:
  see > 'Palettes menu'

Number format:
  d = [0..9]
  ddd
  .ddd
  ,ddd
  ddd.ddd
  ddd,ddd
  ~~~Eddd
  ~~~E-ddd
  ~~~E+ddd
  (example: '1.23E-23')

Notation of valid expressions:
  (Special characters and whitespace are ignored.)
  examples:
  3*(4+5)
  7^(8-3)
  (4+7)/(5-2)
  ln(256)/ln(2)
  pro('i';1;100;i)
  sum('j';1;100;1/j)
  (Constants and variables [a..z] are used like numbers.)

Declaration of constants
  <constant name> = <number>
  constant name: consists of at least two caracters [a..z] and the underscore '_'
  number: see > 'Number format'
  (example: 'epsilon = 1E-9')

Declaration of functions
  <function name>(var1;var2;var3;...) = expression
  function name: consists of caracters [a..z] and the underscore '_'
  expression: see > 'Notation of valid expressions'
  var1;var2;... : variables [a..z] used as parameters
  (example: 'log(b;x) = ln(x)/ln(b)')


********************************************
(c) Thomas Plehn <TP@xurl.de>
  
    

