On Thu, Mar 19, 2009 at 12:52 PM, Rutger ter Borg
<rutger@terborg.net> wrote:
Didn't know that as well; default template argument types are not allowed
for function templates, and types of template arguments are not to be
deduced from a default argument type. Added an extra function signature
which fixes this, and committed it.
Didn't know that about C++. But it would explain a lot of headscratching about template deduction I have had in the past. Are they making any changes in C++0X to make overloaded templated functions more comprehensible or is it too hard to do without breaking everything.
I deleted my old bindings, did an update and tried to build my older code (with a few changes to match interfaces where possible).
1) The new overload for optimal workspace works
2) gesv, getf, and getri still work
3) I cannot figure out how to get the trtri to work now:
a) The old code just using a normal dense matrix doesn't work, because it is looking for the uplo tag on a dense storage and doesn't allow the 'U', 'L' tag anymore
It would be nice if there was an overload for functions expecting dense triangular matrices that didn't force you to use the triangular adaptor.
b) I did the following as suggested but as far as I can tell, both triangular matrices and triangular_adaptor don't have traits yet:
ublas::matrix<double, ublas::column_major> A(2,2);
ublas::triangular_adaptor<ublas::matrix<double,ublas::column_major>, ublas::lower> tal (A);
lapack::trtri('N', tal);
c) same thing with tptri
4) Not that I am using it right now, but when I compiled with solve.hpp I received the following error:
1>C:\working\libraries\boost\boost/numeric/bindings/lapack/solve.hpp(27): catastrophic error: could not open source file "boost/numeric/bindings/lapack/detail/null_vector.hpp"
1> #include <boost/numeric/bindings/lapack/detail/null_vector.hpp>
This file is not in the /detail on svn:
Please tell me if I am missing out on the triangular traits classes and when I should test these two functions otherwise
Also: Do you expect the interfaces for the trtri and trtrp to change much? For example, should I expect the 'N' vs. 'D' parameter to disappear as we detect the ublas::lower vs. ublas::unit_lower?
Thanks guys,
Jesse