David Cournapeau <[EMAIL PROTECTED]> writes:

> Alexander Schmolck wrote:
>> "Charles R Harris" <[EMAIL PROTECTED]> writes:
>>
>>   
>>> The automatic handling of pointers for the default allocation type is also
>>> convenient and makes it reasonable to have functions return matrices and
>>> vectors.
>>>     
>>
>> Hmm, I wonder whether I missed something when I read the manual. I didn't see
>> anything in the docs that suggests that ublas matrices do COW, reference
>> semantics or anything else to make C++'s horrible pass-by-value semantics
>> bearable performancewise, so I return and pass in shared_ptr's to matrices,
>> which is syntactically ugly but avoids the need to write a (reference
>> semantics) wrapper class for matrix. Am I missing some easier way to
>> efficiently return and pass large matrices?
>>   
> If ublas is using expression template, shouldn't it alleviate somewhat 
> this problem ?

I don't think so, but then I'm hardly a C++ whizz. As far as I can tell the
point of expression tempaltes is just to provide syntactic sugar so that one
can write fairly complex in-place computations as a normal mathematical
expression.

But say I want to pass a big matrix of datapoints to a classifier -- how would
expression templates help here? Ublas does have various view objects, but
they're of limited usefulness, because they don't provide the same
functionality as the matrix class itself.


'as
_______________________________________________
Numpy-discussion mailing list
Numpy-discussion@scipy.org
http://projects.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to