expreval
所属分类:数学计算
开发工具:Visual C++
文件大小:47KB
下载次数:37
上传日期:2007-08-16 17:29:21
上 传 者:
jinjiang_zhang
说明: 数学表达式计算和解析 用c语言编写的,内含有例.速度较快
(Mathematical expression of the calculation and analysis using c language, contains Example. Fast)
文件列表:
expreval.c (2189, 2004-06-10)
expreval.dsp (3995, 2004-03-25)
expreval.dsw (1105, 2004-03-19)
expreval.h (11307, 2004-06-10)
expreval.html (48408, 2004-06-10)
exprfunc.c (7282, 2004-06-10)
exprincl.c (272, 2004-06-10)
exprincl.h (1825, 2004-06-10)
exprinit.c (22271, 2004-06-10)
exprinit.h (2524, 2004-06-10)
exprint.c (2080, 2004-06-10)
exprint.h (849, 2004-06-10)
exprmem.c (434, 2004-06-10)
exprmem.h (341, 2004-06-10)
exprobj.c (4719, 2004-06-10)
exprpars.c (30252, 2004-06-10)
exprtmpl.html (19243, 2004-05-03)
exprutil.c (4454, 2004-06-10)
exprval.c (7216, 2004-06-10)
imagegen (0, 2004-08-11)
imagegen\imagegen.c (7423, 2004-03-25)
imagegen\imagegen.dsp (4335, 2004-03-19)
license.txt (941, 2004-06-10)
test (0, 2004-08-11)
test\test.c (4518, 2004-05-03)
test\test.dsp (4287, 2004-02-21)
ExprEval - A C/C++ based expression evaluation library
Written by: Brian Allen Vanderburg II
Licensed under the ExprEval License
------------------------------------------------------
ExprEval is a mostly a C based expression evaluation
library. The only C++ part is the C++ Wrapper which
encapsulates the complexity of the library usage.
ExprEval supports the parsing of multiple expressions
in a single expression string. Each sub-expression
must end with a semicolon. It also supports the use
of variables, constants, and functions. Functions
can take multiple arguments. These arguments can
also be expressions.
ExprEval is very fast. It first parses the expression
string into a tree of actions to take. After it has
been parsed, an expression can be evaluated many times
over an over.
In order to increase evaluation speed, constants and
functions are not stored in the parsed tree as names,
but instead as values or pointers to the function
routines. Only variables are stored as names. For
this reason, constants and functions are used at parse
time only, and variables are used at evaluation time.
Functions, variables, and constants are stored in
their own seperate lists. This makes is where the
lists can be shared among multiple expression objects.
A function list can add all the functions needed, and
then be added to each expression object, instead of
added each needed function to each object. The same
goes for constant lists. Variable lists make it where
one expression can depend on a variable set in another.
Monday, May 3, 2004: Version 1.0
---------------------------------
This is a pretty bad time to start the history part since
ExprEval is pretty much up and running and very operational.
* Added macro EXPR_MAJORVERSION
* Added macro EXPR_MINORVERSION
* Added function exprGetVersion
* Added macro to make declaring functions easy:
EXPR_FUNCTIONSOLVER(func_name)
* Added support for passing variable references to functions
with the ampersand. Example: minmax(1,2,3,&min,&max)
* Added macros for reference support:
EXPR_REQUIREREFCOUNT
EXPR_REQUIREREFCOUNTMIN
EXPR_REQUIREREFCOUNTMAX
EXPR_REQUIREREFCOUNTRANGE
近期下载者:
相关文件:
收藏者: