                     Expression Calculator v1.04
                     ---------------------------

Constants
~~~~~~~~~
  Number notations:

  Decimal       12
  Hexadecimal   12h, 0ABh, 0xAB, $AB
  Octal         12o, 012
  Binary        101b
  Real numbers  012., .12, 1e2, 12.34e-56

  Predefined constants: e=2.7.., pi=3.14..


Standard operators/functions
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  Common operators

    +   addition             *   multiplication
    -   subtraction          /   division
    +   (unary) plus         **  rasing to power
    -   (unary) minus

  Integer operators

    //  integer division     &   bitwise and
    %   remainder            |   bitwise or
    <<  shift left           ^   bitwise xor
    >>  shift right          ~   bitwise not (unary)
    >>> signed shift right

  Logical operators (returns false=0, true=1)

    =  == equal              &&  logical and = (a<>0) and (b<>0)
    <> != not equal          ||  logical or
    <   less than            ^^  logical xor
    <=  less or equal        !   logical not (unary)
    >   greater than
    >=  greater or equal

  Functions f(x)

    sin   sine               asin   arc-sine
    cos   cosine             acos   arc-cosine
    tan   tangent            atan   arc-tangent
    cot   cotangent          acot   arc-cotangent

    sinh  hyp. sine          asinh  hyp. arc-sine
    cosh  hyp. cosine        acosh  hyp. arc-cosine
    tanh  hyp. tangent       atanh  hyp. arc-tangent
    coth  hyp. cotangent     acoth  hyp. arc-cotangent

    exp   exponential
    ln    natural logarithm (base e)
    log   decimal logarithm (base 10)
    log(a,x) logarithm base a
    sqr   square
    sqrt  square root
    fact  factorial

    abs   absolute value
    sign  sign (-1,0,+1)
    int   integer part
    frac  fractional part
    round nearest integer
    ceil  smallest integer >= x
    floor largest integer <= x

    rad   degrees -> radians
    deg   radians -> degrees

  List functions f(x1,x2,...)

    sum   sum = x1+...+xN
    prod  product = x1*...*xN
    avg   arithmetic mean = sum/N
    geo   geometric mean = prod**(1/N)

    min   minimal value
    max   maximal value
    gcd   greatest common divisor
    lcm   least common multiple

    poly(x,a0,a1,a2,...) = a0 + a1*x + a2*(x**2) + ...


User defined variables and functions
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  a. Variables:

  You can define several temporary variables directly in the input
  string using the following syntax:

    var1=<value1>, ... , varN=<valueN>, <final_expression>

  After processing variables from left to right the result of the
  final expression will be displayed. Several examples:

    z=1, (z+1/z)/2
    a=3, b=a+1, c=sqrt(a**2+b**2), c
    x=0xAB>>4, x=sqr(x), y=avg(x,x!=0), sum(x,y)


  b. Functions:

  User functions can be defined in the same way as variables.
  Just use the full expression syntax shown above with the following
  form of definition:

    func(<arguments>)=<expression_with_arguments>

    instead of

    var=<expression>

  Definitions of user variables and functions can be mixed in any
  order. Once a name is defined, it can be used in the next
  definitions. Redefinition of names is also allowed.

  Frequently used definitions may be placed in ec_defs.ini file,
  they will be read at the beginning of definitions processing.
  For example, using this file you can easily redefine some of
  standard functions and constants.


Plug-in functions
~~~~~~~~~~~~~~~~~
  Calculator supports additional plug-in libraries of functions in
  the form of DLL modules. All used plugins must be listed in
  ec_plug.ini file, and note that presence of StdMath standard
  library is necessary.

  Look at PlugDoc archive for sample plugin source.


Remarks
~~~~~~~
  Precedence of operators

    1st (high)   + - ~ !                unary operators
    2nd          * / ** // %            multiplying operators
    3rd          + -                    adding operators
    4th          & | ^ && || ^^ << >>   bitwise and logical operators
    5th (low)    = <> < > <= >=         relational operators

  Command line syntax (ec.exe only)

    ec <expression>     - calculate and quit
    ec /i <expression>  - set initial input
    ec /c               - run in command line mode

  Also mean that most of program settings may be specified in ec.ini
  text configuration file.



---
Mail me about bugs and wishes:
Alexey Torgashin
e-mail: alextp@mail.ru
fidonet: 2:5020/604.24
