                                PCALC

Programmer's calculator,  command line utility. 

There was always a loophole when it came to a need to covert between
hexadecimal / decimal / octal / binary.

Especially if it involved an operation like 0x1234 + 0x20
It took a lot of hard work, and mostly a good pocket calculator.

Main features:

     o Full math parser, paranthases, add, sub, mult, div, exponential.
     o Automatic conversion between HEX DEC OCT BIN numbers.
     o Definable variables.
     o Math constants.
     o Built in math functions

Specification:

 Number specification:

    0x1234              hexadecimal
    0c1234              octal
    0y0101              binary
    123456              decimal

 Built in functions:

    sin             mathematical sinus
    cos             mathematical cos
    atan            mathematical atan
    log             mathematical log
    log10           mathematical log10
    exp             mathematical exp
    sqrt            mathematical sqrt
    int             mathematical int
    abs             mathematical abs
    f2c             converting temperature-> fahrenheit to celsius
    c2f             converting temperature-> celsius to fahrenheit
    in2mm           converting length-> inches to millimeter
    mm2in           converting length-> millimeter to inches
    po2kg           converting mass-> pounds to kilogram
    kg2po           converting mass-> kilogram to pounds

 Built in controls:

    echo            echo to the screen
   _echo            echo to the screen, no new line
    date            echo to the screen, expanding date variables 
   store            store vaiable to file
   restore          restore vaiable from file

 Built in variables:

    DEBUG           for debug 0=off 1=on
    DEC             controling number display 0=default 1=dec 2=hex 3=bin

Operator priorities:

     LOW    '='        assignment
            or  and    binary or/binary and
            '+' '-'    addition/subtruction
            '*' '/'    multiply/divide
            '-'        unary minus
     HIGH   '^'        exponentation

Syntax:

pcalc  var
pcalc  expr
pcalc  number
pcalc  var = number
pcalc  builtin expr
pcalc  builtin ( expr )
pcalc  date "string"
pcalc  echo "string"
pcalc  _echo "string"
pcalc  store    var
pcalc  store    var to  "file"
pcalc  restore  var
pcalc  restore  var from "file"

The result id output in 3 parts: 

    DEC number	     HEX number	     BIN number

      20              0x14            0y10100

If the number is out of range from the HEX and BIN numbers, the
truncated numbers are displayed.

Examples:

(see also ptest directory)
--------------------------------------------------------------------------

c:>pcalc 0x300

	 768         0x300       0y1100000000

--------------------------------------------------------------------------

c:>pcalc '0x300 + 3 * 3'

	 777             0x309           0y1100001001

Note: shell expansion on the '*' char required the single quote

--------------------------------------------------------------------------

c:>pcalc sqrt 2

	 1.4142136   0x1         0y1

--------------------------------------------------------------------------

c:>pcalc sqrt(2)

    1.4142136   0x1         0y1

--------------------------------------------------------------------------

c:>pcalc 0x12 or 23

    23          0x17        0y10111

--------------------------------------------------------------------------

For getting rid of the signon banner type:

set NOBANNER=1

To execute a calculation script precede the file name with the
character '@'.

Example:

pcalc @pcalc.001












