[Numpy-discussion] request for SWIG numpy.i users

Egor Zindy ezindy@gmail....
Tue Jun 18 06:36:20 CDT 2013


Dear all,

after some code clean-up / testing and a few additions, I've now sent
a pull request to numpy:master (#3451).
https://github.com/numpy/numpy/pull/3451

I also made a blog post to explain the new typemaps I would like included:
http://egorzindy.blogspot.co.uk/2013/06/new-numpyi-typemaps-for-working-with.html

Any comments appreciated.

Kind regards,
Egor


On 9 June 2013 09:20, Egor Zindy <ezindy@gmail.com> wrote:
> Thanks Tom,
>
> before we ship it, I'd love to have some feedback on the new ARGOUT_VIEWM
> type.
>
> I used to create my managed arrays using
>
>     PyObject* cap = PyCObject_FromVoidPtr((void*)(*$1), free);
>
> but since this function is deprecated, and because of Bill's background work
> to bring numpy.i up to date, I now use capsules for this:
>
>     PyObject* cap = PyCapsule_New((void*)(*$1), SWIGPY_CAPSULE_NAME,
> free_cap);
>
> ... I'll admit it took longer than expected to get this right.
>
> Would you mind testing my latest numpy.i changes hosted on github?
> https://github.com/zindy/numpy/tree/numpy-swig/doc/swig
>
> It's great that you are testing on a mac, I don't have one to test on yet.
>
>
>> It worked fine, although I use only a fraction of the capabilities that it
>> includes.
>
> Same here, but overall, it should be quit easy to choose the data type you
> need. Narrow down it down to a type between IN_ARRAY / INPLACE_ / ARGOUT_ /
> ARGOUT_VIEW/VIEWM
> http://wiki.scipy.org/Cookbook/SWIG_NumPy_examples
> http://wiki.scipy.org/Cookbook/SWIG_Memory_Deallocation (I'll update these
> when I have a sec)
>
> ... and choose the number of dimensions you need (1/2/3/4). I can't comment
> on the Fortran arrays data types though as I don't use them.
>
> Also I've introduced a few of my more esoteric data types in this week, but
> I have no idea how popular they will be. If you ever need to speed-up:
>
> a = numpy.ones((1024,1024),numpy.uint8)
> la = [a]*100
> b = numpy.mean(numpy.array(la,float),axis=0).astype(numpy.uint8)
>
> I have just the right type for that :)
> DATA_TYPE** IN_ARRAY3, DIM_TYPE DIM1, DIM_TYPE DIM2, DIM_TYPE DIM3
>
> Kind regards,
> Egor
>
>
> On 9 June 2013 03:33, Tom Krauss <thomas.p.krauss@gmail.com> wrote:
>>
>> Hi folks,
>>
>> I just downloaded Bill's numpy.i at commit 4dcb0679, and tried it out a
>> bit on some of my personal projects.  It worked fine, although I use only a
>> fraction of the capabilities that it includes.
>>
>>  And, it made the warning go away!
>>
>> I used to get this warning
>>
>> g++ -g -fPIC -c simple_wrap.cpp -I/usr/include/python2.7
>> -I/Users/tkrauss/projects/dev_env/lib/python2.7/site-packages/numpy-1.8.0.dev_f2f0ac0_20120725-py2.7-macosx-10.8-x86_64.egg/numpy/core/include
>> In file included from
>> /Users/tkrauss/projects/dev_env/lib/python2.7/site-packages/numpy-1.8.0.dev_f2f0ac0_20120725-py2.7-macosx-10.8-x86_64.egg/numpy/core/include/numpy/ndarraytypes.h:1722,
>>                  from
>> /Users/tkrauss/projects/dev_env/lib/python2.7/site-packages/numpy-1.8.0.dev_f2f0ac0_20120725-py2.7-macosx-10.8-x86_64.egg/numpy/core/include/numpy/ndarrayobject.h:17,
>>                  from
>> /Users/tkrauss/projects/dev_env/lib/python2.7/site-packages/numpy-1.8.0.dev_f2f0ac0_20120725-py2.7-macosx-10.8-x86_64.egg/numpy/core/include/numpy/arrayobject.h:15,
>>                  from simple_wrap.cpp:3062:
>>
>> /Users/tkrauss/projects/dev_env/lib/python2.7/site-packages/numpy-1.8.0.dev_f2f0ac0_20120725-py2.7-macosx-10.8-x86_64.egg/numpy/core/include/numpy/npy_deprecated_api.h:11:2:
>> warning: #warning "Using deprecated NumPy API, disable it by #defining
>> NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION"
>>
>> but not with this version.
>>
>> You can see which version of numpy I am using there, and that I am on Mac
>> OS X 10.8. (10.8.4 specifically)  Python 2.7.2
>>
>> I'd say SHIP IT!
>>
>> Nice work, thanks for all your work on numpy and numpy.i.
>>
>> - Tom Krauss
>>
>>
>>
>> On Tue, Jun 4, 2013 at 3:13 PM, Ralf Gommers <ralf.gommers@gmail.com>
>> wrote:
>>>
>>> Hi,
>>>
>>> If you're using or are very familiar with SWIG and the numpy.i interface
>>> to it, please help to test and/or review
>>> https://github.com/numpy/numpy/pull/3148. It's a fairly major update to
>>> numpy.i by Bill Spotz, containing the following:
>>>   - support for 4D arrays and memory managed output arguments
>>>   - rework for the deprecated API's in numpy 1.6 and 1.7
>>>   - a bug fix in a 3D typemap
>>>   - documentation improvements
>>>
>>> It would be good to have this merged before branching 1.8.x. Not many of
>>> the regular reviewers of numpy PRs are familiar with numpy.i, therefore help
>>> would be much appreciated.
>>>
>>> Thanks,
>>> Ralf
>>>
>>>
>>> _______________________________________________
>>> 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
>>
>


More information about the NumPy-Discussion mailing list