Clay language
so
so at so.do
Thu Dec 30 14:03:05 PST 2010
> ?? The only type in this list without a division operator is vector
> all the others have it.
Matrix matrix, matrix vector, vector matrix division also not defined,
there is one syntactic similarity but it is not division.
Didn't give much of a thought to others since vector, matrix and scalar
operations takes already quite a bit space.
> I'm sorry? What do you call the "generic case" here? All this list
> shows is that each operator needs to be implemented individually
> anyway. Andrei's point was exactly the reverse: he claims that most
> operators can be implemented in groups which clearly isn't the case
I don't agree, majority of the cases you duplicate almost all of the code
and just change the operator. That was the thing i meant with "generic
case".
If i wasn't clear, say:
vector opBinary(string op)(scalar s) if(op == "+" || op == "-" ....) {
static if(op == "/")
return general("*")(1/s); // particular case
else
return general(op)(s); // general case, just a one-liner mixin
}
vector opBinary(string op)(vector v) if(op == "+" || op == "-" ....) {
return general(op)(v); // again, just a one-liner mixin
}
Same goes for matrix, particular case being the multiplication.
--
Using Opera's revolutionary email client: http://www.opera.com/mail/
More information about the Digitalmars-d
mailing list