On 8/26/2011 11:18 AM, Eric Niebler wrote:
On 8/26/2011 10:56 AM, Joel Falcou wrote:
On 26/08/2011 16:45, Eric Niebler wrote:
Before I answer, can you tell me why you've decided to put vector and
matrix operations into separate domains? This seems like an artificial
and unnecessary separation to me.

We have a system of specialisation where being able to make this
distinction allowed us to replace sub proto tree by a pregenerated call
to some BLAS functions or to apply some other Linear Algebra math based

We also have a covector domain which allow us to know that : covector *
vector is a dot product while vector * covector generate a matrix. In
the same way, covector * matrix and matrix * vector can be recognized
and handled in a proper way.

Why can't you use a grammar to recognize patterns like these and take
appropriate action?

I solved this kind of problem by tagging the various types in traits structs and then embedding these traits in the transforms for the various operations.

Here are examples of my expression, grammar, and binary function definitions:




I'm not sure if this is the best way to do these, but it does work.



proto mailing list

Reply via email to