#9150 closed Bugs (worksforme)
multiprecision doesn't work with element_prod of boost::numeric::ublas
| Reported by: | Owned by: | John Maddock | |
|---|---|---|---|
| Milestone: | To Be Determined | Component: | multiprecision |
| Version: | Boost 1.53.0 | Severity: | Problem |
| Keywords: | rational vector | Cc: | gcc, 4.7.3 |
Description
Consider
#include<boost/numeric/ublas/vector.hpp>
#include<boost/numeric/ublas/io.hpp>
#include<boost/multiprecision/cpp_int.hpp>
#include<complex>
int main(){
typedef boost::multiprecision::cpp_rational Type;
boost::numeric::ublas::vector<Type> a(3, 1), b(3);
b(0) = 0;
b(1) = Type(-3, 4);
b(2) = 2;
std::cout<<"a = "<<a<<", b = "<<b;
noalias(a) = element_prod(a, b);
std::cout<<", a*b = "<<a<<"\n";
return 0;
}
The output is:
a = [3](1,1,1), b = [3](0,-3/4,2), a*b = [3](0,1,1)
The same problem exists with mpq_rational.
Change History (4)
comment:1 by , 9 years ago
| Summary: | multiprecision::cpp_rational doesn't work with element_prod of boost::numeric::ublas → multiprecision doesn't work with element_prod of boost::numeric::ublas |
|---|
comment:2 by , 9 years ago
comment:3 by , 9 years ago
| Resolution: | → worksforme |
|---|---|
| Status: | new → closed |
This works for me for 1.54.0 onwards, can only reproduce in 1.53.0. Can you make doubly sure you're using the latest Boost version?
comment:4 by , 9 years ago
| Version: | Boost 1.54.0 → Boost 1.53.0 |
|---|
Note:
See TracTickets
for help on using tickets.

The same problem exists for all number<type>.