Custom binary operators

Joseph Rushton Wakeling joseph.wakeling at webdrake.net
Sat Dec 28 10:35:00 PST 2013


On 28/12/13 18:50, John Colvin wrote:
> how about:
>
> a.elementWise * b
>
> where a.elementWise returns a wrapper struct around a that implements
> elementwise arithmetic as opposed to the normal arithmetic.
>
> The operators would return instances of Matrix, not elementWise, to avoid
> accidentally spilling a Matrix.ElementWise struct in to ensuing code
> unintentionally. With a shorter alias it's rather neat.
>
> auto e = ((a .EW* b) .EW/ c ) * d;

That's a rather cool idea -- thanks for that! :-)

That said, I think it'd be difficult to really justify it as a pattern for 
general use.  If you're doing mathematical work à la MATLAB, you want a proper 
operator, not a trick which lets you sort of write something that looks a little 
like one.  I'm a little disappointed there's no ready way to do this :-(


More information about the Digitalmars-d-learn mailing list