|
Ublas : |
Subject: [ublas] adl problem with tr1
From: Neal Becker (ndbecker2_at_[hidden])
Date: 2008-12-12 11:13:40
I just tried building some of my code, with -std=gnu++0x. There are added overloads, specifically:
template<typename _Tp>
inline std::complex<typename __gnu_cxx::__promote<_Tp>::__type>
conj(_Tp __x)
{ return __x; }
For some reason, this is found when I did:
compute1 (ublas::matrix_row<ublas::matrix<complex_t> > (coef_sets, set), lvalue_cast (boost::make_iterator_range (o, o + std::min (chunk_size, out_remain))));
where:
template<typename coef_t, typename out_t>
void fft_corr3::compute1 (coef_t const& coef, out_t & out) {
times (boost::make_iterator_range (xformbuf.get(), xformbuf.get()+fftsize), conj (coef), lvalue_cast (boost::make_iterator_range (inbuf.get(), inbuf.get()+fftsize)));
...
I thought that conj(coef) should be ublas::conj since coef_t is ublas::matrix_row<ublas::matrix<complex_t>>.
Specifying ublas::conj fixes it, but I don't understand it.