-
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.
-
The matrix tools module is not needed anymore as the conversion constructors were put back into the matrix classes.
-
Include the cstdlib header as this header is needed to exposure the system function.
-
Added a test_value() method for integer comparisons that automatically informs about the mismatches. This increases the readability of the test results.
-
According to the property of the GMatrix class, the allocation of an empty matrix (i.e. with zero rows and columns) is now allowed.
-
Macros are now used to reduce the code complexity and guarantee uniform testing of all classes. The tests have furthermore been adapted to the new unit test suite.
-
Add the Python paths to the instrument test directories so that the test script can import the instrument test scripts. Add GOptimizer test to the test suites.
-
Append module name to the dummy test name so that we can see immediately which dummy test is executed.
-
The test used initially the LAT observation class, and therefore was not really executed. Now the new observation test class is used, and tests are performed for binned and unbinned analysis.
-
The requirements on the optimizer precision were too tight, and led to errors on some Operating Systems. We thus relaxed the requirements. The header files were renamed so that they are compliant with the C++ file names.
-
So far the classes have a GLog member. The output using GLog is however not satisfactory, hence we switched to std::cout. This should be okay, but maybe someday we want to clean the logger.
-
To conform to the former test output, we remove printing of the test suite header to the logger.
-
Refactored the code to use the GTestSuite and GTestSuites classes for unit testing. The basic test fonctionnalities were kept.
-
We bring the class up to the standards by adding a print method and a logger for matrix output.
-
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.
-
Due to a bad copy/paste error, only the upper triangle of the matrix has been copied. This has been corrected.
-
The matrix storage class convertors have been removed a while ago as I was not aware of the technique of forward declarations. With forwards declarations we can now put them back.
-
SWIG functions should not be used for compatibility reasons.
-
Modify test so that it uses the test suite for unit testing. We now also check the optimization results so that we will easily detected any changes in the fitting scheme.
-
The GResponse method relies on a correct implementation of the deadtime fraction method deadc. Previously, we had this set to 0, hence no response was computed and the class did not work. Now we restored the multi-wavelength support in GammaLib.