twirl
Runicsoft



news page
projects page
documents
guestbook
contact information
links page




Runicsoft Function Parser



The Runicsoft Function Parser (fomerly known as Mindfly function parser, or MFFParser) is a class that can evaluate mathematical functions.
It is especially suitable for tasks like building graphs from a function, since it doesn't just interpret
functions, but compiles them internally to a tree-like data structure that can then be traversed in a fraction of the time needed to parse the function.
Now it is possible to change the values of variables and evaluate the function without the overhead of parsing the function again!

Some features:
- Functions of virtually unlimited length can be evaluated
- unlimited nesting via brackets: '( )', '{ }' and '[ ]' brackets are allowed
- automatic handling of integer and double types
- 26 variables ( 'a' to 'z' ) can be assigned values and used in a function
- supported operators: +, -, *, /, ^
- sin, cos, tan, sinh, cosh, tanh, log, logh, sqrt, abs and rnd
- really fast evaluation
- automatic checking for unknown or mistyped expressions

So it is very possible to evaluate functions like
"1.025^tan(-sin(e*sqrt((a/b)*logh(20))))+abs(rnd(e^p))"

And the best thing: full source (good commented) is available!
The .zip comes with full source, a test program, a VC++5 workspace, a more detailed document of the features and the runicsoft source code licence.

Since some time ago someone who coded in Fortran wanted to use the parser i also made a .dll version available which can be used from within almost any language. It comes with .dll, .lib, a short header which can easily be translated into other languages and a detailed manual.


Pick your download:
Function parser source
Function parser DLL version






This page was designed to be compatible with all current browsers
and is best viewed in 800x600 or higher
© 2002-2011 Andreas Hartl. All rights reserved.
View our Terms of Service