On Tuesday, April 16, 2013 08:16:57 PM Steven Watanabe wrote:
AMDG
On 04/16/2013 07:20 PM, Mario Mulansky wrote:
Hi,
I wanted to add an elementwise divide operations for ublas matrices using operator /
I don't think that's such a great idea. Using regular operators for elementwise operations is likely to be surprising. i.e. if you can do (A / B) you should be able to do (A * B) as well, and it you be the inverse of A / B. But multiplication is defined for matrices and is *not* an elementwise operation. There is no way to define this that won't surprise someone. There's a good reason why uBlas doesn't provide these operators already and why MATLAB has a separate set of operators for elementwise operations.
uh wait, i dont want to add this operator to ublas. I need it within odeint and it would be part of some ublas_extension.hpp in odeint, it would be merely an implementation detail no user would encounter. The problem is just that currently any definition of operater/ for two matrices is hidden by the ublas implementation of matrix-skalar division. So I would like to add an enabler to this, just as it is already there for the multiplication operator *, for example.
Unfortunately, there is operator/ defined for matrix and integral types which hides any other operator definition (matrix_expression.hpp l. 3388) and thus makes it impossible to add this functionality. I would like to add an enable_if statement there that checks if the second argument is convertible to matrix::value_type, as is done for other operators. Who would be responsible for this small change? I can provide the according patch, it's almost trivial. In Christ, Steven Watanabe
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost