-
…or the observation Python module. The classname() method returns in a human readable format the class name. This method is needed for full automatic typecasting in Python. Full automatic typecasting has for the moment been implemented for the observation module.
-
The coding and design conventions (CDC) document was also updated.
-
The methods transpose(), invert() and abs() now return a matrix instead of working on the actual matrix. The transpose(), inverse(), abs(), and negate() friend functions have been removed. The method solve() has been added that solves the linear matrix equation. The Cholesky methods now also return a matrix instead of working on the actual object.
-
Add GChatter argument to print() method. The print() method now takes an argument of type GChatter to control the chattiness of the output in a homogenous manner. Pass NORMAL chatter level in __str__ method. Add chatter argument to print() methods. Use GLog::chatter() method to control the chattiness of the log stream operator. Add chatter() methods and provide member access through const references. Add chatter() methods, provide member access through const references, and declare one liners as inline methods. The chatter() methods control the new m_chatter attribute that is used to control the chattiness of the object's print() methods. name() and version() methods return const references. logFileOpen() method now sets the chattiness from the applications's chatter parameter, and name() and version() methods now return a const reference.
-
The corresponding functionality is now implement on the derived class level.
-
The abstract matrix interface defined in GMatrixBase was reviewed and modified according to common practices. All "col" arguments and method names were expanded to "column". The cols() method which returned the number of columns in a matrix is now named columns(). The insert_row/col and set_row/col methods were renamed to row() and column() which allow setting and getting a row or a column in a matrix using a GVector object. In the set methods, the row or column index are now passed as first argument, followed by the vector. The add_row/col methods were renamed to add_to_row() and add_to_column() to be more explicit. Also here, the row or column index are now passed as first argument, followed by the vector. Every matrix class will now have a transpose(), invert(), negate(), abs(), fill(), min(), max(), and sum() method. A size() method has been added to GMatrixBase that returns the number of elements in a matrix.
-
All classes now derive from GBase. ostream and GLog friends are removed since they are now implement at the GBase level.
-
Added an integer parameter to print_elements() method that allows limiting the maximum number of rows and columns in the output. If more rows and/or columns are present than the number specified by the parameter, the excedent elements will be replaced by "..." in the centre of the matrix (i.e. only the corner elements of the matrix will be shown). If the parameter is set to 0, all matrix elements will be printed. The parameter defaults to 10.
-
The matrix classes have been refactored and made compliant to actual coding standards. Furthermore, the != operator has been fixed as it was not testing the full matrix before. This revealed another problem with the fill stack that was corrupted for vector fills. The internal array m_stack_work was used by the vector fill stack method and the flush method, and the flush method corrupted the vector fill values before they were used. To solve this issue, an additional working array m_stack_rows has been introduced that is now exclusively used by the vector fill stack. The m_stack_work working array is now exclusively used by the flush method.
-
In the old scheme we dumped the output directly in the output stream. Now we first print in a string, and then handle the string to whatever routine wants to use it. We thus added print_ methods that can remplace the old dump_ methods. Once all matrix classes use the print_ methods, the dump_ methods should be removed.