Hello,

Ok, here's my attempt --

https://github.com/gmabey/numpy/compare/swig-std-complex

Glen

On Oct 27, 2014, at 11:13 AM, Bill Spotz <wfsp...@sandia.gov> wrote:

> Supporting std::complex<> was just low enough priority for me that I decided 
> to wait until someone expressed interest ... and now, many years later, 
> someone finally has.
> 
> I would be happy to include this into numpy.i, but I would like to see some 
> tests in the numpy repository demonstrating that it works.  These could be 
> relatively short and simple, and since float and double are the only scalar 
> data types that I could foresee supporting, there would not be a need for 
> testing the large numbers of data types that the other tests cover.  
> 
> I would also want to protect the references to C++ objects with '#ifdef 
> __cplusplus', but that is easy enough.
> 
> -Bill
> 
> On Oct 27, 2014, at 9:06 AM, Glen Mabey <gma...@swri.org> wrote:
> 
>> Hello,
>> 
>> I was very excited to learn about numpy.i for easy numpy+swigification of C 
>> code -- it's really handy.
>> 
>> Knowing that swig wraps C code, I wasn't too surprised that there was the 
>> issue with complex data types (as described at 
>> http://docs.scipy.org/doc/numpy/reference/swig.interface-file.html#other-common-types-complex),
>>  but still it was pretty disappointing because most of my data is complex, 
>> and I'm invoking methods written to use C++'s std::complex class.
>> 
>> After quite a bit of puzzling and not much help from previous mailing list 
>> posts, I created this very brief but very useful file, which I call 
>> numpy_std_complex.i --
>> 
>> /* -*- C -*-  (not really, but good for syntax highlighting) */
>> #ifdef SWIGPYTHON
>> 
>> %include "numpy.i"
>> 
>> %include <std_complex.i>
>> 
>> %numpy_typemaps(std::complex<float>,  NPY_CFLOAT , int)
>> %numpy_typemaps(std::complex<double>, NPY_CDOUBLE, int)
>> 
>> #endif /* SWIGPYTHON */
>> 
>> 
>> I'd really like for this to be included alongside numpy.i -- but maybe I 
>> overestimate the number of numpy users who use complex data (let your voice 
>> be heard!) and who also end up using std::complex in C++ land.
>> 
>> Or if anyone wants to improve upon this usage I would be very happy to hear 
>> about what I'm missing.
>> 
>> I'm sure there's a documented way to submit this file to the git repo, but 
>> let me simultaneously ask whether list subscribers think this is worthwhile 
>> and ask someone to add+push it for me …
>> 
>> Thanks,
>> Glen Mabey
>> _______________________________________________
>> NumPy-Discussion mailing list
>> NumPy-Discussion@scipy.org
>> http://mail.scipy.org/mailman/listinfo/numpy-discussion
> 
> ** Bill Spotz                                              **
> ** Sandia National Laboratories  Voice: (505)845-0170      **
> ** P.O. Box 5800                 Fax:   (505)284-0154      **
> ** Albuquerque, NM 87185-0370    Email: wfsp...@sandia.gov **
> 
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion@scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion


_______________________________________________
NumPy-Discussion mailing list
NumPy-Discussion@scipy.org
http://mail.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to