OverviewSo, What's An Elzed?
Glad you asked. Elzed is a C++ code library that parses and evaluates mathematical expressions defined at run time. Delivering high performance on multiple platforms, Elzed is intended for applications that need fast and flexible calculation support.
It's Just An Expression
The first expression Elzed ever evaluated was "2 + 2" (and it got the right answer). We've made some progress since then. The current version of Elzed offers a host of optimized built-in operators that range from simple arithmetic to statistics, more than 150 in all. Elzed also supports complex numbers and multiple bases. Need to know the square root of -pi in base 12? Elzed can tell you.
Infinitely Variable
Support for variables within Elzed is a balance between simplicity and flexibility. Three data types are supported: numbers, strings, and booleans. That's it. You can create simple variables of these types, or arrays of up to six dimensions, all of which can be accessed from within your code. For even greater integration, you can directly link Elzed variables and arrays of all types to corresponding variables and arrays in your code; since they share the same memory, a change to one is automatically a change to the other.
Smooth Operator
Even though we've given Elzed a rich set of operators, we know we haven't thought of everything. You can extend Elzed's capabilities by adding operators of your own design. These can be implemented as Elzed expressions, or can link directly to your own code. Similarly, Elzed can directly access and manipulate variables in your code, including them in expressions it has parsed.
Go With The Flow
Sometimes a calculation can't be based on a single formula, or is dependent on multiple conditions. To get to an answer, you'll have to create an algorithm. For example, let's say your calculation is dependent on three variables: A, B, and C. The typical parsing library, if it could handle it at all, would force you to write an expression like this:
IFF( A>=0, IFF( B<0, TRUE, FALSE ), IFF( C==0, FALSE, TRUE ) )
Elzed, however, supports a well-rounded set of flow control operators, and would let you write the above expression like this:
if ( A>=0 ) then
if ( B<0 ) then
return true;
else
return false;
end;
else if ( C==0 ) then
return false;
else
return true;
end;
end;
To give you an even better example, the Elzed sample code package contains a version of the Life Game implemented as an Elzed expression. Check it out.
Here, There, and Everywhere
Commercial math parsers are typically developed for a single platform. Most commonly, a parser is developed for Windows and never goes anywhere else. One notable example is UCalc--developed in PowerBasic, it's likely that it will never be deployed anywhere but on Windows.
Not so with Elzed. It was designed from the ground up to be a multi-platform product--the current release offers the same feature set on Windows, Mac OS X, and Linux. Written in C++, all Elzed versions share more than 99% of the same source code. Releases in both dynamic and statically-linked varieties are made available for all supported platforms simultaneously. Ready to expand onto another platform? Don't worry--Elzed will hold the door for you.
No Royalties, No Nonsense
Elzed is licensed by platform, rather than by seat. This means that whether you're a one-person shop, or have a thousand developers working for you, you'll pay a single, one-time license fee. And you'll never pay a penny in royalties for Elzed, ever.
Working on multiple platforms? We'll give you a break on a two-platform license. You want Windows and Linux? OK. Linux and Mac OS X? No problem. If you want the whole enchilada, then consider a Universal license--you'll be able to use Elzed on all supported platforms, and never pay us another cent.
And upgrades to new releases are free, forever.
Give Elzed A Try
You can download and try out Elzed right now. Unregistered copies of Elzed are completely functional, but pop up a nag screen and will stop operating altogether after about an hour. (You can, however, reload the library to reset the clock and get another hour of use, if you need it.) If you're convinced, you can purchase a license on line and you'll have your license code in minutes.
Any Questions?
We encourage you to contact us with questions about Elzed, whether you're a licensed user or not. Just give us a shout.
You also might be interested in the online manual. Almost everything we know about Elzed is in there. |