* THE MATHEMATICS OF GTKMATHPLOT

Before evaluating the equations defining a mathematical object, GTKMathplot 
checks for their correctness. The rules according to which this check is done
are the ones established in Mathematics. Refer to a high-school book if you
have doubts about the right form an equation should be entered.
But mind that:

- a function should always be followed by an open round parenthesis and
  its argument by a corresponding closed round parenthesis (thus, 
  log x  is wrong, and  log(x)  is right),

- GTKMathplot allows you to use only round parentheses, i.e. ( and ), to change
  the standard order according to which operators are evaluated, and

- it allows you to omit the multiplication sign (*) between a number and
  a function, a number and a parameter, a number and a constant, but not 
  in other cases. 
  When omitting the multiplication sign, care not to leave any space between
  the number and the following function, parameter or constant, otherwise you
  will get a "Missing operator" error. Thus,

  3sin(2x+cos(5pi+3))

  is considered to be a valid expression (pi is the constant value 3.14159....)
  and it is evaluated like

  3*sin(2*x+cos(5*pi+3))

  but

  3 sin(x), cos(4 pi+x), (2 x +5)*(x+1), 3(x+1), (x-1)(x+1)

  will all be considered invalid expressions and cause the error 
  "Missing operator" be issued.

When evaluating the equations defining a mathematical object,
GTKMathplot recognizes the following constants:

- pi      : ratio of a circle's circumference to its diameter
            (= 3.14159...)

- e       : the base of the natural logarithm, also called
            Napier's constant (= 2.71828...)

operators:

-  +     : SUM
-  -     : DIFFERENCE
-  *     : PRODUCT (TIMES)
-  /     : DIVISION
-  %     : PERCENTAGE
-  +     : PLUS  (UNARY OPERATOR)
-  -     : MINUS (UNARY OPERATOR)
-  $     : MODULUS (THE REMAINDER OF THE DIVISION BETWEEN INTEGERS)
-  \     : DIVISION BETWEEN INTEGERS
-  ^     : POWER
-  <     : LESS THAN
-  >     : GREATER THAN
-  <=    : LESS OR EQUAL
-  >=    : GREATER OR EQUAL
-  ==    : EQUAL
-  !=    : NOT EQUAL
-  &&    : LOGICAL AND
-  ||    : LOGICAL OR
-  ^^    : LOGICAL XOR
-  <>    : MAXIMUM(returns the value of the operand with the greatest real part)
-  ><    : MINIMUM(returns the value of the operand with the smallest real part)

and functions:

- abs    : absolute value
- neg    : returns the opposite of its argument, i.e. the value of the argument
           with the sign changed
- inv    : inverse of a number x (= 1/x)
- sqr    : square
- sqrt   : square root
- cbrt   : cubic root
- exp    : exponential function
- expx   : returns 10 raised to its argument 
- log    : logarithm
- logx   : base-10 logarithm
- sin    : sine           
- cos    : cosine                 
- tan    : tangent 
- asin   : arc sine               
- acos   : arc cosine             
- atan   : arc tangent    
- sinh   : hyperbolic sine           
- cosh   : hyperbolic cosine                 
- tanh   : hyperbolic tangent 
- asinh  : hyperbolic arc sine               
- acosh  : hyperbolic arc cosine             
- atanh  : hyperbolic arc tangent
- floor  : largest integral value not greater than argument
- ceil   : smallest integral value not less than argument
- round  : rounding to nearest integer (halfway cases are rounded to 0)
- fix    : rounding to integer, towards zero (erase the decimal digits)
- frac   : frac (x) = x - fix (x)
- Xcc    : characteristic function of the segment  {(x,0)| x in [0,1]}
- Xco    : characteristic function of the segment  {(x,0)| x in [0,1)}
- Xoc    : characteristic function of the segment  {(x,0)| x in (0,1]}
- Xoo    : characteristic function of the segment  {(x,0)| x in (0,1)}
- Xlc    : characteristic function of the halfline {(x,0)| x in (-oo,0]}
- Xlo    : characteristic function of the halfline {(x,0)| x in (-oo,0)}
- Xrc    : characteristic function of the halfline {(x,0)| x in [0,+oo)}
- step   : same as above (Heaviside step function equal to 1 for x equal to 0)
- Xro    : characteristic function of the halfline {(x,0)| x in (0,+oo)}
- erf    : error function
- erfc   : complementary error function
- dms    : this function returns the measure of an angle in the form
           degrees, minutes and seconds (the angle is passed as argument)
- deg    : this function returns the measure of an angle in the form
           degrees and decimals (the angle is passed as argument)
- rtod   : radians to degrees conversion
- dtor   : degrees to radians conversion
- fact   : factorial function.

The priority order according to which operators are evaluated is the
following one (from highest to lowest):

1.  + (UNARY PLUS), - (UNARY MINUS)
2.  <>, ><
3.  ^
4.  *, /, %, $, \
5.  +, -
6.  <, >, <=, >=, ==, !=
7.  &&, ||, ^^

Operators having the same priority are evaluated in the order they appear in
the expression, from left to right.
You can change the default order of evaluation by using parentheses, as you
learned at school.
