Boost logo

Ublas :

From: Michael Stevens (mail_at_[hidden])
Date: 2005-09-06 02:51:29


Hallo Thomas,

On Dienstag 06 September 2005 08:02, Thomas Lemaire wrote:
> P -= prod<sym_mat>(prod<mat>(K,H_), P);
> My config has just changed and I am now using stable boost 1.33 and gcc4.
> the compilation error concerns the inside prod<mat>(K,H_):

The error looks extremely odd. The second prod template should definitely be
chosen.

I tried to reproduce the report with gcc-4.0.0 and the follow code
/*
 * Test GCC specific bugs
 */
#include <boost/numeric/ublas/matrix.hpp>
#include <boost/numeric/ublas/symmetric.hpp>
#include <boost/numeric/ublas/matrix_proxy.hpp>
 
using namespace boost::numeric::ublas;

int main()
{
        typedef matrix<double> mat;
        typedef symmetric_matrix<double> sym_mat;
        sym_mat P;
        mat K;
        matrix_range<mat> H_ (K, range(0,0), range(0,0));
        P -= prod<sym_mat>(prod<mat>(K,H_), P);
}

This compile fine. Can you simplify your test case and be more specific about
which GCC 4 version.

Fingers crossed,
        Michael

-- 
P.S. you may want to look at the URL in my sig if you are doing Kalman 
filtering!
___________________________________
Michael Stevens Systems Engineering
34128 Kassel, Germany
Phone/Fax: +49 561 5218038
Navigation Systems, Estimation  and
                 Bayesian Filtering
    http://bayesclasses.sf.net
___________________________________