I am using MTL(Matrix Template Library) 4 (the version is mtl4-beta-1-r6916) for Matrix computing in Dev-C++ 4.9.8.0 and updated the gcc version from 3.2 to 4.4.1 by installing tdm-mingw-1.908.0-4.4.1-2 and the boost version is 1.34.1. The sample code is :

#include <boost/numeric/mtl/mtl.hpp>

 

int main(int argc, char* argv[])

{

    using namespace mtl; using namespace mtl::matrix;

   

    const unsigned                xd= 2, yd= 5, n= xd * yd;

    dense2D<double>               A(n, n);

    compressed2D<double>          B(n, n);

    hessian_setup(A, 3.0); laplacian_setup(B, xd, yd);

 

    typedef std::complex<double>  cdouble;

    dense_vector<cdouble>         v(n), w(n);

    for (unsigned i= 0; i < size(v); i++)

       v[i]= cdouble(i+1, n-i), w[i]= cdouble(i+n);

 

    v+= A * w;

    w= B * v;

 

    std::cout << "v is " << v << "\n";

    std::cout << "w is " << w << "\n";

 

    return 0;

}

But the complier tolde me that :

¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

F:\CB2009\boost_1_34_1\boost_1_34_1/boost/mpl/apply_wrap.hpp:81:31: error: missing binary operator before token "("

F:\CB2009\boost_1_34_1\boost_1_34_1/boost/mpl/apply_wrap.hpp:173:31: error: missing binary operator before token "("

¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­

And the code in the corresponding lines of  apply_wrap.hpp are:

¡­¡­¡­¡­¡­¡­¡­¡­¡­¡­.

#elif BOOST_PP_ITERATION_DEPTH() == 1

¡­¡­¡­¡­¡­¡­¡­¡­¡­

#elif BOOST_PP_ITERATION_DEPTH() == 2

And I do not know how to solve it. Can any one with kindness help me?