
10 Dec
2008
10 Dec
'08
7:33 p.m.
This code has an error: #include <boost/numeric/ublas/vector.hpp> #include <boost/constrained_value.hpp> namespace cv = boost::constrained_value; namespace ublas = boost::numeric::ublas; typedef cv::bounded<int>::type val_t; typedef cv::bounded<int>::type::constraint_type constraint_type; int main() { int min = -200; int max = 200; val_t init (10, constraint_type (min, max)); ublas::vector<val_t> v (10, init); ublas::vector<val_t> w = -v; } This code will throw an exception. The last line invokes: ublas/functional.hpp:70 (scalar_negate), which for some reason calls constrained.hpp:224, which is: constrained(const value_type & v) That is, initialize only the value, not the constraint! Any ideas?