On Wednesday, April 17, 2013 09:06:35 AM Jeffrey Lee Hellrung, Jr. wrote:
On Wed, Apr 17, 2013 at 7:08 AM, Mario Mulansky
wrote: 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.
[...]
If no user would encounter it, why don't you just define and use a free function elementwise_divide? Why does it have to be named operator/?
oh because then i can reuse my code that is based on operator / being defined, it's just the easier way for me to go. but despite that i consider it a bug in ublas. the templated operator matrix/skalar gets instantiated even if i write matrix/matrix. this then results in a nasty compiler error instead of telling me operator/ for matrix matrix is not defined, as it would if the enable_if was there. best, mario
- Jeff
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost