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
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?