Daniel Corbier
November 2nd, 1999, 05:26 PM
UCalc Fast Math Parser 2.0 is now available at http://www.ucalc.com/mathparser , where a fully functional copy can be downloaded. This DLL component allows programs to evaluate algebraic expressions which are defined at runtime. This new version, which is now faster and slimmer, includes direct support for Delphi, PowerBASIC, Visual C++ and Borland C++ Builder, in addition to Visual Basic. It was recently listed on the DevX C++ Zone (Fawcette 's www.cplus-zone.com) under Best of the Web.
New features that were added to version 2.0 include:
* Direct support for C++, Delphi, and PowerBASIC (in addition to Visual Basic).
* Increased speed.
* Unlimited number of user functions, variables, and concurrent expressions, and unlimited definition space.
* No bulky system files to distribute. UCALC32.DLL (less than 64K), is the only file from this component which needs to accompany your program.
* Callbacks to functions in your source code are supported.
* Strings are supported.
* Expression, variable, and string argument types. This opens up the door to an entirely new category of functions which can be defined.
* Function arguments can be defined as optional.
* User operators can now be defined.
* Variables and functions can now be un-defined.
* Decimal and argument separators can be customized for international users.
* The syntax can be customized with ucPreParse.
* ucErrorMessage has more specific messages. Also, user error messages can be defined. The parser captures errors such as Division by 0, instead of leaving it to the host compiler. Additional error information (such as the list of undefined variables) is provided by ucErrorData.
* Calculations are done using the more precise extended precision numbers (long double) instead of double precision.
* New functions, and a new operator include: min, max, IIf, and \ .
* Built-in function names can be changed with ucAlias.
* Floating point numbers in hexadecimal, binary, and octal notations are supported.
* The underscore character "_" is now acceptable in user-defined names.
* Relational operators can be set to return a -1 instead of 1.
Some people switching from version 1.0 to 2.0 have been confused by the fact that this new version is no longer an ActiveX DLL. However, you will be happy to find that not only is the new DLL faster, and actually easier to implement, but also, unlike the previous version, the distribution of bulky runtime files is no longer required.
Daniel Corbier, UCALC
http://www.ucalc.com
New features that were added to version 2.0 include:
* Direct support for C++, Delphi, and PowerBASIC (in addition to Visual Basic).
* Increased speed.
* Unlimited number of user functions, variables, and concurrent expressions, and unlimited definition space.
* No bulky system files to distribute. UCALC32.DLL (less than 64K), is the only file from this component which needs to accompany your program.
* Callbacks to functions in your source code are supported.
* Strings are supported.
* Expression, variable, and string argument types. This opens up the door to an entirely new category of functions which can be defined.
* Function arguments can be defined as optional.
* User operators can now be defined.
* Variables and functions can now be un-defined.
* Decimal and argument separators can be customized for international users.
* The syntax can be customized with ucPreParse.
* ucErrorMessage has more specific messages. Also, user error messages can be defined. The parser captures errors such as Division by 0, instead of leaving it to the host compiler. Additional error information (such as the list of undefined variables) is provided by ucErrorData.
* Calculations are done using the more precise extended precision numbers (long double) instead of double precision.
* New functions, and a new operator include: min, max, IIf, and \ .
* Built-in function names can be changed with ucAlias.
* Floating point numbers in hexadecimal, binary, and octal notations are supported.
* The underscore character "_" is now acceptable in user-defined names.
* Relational operators can be set to return a -1 instead of 1.
Some people switching from version 1.0 to 2.0 have been confused by the fact that this new version is no longer an ActiveX DLL. However, you will be happy to find that not only is the new DLL faster, and actually easier to implement, but also, unlike the previous version, the distribution of bulky runtime files is no longer required.
Daniel Corbier, UCALC
http://www.ucalc.com