MOO(1) BSD General Commands Manual MOO(1)NAMEmoo — Marco's Object Oriented calculator
SYNOPSISmoo [-su] [-b base] [expr] [...]
DESCRIPTION
A simple calculator that accepts C-like syntax as input. Calculations
are done on expr, if given. Otherwise, the standard input is used.
Numbers can be entered in hexadecimal (0xbeef), decimal (1984), octal
(007), and binary (0b1001). All numerical operators (+, -, *, /, %), bit
operators (|, ^, &, ~, <<, >>), and logical operators (==, !=, <, >, <=,
>=, !, &&, ||) are supported.
Output will be in the same bases as the input, unless a different base
was specified (see -b flag below). If only one number is input, the
result is printed in all bases.
The options are:
-b base
Output numbers in base format. base can be 2, 8, 10, 16, or
`all'. Multiple bases may be specified by giving the -b flag
multiple times.
-s Output base 10 numbers as signed.
-u Output base 10 numbers as unsigned.
ENVIRONMENT
TMPDIR Specifies a directory for temporary files to be created. The
default is /tmp.
SEE ALSObc(1), dc(1), expr(1)AUTHORSmoo was written for the public domain by Ray Lai ⟨ray@cyth.net⟩ after
much whining by Marco Peereboom.
CAVEATS
Integer overflows are not checked. Marco says, ``I don't think you
should call the integer overflows a bug but a feature. You can use it to
test signed unsigned issues.''
BUGS
Calculations are limited to the size of a 64-bit integer.
Like bc(1), moo parses ``3--2'' without error.
BSD March 2, 2006 BSD