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 <[email protected]> wrote:
> Hi folks,
>
> I just downloaded Bill's numpy.i
> <https://github.com/wfspotz/numpy/blob/4dcb06796b290ae29d4e73ad995d219087f2e949/doc/swig/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 <[email protected]>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
>> [email protected]
>> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>>
>>
>
> _______________________________________________
> NumPy-Discussion mailing list
> [email protected]
> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>
>
_______________________________________________
NumPy-Discussion mailing list
[email protected]
http://mail.scipy.org/mailman/listinfo/numpy-discussion