Boost logo

Ublas :

From: Michele De Stefano (micdestefano_at_[hidden])
Date: 2007-11-23 02:59:44


Hello to every one.

I have experienced some problems with the usage of axpy_prod in debug
mode (i.e. "NDEBUG" is not defined, and so, all checks are activated).

The problem arises only with a particular data set and I've verified
that it is generated by these checks:

#if BOOST_UBLAS_TYPE_CHECK
        vector<value_type> cv (v);
        typedef typename type_traits<value_type>::real_type real_type;
        real_type verrorbound (norm_1 (v) + norm_1 (e1) * norm_1 (e2));
        indexing_vector_assign<scalar_plus_assign> (cv, prod (e1, e2));
#endif
        axpy_prod (e1, e2, v, iterator_category ());
#if BOOST_UBLAS_TYPE_CHECK
        BOOST_UBLAS_CHECK (norm_1 (v - cv) <= 2 *
std::numeric_limits<real_type>::epsilon () * verrorbound,
internal_logic ());
#endif

The last instruction throws an exception.

I'm using Boost 1.35 (because I need the Boost.MPI library, not
present into other versions).

I've already read some discussion on the matter on the mailing list
but I've not understood if this is still a known problem or not.

I think that the operation performed by "axpy_prod" should never fail. Or not ?

Thank you very much.

Michele De Stefano.