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 [email protected] http://projects.scipy.org/mailman/listinfo/numpy-discussion
