| 1 | = What is new in Tol 1.1.6 = |
| 2 | This article provides an overview of the features that comes with Tol v1.1.6. |
| 3 | |
| 4 | The final release of Tol 1.1.6 was made on November 13th, 2007. |
| 5 | == Bugs Fixed == |
| 6 | |
| 7 | Below we provide three lists of bugs grouped by their different state of resolution: |
| 8 | |
| 9 | * List of 45 bugs resolved and fixed during the development cycle. |
| 10 | * List of 10 bugs that we know about, and are currently working on. |
| 11 | * List of 19 bugs postponed for a later resolution. |
| 12 | |
| 13 | More details here . |
| 14 | == Outstanding Internal Changes == |
| 15 | |
| 16 | Following is a list of outstanding internal changes applied in the core implementation which provide more reliability and efficiency, and around 25% to 50% of performance improvement in respect with the previous release. Read more. |
| 17 | |
| 18 | * Symbol Table implementation replaced in favor of the Google hash_map. |
| 19 | * Improved memory allocation for small Tol objects. |
| 20 | * Simplified Real type implementation to facilitate the integration with external libraries such as GSL and BLAS. |
| 21 | * Improved initialization process. |
| 22 | * Some memory leaks have been fixed. |
| 23 | |
| 24 | == Kernel == |
| 25 | |
| 26 | * When the result of evaluating an If/Case condition is an unknown value, the evaluation is stopped and the unknown value corresponding with the data type of the expression is returned. |
| 27 | * Parse function now gives back information about parenthesis used in the original expression, to facilitate the work of Unparse. |
| 28 | * Text Grammar(Anything) function returns "Struct" when an structured Set object is used as a parameter. |
| 29 | * A new structured type called NameBlock |
| 30 | |
| 31 | == StdLib == |
| 32 | |
| 33 | The so called Tol Init Library has been substituted by the Standard Library. The latter includes the former to provide full backward compatibility. It will be reorganized using NameBlocks to reach a new level of maturity and abstraction, providing modularity advantages as well. |
| 34 | |
| 35 | StdLib includes: |
| 36 | |
| 37 | * Bayesian estimation for linear models, probit models, and vector ARIMA. All them with hierarchical inputs, a priori information, and linear constraints. |
| 38 | * Stronger AIA than the one provided built-in with Tol. |
| 39 | * New function CheckTOLRelease verifies whether a new release is available. |
| 40 | * New functions such as HasUnknown, HasPosInf, HasNegInf, HasAllFinite, CheckBST, CheckBDT, CheckBMT, IncludeLocalTol, PlainNamedObjects, etc. |
| 41 | |
| 42 | == Set Algebra == |
| 43 | |
| 44 | * New function Set Append(Set old, Set newElements) to incorporate elements in a set using a more efficient way than: Set old := old << newElements |
| 45 | * New function Set EvalSetOfCode(Set funciones, Anything arg) that returns a Set with all results given back from each function belonging to the first parameter (Set functions) and executed with the common arguments given in the second parameter (Anything arg). |
| 46 | * New syntax operator :: to access members of a Set, as a cleaner approach for accessing elements, instead of using angle brackets [""] as it was mandatory until this release. |
| 47 | * New function Real SetIndexByName(Set s) to index every element of a Set, reducing the complexity of accessing them. It is based on the Google hash_map. |
| 48 | |
| 49 | == Real Arithmetic == |
| 50 | |
| 51 | * New functions Real IsPosInf(Real x), Real IsNegInf(Real x), Real IsFinite(Real x) |
| 52 | * New behavior when comparing unknown and infinite values: |
| 53 | Any given number or unknown value can not be greater than +infinite, what let us to say: |
| 54 | |
| 55 | ? > +Inf == false; |
| 56 | ? <= +Inf == true; |
| 57 | Any given number or unknown value can not be less than -infinite, what let us to say: |
| 58 | |
| 59 | ? < -Inf == false; |
| 60 | ? >= -Inf == true; |
| 61 | |
| 62 | == Real Linear Algebra == |
| 63 | |
| 64 | * New functions PreProdDiag and PostProdDiag to compute the virtual product of diagonal matrices. |
| 65 | * New functions SubTriang and SetTriang to provide an optimized store for triangular matrices. |
| 66 | * New function TrSolve based on dtrsm BLAS function (level-3), for the efficient resolution of triangular systems. |
| 67 | * New functions Matrix Sign(Matrix m), Matrix SetSum(Set s), Real MatMin(Matrix m), Real MatMax(Matrix m) |
| 68 | * A new warning messages will be shown when Choleski is not working. |
| 69 | |
| 70 | == Interpolation and Real Functions Approaching == |
| 71 | |
| 72 | New APIs have been implemented into Tol for the use of interpolation and real functions approaching. |
| 73 | |
| 74 | * Tol uses GSL functions for performing interpolation in combination with scalar and vectorial generation functions, gsl_interp and gsl_vector_interp. |
| 75 | * Tol uses AlgLib functions for interpolation and approximatio. AlgLib is more efficient than GSL and let us to save all needed information with OIS, through functions AlgLib.Interp.Vector.CreateWorkSpace and AlgLib.Interp.Vector.LoadWorkSpace. |
| 76 | |
| 77 | == Statistical and Probability Functions == |
| 78 | |
| 79 | * R2, Pearson, and Partial Correlation statistics has been fixed. |
| 80 | * New function UniKerDnsEstOptBnw, abbreviation of Univariate Kernel Density Estimation with Optimal Bandwith, a program developed by Vikas C. Raykar under the terms of LGPL license and publicly available. |
| 81 | * New function RandMultinomial based on GSL function gsl_ran_multinomial. |
| 82 | * Deep improvements in behavior, variety of parameters and documentation of function GibbsConstrainedMNorm. |
| 83 | |
| 84 | == Input/output == |
| 85 | |
| 86 | === Database Access === |
| 87 | |
| 88 | * Several bugs fixed related with numerical data types. |
| 89 | * MYSQL_TYPE_NEWDECIMAL is available for MySQL instances >= 50024. |
| 90 | |
| 91 | === Files === |
| 92 | |
| 93 | * Data file formats BDT and BST now support longer lines. In older versions it was able to have 16384 characters per line, but now it accepts 1048576 line characters. If there was longer lines a warning message will be displayed to notice the problem and let the user fix it. |
| 94 | * BMT Matrices can hold unknown values in their cells, and varia ble length text. |
| 95 | * New function MatAppendFile for inserting rows in a Matrix, in the binary format BBM. |
| 96 | * New function MatReadCell to get the content of a Matrix cell in the binary format BBM. |
| 97 | |
| 98 | === OIS === |
| 99 | |
| 100 | * OIS modules images with referential integrity already saves information about the source file of each object visible in Tolbase. |
| 101 | * Symbols with no conflict will be available in global scopes, although this is could lead our application to an unpredictible behavior. It is recommended to load images in local scopes as far as it was possible. |
| 102 | * Switched off several warning messages relevant only for debugging |
| 103 | porposes. |
| 104 | * If there is a system environment variable called Ois.DefRoot, the so called Tol variable will take its value from there, to facilitate and customize each configuration case. |
| 105 | |