Thanks Tom, > It helps to see your motivation and some > examples. I'll keep it in mind if I ever have a list of large arrays to > process for which creating a numpy array first is not desirable.
by documenting numpy.i typemaps, I'm hoping to get a good feel for whichever use they are best suited for. Doing it in the open means I get valuable feedback in return. Cheers, Egor On 20 June 2013 13:26, Tom Krauss <[email protected]> wrote: > Hi Egor - I just read through your blog post, thanks for describing those > new list-of-array type maps. It helps to see your motivation and some > examples. I'll keep it in mind if I ever have a list of large arrays to > process for which creating a numpy array first is not desirable. > - Tom > > > On Tue, Jun 18, 2013 at 6:36 AM, Egor Zindy <[email protected]> wrote: >> >> 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 <[email protected]> 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 <[email protected]> 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 <[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 > > > > _______________________________________________ > 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
