Spar is a maths applications framework. This means that the Spar Library
allow C/C++ programmers to write easily maths applications. The library supports
a number of features, such as: plugins (modules), user variables, many common
math functions, complex functions, error reporting, test and timing functions,
vectors algebra, formula library, constants, and a complete IO library. However
the lirary is not yet complete: integration, interpolation, geometry (and
other) are missing. All Spar applications can be configured as you wish: infact,
you can request special features such as modules support and getopt
support. Finally the library comes with a fully featured console calculator
(is only a Spar application).
Spar, can be easily extended with modules. A module is a "user" extensions,
written in C/C++, to the basic features of the Simple Parser.
Here you can find the module definition: is a C structure that contains
only few data member:
- module name
- module version
- module version
- module descriptionn
- a pointer to the module main function
The modules are loaded at run-time by the module loader (that is a high level layer of the module manager): you can load your modules, simply, coping theirs paths into the .spar_modules (or any other file, with the -c option). However there is only one module available and it's intended only for didacticals purposes. Finally, here you can find a module template. As you can see is very simple create a Spar module: these new features is available only with the last release of the Spar Library.
To install this software follow this general guidelines:
tar zxvpf spar-{version}.tar.gz
cd spar-{version}
./configure &&
make
make install (with root privileges)
or refer to the INSTALL file!
The Spar is distributed under both the LGPL license (library) and the GPL license license (frontend) .You are welcome to join this project, read the TODO file.
The Spar console front end (aka spar) is a fully featured programs that uses the Spar Library. It works as an interactive calculator (like bc, rascal and others). It's an example of the capabilities provided by the Spar Library: it's quite customizable and easy to use. Just try it! Here you can see a HTML version of the man page.
latest version is the 0.5.10 that includes:
o applications framework updated (signal
and terminal support)
o some fixes in the math library
o complex library updated
o other bugfixes in the parser: scientific
notation; function, variable and constant merged into this sub-library
o text-fe moved to calculator (spar) with
some minor bugfixes
see the Change Log file to a full description
of the changes. If you have the 0.5 version, please install, this
that correct a huge number of minor bugs.
spar-0.5.10.tar.gz |
The complete source package (library, examples,
man pages, calculator, modules) |
spar-0.5.10-1.i586.rpm |
The RPM package (requires both curses and readline
4 libraries) |
spar-0.5.10-1.src.rpm |
The Source RPM package |
please, submit me any hint, idea, tip, other example sources, or comment using the BUG REPORT template file!
Finally, this project is hosted by both Freshmeat and Source forge sites, and, there are two mailing list (hosted by sourceforge.net).
Davide Angelocola
special thanks to:
Sebastian Ritterbusch, please, visit his web site:
rascal.sourceforge.net