Shell Commands/Eval

From MorphOS Library

Revision as of 11:27, 3 March 2015 by JPV (talk | contribs) (Created page with "'''Eval''' - Evaluates a mathematical expression VALUE1/A, OP, VALUE2/M, TO/K, LFORMAT/K <nowiki> VALUE1 - value 1: can be decimal, hexadecimal or octal (see below)...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

< Shell Commands

Eval - Evaluates a mathematical expression

VALUE1/A, OP, VALUE2/M, TO/K, LFORMAT/K

VALUE1  - value 1: can be decimal, hexadecimal or octal (see below)         
OP      - a supported operator (see below)
VALUE2  - value 2: can be decimal, hexadecimal or octal (see below)
TO      - filename where to redirect eval result
LFORMAT - formatting string used to print the answer (see below)

About VALUE1 and VALUE2:

  • Hexadecimal numbers are indicated by either a leading Ox or #x.
  • Octal numbers are indicated by either a leading 0 or a leading #.
  • Alphabetical characters are indicated by a leading single quotation mark (`) and are evaluated as their ASCII equivalent.

The LFORMAT keyword specifies the formatting string used to print the answer. You can use %X (hexadecimal), %O (octal), %N (decimal), or %C (character). The %X and %O options require a number of digits using the LFORMAT keyword, you can specify to print a new line by including *N in your string.

Supported Operations:

addition       +
subtraction    -
multiplication *
division       /
modulo         mod, M, m, or %
bitwise AND    &
bitwise OR     |
bitwise NOT    ~
left shift     Ish, L, or |
right shift    rsh, R, or r
negation       -
exclusive OR   xor, X, or x
bitwise        eqv, E, or e
equivalence

Example: SYS:> EVAL 0x5f / 010 LFORMAT="The answer is %X4*N"
         The answer is 000B
         SYS:>