Boost logo

Ublas :

From: Paul C. Leopardi (leopardi_at_[hidden])
Date: 2005-11-13 08:01:53

Hi all,
One of the GluCat tests produces a number of matrices which contain IEEE 754
NaN values. This is intentional. The problem is that when uBLAS is compiled
without NDEBUG then sparse_prod() in operation_sparse.hpp (line 90) does a
check which compares the sparse product with the dense product, using norm_1
(). In the case of GluCat, this check does not work when the matrix contains
NaN values. The result is that the GluCat test fails with an assertion
failure in uBLAS at this point.

To allow GluCat to be tested with uBLAS in debug mode (ie. with NDEBUG
undefined), I have patched operation_sparse.hpp so that it checks
disable_type_check<bool>::value at appropriate points. The GluCat test now
sets disable_type_check<bool>::value to true before the calls to uBLAS, and
to false afterwards. The test now succeeds.

I have attached a diff file for operation_sparse.hpp. Should this patch be
applied to uBLAS CVS?
Best regards