packages icon
GEXPR
------

This is gexpr, a shell calculator that I hope you'll find handy. gexpr is
similar to the expr(1) command, but it supports floating point math. I wrote
it just for fun, but also because IMHO bc(1) is not intuitive to use.

gexpr supports all standard C math and adds a few nice features -- see the
man page. You use gexpr as a simple calculator. Examples:

  $ gexpr "1+1"
  $ gexpr "sqrt(PI)"
  $ gexpr "fact(5) / pow(2, 4)"
  $ gexpr "log10(sin(PI/8)) < exp(1)/3"
  $ gexpr "${X} * 1.24"

Note that you can use shell variables, so using gexpr in shell scripts can
be interesting. (I actually use gexpr in shell scripts to create short data
files.) The built-in variables are the same as C, plus relational operators
( < <= > >= == != ), fact(), and rnd(). Adding your personal functions is
easy -- use the source.


INSTALL
--------

To build it, type as root:

  # make
  # make install
  # make clean

Although I only tried to install gexpr under Linux, DOS/Windows, and Digital
Unix, any machine supporting an ANSI C compiler (e.g. gcc) should be a
target. Let me know.


RPM BUILD
----------

On Red Hat and derivatives, you can build an .rpm for gexpr with this
command:

  # rpm -ta gexpr-2.0.2.tar.gz.

Then find out where the .rpm was created, and install it as usual:

  # rpm -i gexpr-2.0.2-1.i386.rpm


COPYING POLICY
---------------

gexpr is under GPL. If you don't know what that means, please read the
accompanying file COPYING.


TO DO
------

Still a bit messy, needs polishing. It uses (shock horror) global variables
and longjmp. It would be nice if the parsing routine were completely
stand-alone, and easily reusable. No line editing. These problems will be
addressed in the next version.


AUTHOR
-------

gexpr was written by Guido Gonzato, <ggonza@tin.it>. For any problems,
suggestions for better parsing algorithms, and whatever you think, feel free
to contact me.

Ciao,
	Guido =8-)