On Sep 5, 2007, at 11:19 AM, Christopher Barker wrote: > Bill Spotz wrote: >> I have been considering adding some C++ STL support to numpy/doc/ >> swig/ >> numpy.i. Probably std::vector<TYPE> <=> PyArrayObject (and some >> std::complex<TYPE> support as well). Is this what you had in mind? > > well, std::valarray is not the same as std::vector, though there are > similarities, so the example would be helpful.
Ah, silly me. Back when I first learned C++, valarray wasn't around yet (or at least it wasn't taught to me), and it is not in the (clearly outdated) references I use. But it is a more logical choice than vector. > Of greatest concern to me is the memory management issue -- it > would be > nice to be able to share the data black between the valarray and the > numpy array (rather than copying back and forth), but as the both > valarrays and vectors are re-sizeable, that might get tricky. I'm > assuming that you can get the pointer to the data block from both, but > it might change on you. If you solve that for std::vector, the > solution > is likely to be similar for std:valarray. (I hope). Yes, this resizing memory management issue is the main reason I haven't tried to implement it in numpy.i yet. <thinking out loud> A possibly better solution would be to develop a class that inherits from std::valarray<TYPE> but also implements the array interface attributes (these attributes would have to be dynamic, in that they check the std::valarray attributes when accessed rather than storing copies). We could then write typemaps that utilize the array interface. So pure input arguments could be numpy.ndarrays (or any reasonable sequence, really), but output arrays would be a wrapped version of this new class. (Which would behave both like std::valarrays and like numpy.ndarrays. I think...) </thinking out loud> ** Bill Spotz ** ** Sandia National Laboratories Voice: (505)845-0170 ** ** P.O. Box 5800 Fax: (505)284-5451 ** ** Albuquerque, NM 87185-0370 Email: [EMAIL PROTECTED] ** _______________________________________________ Numpy-discussion mailing list Numpy-discussion@scipy.org http://projects.scipy.org/mailman/listinfo/numpy-discussion