Boost logo

Boost :

From: Toon Knapen (toon.knapen_at_[hidden])
Date: 2002-07-15 20:05:19


On Monday 15 July 2002 14:22, Benedikt Weber wrote:
> "Toon Knapen" <toon.knapen_at_[hidden]> wrote
>
> > Shorter notation (as being discussed currently):
> >
> > Temp(range(0, last-start), range::all() ) .assign (
> > prod( herm(WW(range::all(), range(start, last))),
> > V(range(WW.size1(),VV.size1()), range::all()))
> > + prod( herm(Hessenberg(range(start, next), range(start, last))),
> > prod( herm(WW(range::all(), range(start, next))), V(range(0,
>
> WW.size1()),
>
> > range::all()))
> > ) );
>
> I think, also operator* would help to make make expressions more readable.
> What was the reason, it is not used?

The problem lies in the meaning we associate with operator*. This could for
instance mean a gemm operation or an element-wise multiply (as in matlab
IIRC).
There was a suggestion to make the meaning of operator* depend on a
namespace. This would indeed improve readability and leave all options open
to everybody : you can configure your own namespace with the operators you
like e.g.

{
  using namespace simulate_matlab_behaviour
  a = b * c ; // element-wise multiply
}


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk