This is the mail archive of the
gsl-discuss@sources.redhat.com
mailing list for the GSL project.
Interactive shell using GSL: mash v0.01
- From: Scott Fraser <saf104 at ukonline dot co dot uk>
- To: gsl-discuss at sources dot redhat dot com
- Date: 16 Oct 2002 16:26:19 +0100
- Subject: Interactive shell using GSL: mash v0.01
Hi all!
A couple of times I've mentioned that I was working on an interactive
mathematical shell program using GSL. I *think* I've killed all the
major bugs in the parser and have enough functions and some solver
routines enabled to make it available for public consumption.
I havn't gotten around to documenting the code properly (one of the main
aims, to make it easier for others to add routines for functions and
solver calls). There are also some big limitations, which are
documented in the manual. Plus there are some bugs in the function
calls, which I do know about.
Code and said manual can be found at
http://saf.curvedspaces.com/mash.html. To compile you need the GSL, and
the readline library which gives it the same behaviour as bash (emacs
style keybindings, history lookup, etc).
Comments and suggestions are more than welcome. And this is my first
major work in C++, so I know the code needs some improvement...
Below is a small session listing which demonstrates some of the
capabilities. Hopefully this might be useful to some of you.
Thanks,
Scott
**** Begin session example ****
scott@debian:~$ mash
mash$ (3*7)/4
5.2500000000000000
mash$ J0(2)
0.2238907791412357
mash$ j0(2)
0.4546487134128409
mash$ Ai(3) + Bi'(1)
0.9390270727502363
mash$ solve(1,2,1)
X0 = -1.0000000000000000
X1 = -1.0000000000000000
mash$ solve(1,0,0,1)
x0 = -1.0000000000000000
x1 = 0.0000000000000000
x2 = 0.0000000000000000
mash$ zsolve(1,0,0,1)
x0 = -1.0000000000000000 + 0.0000000000000000i
x1 = 0.5000000000000000 + -0.8660254037844386i
x2 = 0.5000000000000000 + 0.8660254037844386i
mash$ ln(6) + exp(2)
9.1808155681587049
mash$ exit
scott@debian:~$