Releases: ECP-Solutions/VBA-Expressions
Releases · ECP-Solutions/VBA-Expressions
VBA-Expressions v3.2.2
One piece!
Review
- Dead code removal.
Bug Fixed
-
FZEROfunction. The order of the parameters of the base function prevented the correct behaviour of the function. - Fixed not parsed expressions. Expressions were not correctly parsed when trying to use previous evaluation scopes.
VBA-Expressions v3.2.0
Breaking down barriers!
Improvements
- LibreOffice VBA Expressions extension released. With this, the open source community has the first powerful expression evaluator coded and running in LO Basic without any security risk for users.
VBA-Expressions v3.1.3
Dominating regions!
Improvements
- Added
DecimalSymbolproperty. The library is now able to parse and evaluate expressions with numbers in regional formats that use the comma as a decimal symbol.
VBA-Expressions v3.1.2
Cleaning the house!
Improvements
- Better handling of function errors.
VBA-Expressions v3.1.1
Members changes
-
VBAexpressions.cls: renamedForceBoolean--> EnforceBooleanproperty
VBA-Expressions v3.1.0
A little bit more!
Improvements
- Added
SUMfunction to aggregate the elements of a list. - Added
GETfunction to assign/retrieve variable values from expression arguments. Below is an example of detailed usage:
''' <summary>
''' Variable assignments through parameters
''' </summary>
Private Sub GETfunctionExample()
Dim expr As VBAexpressions
Set expr = New VBAexpressions
With expr
.Create "GET('A';{{2;1;3};{3;-2;-1}}); GET('B';{{2;3};{1;-5};{-2;4}})": .Eval
.Create "GET('C';MMULT(A;B))", False: .Eval 'Creates new expression without clean saved variables values
.Create "ROUND(SUM(SIN(C[0;0]);SIN(C[1;1]));4)", False: .Eval
Debug.Print "Sum sines of diagonal elements on matrix C: "; vbCr; .expression; "| Result: "; .result; " for: "; .CurrentVarValues
Debug.Print "///////////////*****************////////////////////********************//////////////////*********************////////"
End With
Set expr = Nothing
End Sub
''' <OUTPUT>
''' Sum sines of diagonal elements on matrix C:
''' ROUND(SUM(SIN(C[0;0]);SIN(C[1;1]));4)| Result: -0.1912 for: A = {{2;1;3};{3;-2;-1}}; B = {{2;3};{1;-5};{-2;4}}; C = {{-1;13};{6;15}}
''' ///////////////*****************////////////////////********************//////////////////*********************////////
''' </OUTPUT>
- Added
VarValue2property. This property needs to be used to work with arrays variables assignments. - Added an option to the
Createmethod to allow users to create expressions without resetting variables. - Library can already access elements within matrices. For example, the expression
ROUND(SUM(SIN(A[0;0]);SIN(A[1;1]));4), with the matrixA={{-1;13};{6;15}}as a variable, performs the sum of sines for the diagonal elements ofAwith four digits precision, giving-0.1912as result. - Changed output behaviour of the equation solver and regression calculator. Results are now returned in a column vector.
- Refactored
MMULTfunction. - Formated procedures headers.
Bug fixes
- Row vectors were passed as a reference when column vectors were expected in functions involving matrix multiplications, such as the equation system solver and regression computation functions.
VBA-Expressions v3.0.1
One step higher!
Improvements
- Added
MLRfunction for multiple linear regression over models with k regressors/predictors variables. The function supports two-way predictors interactions and named predictors. - Added
CHOLESKYfunction for decomposition of positive definite nxn matrices. - Added
CHOLSOLVEfunction for solving systems of linear equations by Cholesky decomposition. - Added
CHOLINVERSEfunction for computing inverse of matrices using the Cholesky decomposition. - Added more unit tests.
- Removed unused code
- Improved
ToDblArraymethod. - Improved
FITfunction. Internally it now works with multiple linear regressions for polynomial fitting. - Improved
MSUMfunction.
Bug fixes
- Fixed bug preventing
MMULTfunction from evaluating correctly when multiplying a 2D by 1D matrix. - Fixed bug causing an anomalous splitting within the lists expressed as a literal string.
This release use ideas from:
(c) Douglas C. Montgomery and George C. Runger [Applied Statistics and Probability for Engineers]
(c) William H. Press [Numerical recipes in C: the art of scientific computing]
VBA-Expressions v3.0.0
The most robust expressions evaluation tool for VBA is here now!
Improvements
- Added
ROUNDfunction - Added
MROUNDfunction for matrices elements round - Added
REMfunction to compute division operation remainder - Added
MSumfunction for matrices adittion and substraction - Added
MTransposefunction for computing matrix transposition - Added
MNEGfunction for computing matrix negation - Added
GAMMALNfunction - Added
iBETAfunction for computing the integral of BETA function - Added
BETAINVfunction - Added
TINV_1Tfunction for compute the one-tailed t-value (Student t-value) with up to 6 significant digits accuracy. - Added
TINVfunction to compute the one-tailed or two-tailed t-value (Student t-value) with up to 6 significant digits accuracy. Use the tOption parameter to select from two and right one-tailed computation. - Added
TINV_2Tfunction compute the two-tailed t-value (Student t-value) with full significant digits accuracy. - Added
NORMfunction - Added
CHISQfunction - Added
GAUSSfunction - Added
ERFfunction - Added
STUDTfunction - Added
ANORMfunction - Added
AGAUSSfunction - Added
AERFfunction - Added
ACHISQfunction - Added
FISHFfunction - Added
ASTUDTfunction - Added
AFISHFfunction - Added
ArrayFromString2method for create jagged arrays from Strings - Added
QRfunction for computing QR decomposition using Householder transformations. - Added
LSQRsolvefunction for solve overdetermined system of equations using the least square method and the QR decomposition. - Added
FITfunction to perform least squares regression curve fitting with goodness of fit computation. The function supports straight-line, polynomial, exponentiation, power and logarithmic fits. - New
GAMMAfunction implementation - More flexible variable scope: now allows vectors and arrays assignment from eval method directly. It is allowed to assign the value of a variable not present in the main expression but which is a second order variable present in the ImplicitVarValue arguments.
- More unit test added
- Aded support for matrices by scalar multiplication
- Improved string Array constructors and array parser
- Factorial function now accepts non integers parameters thanks to the new GAMMA function implementation
- Improved error messages for functions eval errors
Bug fixes
- Fixed bug preventing expressions from being parsed correctly at tokenisation stage.
- Fixed indexes base different from 0 for arrays.
Note
This software use ideas/creations from:
© John C. Pezzullo
© David M. Lane
© Dr. Hossein Arsham
© iCalculator™
© mozilla.org
© William H. Press [Numerical recipes in C: the art of scientific computing / William H. Press]
VBA-Expressions v2.0.2
- Fixed error: work with consecutive parentheses was broken.
- Added test for implied multiplication.
VBA-Expressions v2.0.1
This release add support for implicit multiplication, using parentheses, and for piecewise function evaluation.