There are
two user functions available. Compile
takes a string as an argument and returns a data structure called a
program. Eval
takes a vector of arguments and a program and returns a value.
The string expression uses the normal
conventions for linear expressions. The
infix binary operators for addition, subtraction, multiplication, division, and
exponentiation are represented by +, -, *, /, and ^. The unary prefix operators for identity,
negation, and conversion to degrees are represented by +, -, and °. The unary postfix operators for factorial and
conversion from degrees are represented by ! and °. Parentheses
(()) are used for grouping. Normal
(according to me) order of operations applies otherwise.
Functions are written as a function name
followed by a parenthesized list of argument values. The following functions are provided: sin, cos, tan, asin, acos, atan, atan2, abs, sqrt. They are defined to be the
Mathcad functions of the same name or the commonly used functions of that name.
Numbers are written in normal decimal
style. Decimal exponents, introduced by
e or E, are allowed.