C++ Mathematical Expression Library (ExprTk) http://www.partow.net/programming/exprtk/index.html

This commit is contained in:
Arash Partow
2012-05-01 22:43:33 +10:00
parent 437632dbdb
commit 920a11ee6e
4 changed files with 758 additions and 207 deletions

View File

@ -41,6 +41,43 @@ Expression Library can be found at:
(*) Comeau C++ Compiler (4.3+)
[MACROS]
ExprTk utilizes certain macros to modify the underlying behaviour of
the parser and the evaluation engine. The following macros are used to
switch off certain capabilities within the ExprTk evaluation engine.
The capabilities are predominantly related to expression optimisations
and the ability to evaluate strings within expressions.
(1) exprtk_disable_string_capabilities
(2) exprtk_disable_cardinal_pow_optimisation
(3) exprtk_disable_extended_optimisations
(1) "exprtk_disable_string_capabilities"
If defined, the macro will disable all string processing capabilities.
When defined, if an expression containing a string or string related
action is encountered, a compilation error will be raised by the
parser.
(2) "exprtk_disable_cardinal_pow_optimisation"
If defined, the macro will disable the special case regarding
exponentiation of a variable to an integer constant (where the
constant is <= 25). Defining this variable may be desirable if the
error magnitude of the results using this special case are intolerable
with regards to the precision required. When defined, the pow function
used for all other powers will be invoked.
(3) "exprtk_disable_extended_optimisations"
If defined, the macro will disable the third tier optimisations. This
group of optimisations creates roughly 4K type instantiations. This
large number of type and branch instantiations in one translation unit
may cause some older compilers to crash or not be able to properly
compile ExprTk. If such compiler problems are encountered it is
recommended to test having this particular macro defined. It should
also be noted that some of the third tier optimisations are also
available through the predefined 'special functions', however these
require that expressions utilize them explicitly.
[FILES]
(00) Makefile
(01) readme.txt