home *** CD-ROM | disk | FTP | other *** search
-
-
-
- EVAL V1.06 Copyright (c) 1991-1992 Copy Con Incorporated Page 1
-
-
- TO PRINT THIS FILE, TYPE "COPY EVAL.DOC PRN" AT THE DOS PROMPT.
-
-
- OVERVIEW
- --------
- EVAL is a mathematical expression evaluator, capable of evaluating
- virtually any formula, including those with trigonometric functions,
- complex numbers, and user-defined variables. Formulas are typed in at
- the command line, and the formula and outcome (and optionally the
- variable values) are immediately displayed on your screen, or can be
- sent to any device or file via standard DOS redirection.
-
-
- DISCLAIMER
- ----------
- EVAL is distributed on an "AS IS" basis without warranty, expressed or
- implied. Considerable testing effort has been expended, but the user
- is advised to check the program's suitability before relying on it.
- The user assumes full risk as to the results of using this program.
- Any liability of the author will be limited exclusively to product
- replacement. In no event shall the author be liable for any incidental
- or consequential damages arising from the use, or inability to use
- this program.
-
-
- REGISTRATION
- ------------
- The unregistered version of EVAL is freely distributable and fully
- functional, and may be used for a 30-day trial period. If you plan to
- continue using EVAL after the trial period, you are obligated to pay
- the modest registration fee of $20. Registered users will receive the
- latest version of EVAL with the "nag" messages removed, along with a
- smaller, math-chip version of EVAL. Registration also entitles you to
- one free upgrade upon request, and half-priced subsequent upgrades.
-
- All registration information is contained in the REGISTER.TXT file. If
- that file is missing, register by sending a check or money order for
- $20 in U.S. dollars, drawn on a U.S. bank, to:
-
- Copy Con Incorporated
- P.O. Box 23255
- Baltimore, MD 21203-5255
-
- Please specify 3.5" or 5.25" diskette. MD residents add 5% sales tax.
- We thank you for your support.
-
-
-
- EVAL V1.06 Copyright (c) 1991-1992 Copy Con Incorporated Page 2
-
-
- OPERATION
- ---------
- EVAL is activated from the command line, using the format
-
- EVAL [variable=expression;...] expression [options]
-
- Expressions are mathematical formulas built with the supported
- functions, operators, constants and variables.
-
-
- FUNCTIONS
- ---------
- Following are the functions that EVAL supports:
-
- Function Description
- -------- -----------
- abs Absolute value
- acos Arc cosine
- arg Angle of input value in the complex plane
- asin Arc sine
- atan Arc tangent
- ceil Smallest integer not less than input value (rounds up)
- conj Complex conjugate of input value
- cos Cosine
- cosh Hyperbolic cosine
- csc Cosecant
- ctn Cotangent
- cub Cube root
- exp E to the power of input value
- flr Largest integer not more than input value (rounds down)
- frac Fractional part of input value
- imag Imaginary part of complex number
- int Integer part of input value
- ln Natural logarithm
- log Natural logarithm (same as LN)
- logt Base 10 logarithm
- norm Square of the absolute value
- rand Random integer between 1 and input value (max 32767)
- real Real part of complex number
- sec Secant
- sgn Sign of input value (positive=1, negative=-1, zero=0)
- sin Sine
- sinh Hyperbolic sine
- sqr Square (x^2)
- sqrt Square root
- tan Tangent
- tanh Hyperbolic tangent
-
-
-
- EVAL V1.06 Copyright (c) 1991-1992 Copy Con Incorporated Page 3
-
-
- FUNCTIONS (continued)
- ---------------------
- Parentheses are optional when using functions; if they are not used,
- only the first value following the function will be considered the
- argument. For example:
-
- sin pi evaluates to sin(pi)
- sin pi/2 evaluates to sin(pi)/2
- sin(pi/2) evaluates to sin(pi/2)
-
- Use of functions without parentheses is potentially dangerous, and it
- is generally preferable to use parens to indicate function arguments.
-
-
- OPERATORS
- ---------
- Each operator has a precedence, and operators with higher precedence
- are evaluated before operators with lower precedence. Operators with
- equal precedence are handled from left to right within a function.
-
- Precedence is indicated by order in the following table (the first
- line has the highest precedence):
-
- Operators Description
- --------- -----------
- ( ) Left parenthesis,Right parenthesis
- ! Unary factorial
- + - Unary sign
- ^ Exponential
- * / % Multiplication,Division,Modulus
- + - Addition,Subtraction
-
- Where it is not ambiguous, multiplication can be indicated by
- adjacency: 8(6-4) = 8*(6-4) = 16. Implicit multiplication is
- potentially dangerous, and it is generally preferable to use * to
- indicate multiplication.
-
-
- CONSTANTS
- ---------
- EVAL supports numeric constants, and three alphabetic constants, PI,
- E, and I. Alphabetic constants cannot directly follow functions; use
- "cos pi" or "cos(pi)", not "cospi". Numeric constants need not be
- separated from functions; "sin3" is okay.
-
- Numerical constants are entered just as you would ordinarily write
- them. They can be preceeded with optional + or - signs. The following
- are all valid numerical entries:
-
- 6.78 0.678 .678 -678
-
- Blanks are not permitted in numbers; the expression "7 8" would be
- evaluated as 7 times 8, not 78.
-
-
-
- EVAL V1.06 Copyright (c) 1991-1992 Copy Con Incorporated Page 4
-
-
- CONSTANTS (continued)
- ---------------------
- Complex numbers can be used as easily as real numbers. Any of EVAL's
- functions which are mathematically defined for complex values (like
- SIN and EXP) will accept complex arguments. Complex numbers are
- entered using the form "x+yi" where "i" is equivalent to the square
- root of -1. The following are all valid complex number entries:
-
- 3+4i 5.2-3.45i -63i
-
- Alphabetic constants can also be used as easily as real numbers; just
- be careful not to string them together with functions, variables, and
- other alphabetic constants; instead of "lne+api", use "ln e + a pi",
- or "ln(e)+a*pi". "3pi/2" and "4i" are valid, as EVAL can tell where
- one constant ends and another begins.
-
- Following are the approximate values of the alphabetic constants:
-
- PI = 3.14159265
- E = 2.71828183
- I = sqrt(-1)
-
-
- VARIABLES
- ---------
- The letters A-Z (except for E and I) are set aside as user-definable
- variables. Variables have a default value of 0, and are assigned
- values using the equals sign. For example:
-
- EVAL a=pi;b=cub(8);b*cos(a)
-
- will assign a value of PI to A, a value of 2 to B, and will print out
- the value of B times the cosine of A. As with alphabetic constants,
- variables cannot directly follow functions; use a space delimiter, or
- parentheses as above.
-
-
- OPTIONS
- -------
- Options must be in the form "OPTION:value", as in "a:g" or "d:5". Case
- is not important. Separate options with spaces.
-
- Option Description
- ------ -----------
- A Angular unit - whether angles will be expressed as degrees,
- radians, or grads. Use the first letter of the unit, as in
- "a:d". By default, angular units are expressed as radians.
-
- D Significant Digits - the number of significant digits shown in
- the expression outcome. Range is 1 thru 18; the default is 10.
-
- V Show Variables - whether variables and their values will be
- displayed as they are assigned values. If this option is set
- to F, the formulas will also be shown. Default is Y.
-
-
-
- EVAL V1.06 Copyright (c) 1991-1992 Copy Con Incorporated Page 5
-
-
- ERROR MESSAGES
- --------------
- Following are error messages you may come across, along with their
- descriptions and corresponding DOS errorlevels:
-
- Level Message & Description
- ----- ---------------------
- 1 Invalid input - you have attempted to use an unsupported
- option, or you have exceeded an option's range.
-
- 2 Invalid function '(function)' - you have attempted to use an
- unsupported function. If it's a common function, let us know,
- and we will add it.
-
- 3 Abnormal program termination - either we erred in trapping a
- math function, or the program has been corrupted somehow.
- (Please drop us a line describing everything that led up to
- this error, if you happen to come across it.)
-
- 4 Expression too complex - your formula has 128 or more
- constants, or more than 255 combined constants, functions, and
- operators.
-
- 5 Invalid operator '(op)' - you have attempted to use an
- unsupported operator. If it's a common operator, let us know,
- and we will add it.
-
- 6 Mixmatched parentheses - there were an uneven amount of
- parentheses, or a right parenthesis was encountered before its
- matching left paren.
-
- 7 Invalid use of functions - functions cannot be directly
- followed by an operator (unless the operator is a "+" or "-"
- indicating the sign of the value that follows).
-
- 8 Invalid use of operators - operators cannot be directly
- followed by other operators (unless the second operator is a
- "+" or "-" indicating the sign of the value that follows).
-
- 9 Invalid variable '(variable)' - an attempt was made to assign a
- value to a constant or a non-variable.
-
- 10 Division by zero - a denominator in your formula has a value of
- zero, which is mathematically undefined.
-
- 11 Argument domain/range - a function in the formula cannot
- evaluate its input value, as the value is outside of the
- function's range.
-
- 12 Argument singularity - formula would result in a singularity.
-
- 13 Overflow - the formula evaluates to a result greater than the
- maximum allowed.
-
-
-
- EVAL V1.06 Copyright (c) 1991-1992 Copy Con Incorporated Page 6
-
-
- ERROR MESSAGES (continued)
- --------------------------
-
- Level Message & Description
- ----- ---------------------
- 14 Underflow - the formula evaluates to a result less than the
- minimum allowed.
-
- 15 Total significance loss - formula would produce a result with
- a total loss of significant digits.
-
-
- EXAMPLES
- --------
- EVAL sqr3 d:4
- displays the square root of 3, limited to 4 significant digits.
- ( sqr3 evaluates to sqr(3) )
-
- EVAL a=pi ; b=cub 8 ; b*cos(a)
- assigns a value of PI to A, a value of 2 to B, and displays the
- value of B times the cosine of A. The values of A and B are also
- displayed. (The spaces around the semicolons are not required)
-
- EVAL x=1/10 ; asin(5x) a:d v:n
- assigns a value of .1 to X, and displays the arcsine of quantity
- 5 times X, expressed in degrees. The value of X is not displayed.
- ( 5x is equivalent to 5*x )
-
- EVAL (2+4i)/(6-8i)
- displays the result of the first complex number divided by the
- second complex number.
-
- EVAL 3*4!
- displays the result of 4 factorial, times 3. Since factorials are
- higher in precedence than multiplication, use "EVAL (3*4)!" to
- show 3 times 4 quantity, factorial.
-
-
- CORRESPONDENCE
- --------------
- If you have questions, comments, suggestions, bug reports, etc.,
- feel free to contact us by one of the following methods:
-
- 1: By modem at The Programmer's Corner (301-596-1180 or 410-995-3744).
- Send a message to user number 3000, and check back in a couple of
- work days for a reply.
-
- 2: By U.S. Mail at the address given on the first page. If you would
- like a reply, please include a self-addressed, stamped envelope.
-
- We look forward to hearing from you.
-