Hi all, I'd like to ask for a bit of guidance on the best path to follow regarding the integration of an existing C++ library with numpy, given the recent developments on these topics:
1. the new array interface specification 2. the ctypes discussions 3. pyrex Our situation is the following: an existing in-house C++ library defines a templated class (Tensor), in many ways similar to a numpy array, but with its own extra functionality for other things. There are many functions in this code which take or return Tensors. I now need to interface this library with a Python code which is fully numpy-based, and hopefully be able to go back and forth between the C++ and python sides without unnecessary copies. Since the C++ codebase is somewhat large and already exists, and will continue to evolve as a standalone C++ system, something tells me I should just bite the typemap bullet and SWIG the darn thing. But I've never written anything beyond the most trivial typemaps, and I'm not 100% sure on exactly how to take advantage of the new array interface with SWIG. I read all the docs under - http://svn.scipy.org/svn/PEP - http://www.scipy.org/BaseArray - http://numeric.scipy.org/array_interface.html - the pyrex/array interface wiki pages (the site is not responding right now, so I can't give a URL) but my lack of familiarity with all the details of new type creation got me a bit lost. I'm sure the information I need is all there, but right now I don't really see the forest with all the leaves in my face. I've also read the various recent threads on ctypes, as well was the one initiated by Joris: http://article.gmane.org/gmane.comp.python.numeric.general/6296 So I'd like to know if SWIG is really the best way out in this particular case (and any advice on taking advantage of the array interface via SWIG would be appreciated), or if ctypes or pyrex could be used here. I'm quite happy using pyrex in other contexts, but I know it doesn't directly support C++. However, since I have access to all the code, perhaps a pure C layer could be used to bridge the C++/pyrex gap. Or given the recent praise for ctypes, perhaps that can be an option? Any advice will be greatly appreciated. Best, f Using Tomcat but need to do more? Need to support web services, security? Get stuff done quickly with pre-integrated technology to make your job easier Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642 _______________________________________________ Numpy-discussion mailing list Numpy-discussion@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/numpy-discussion