--On 13 décembre 2012 10:45:42 -0500 Raul Miller <[email protected]> wrote:

Copying is an easy operation, and if you are doing any significant
work the cost of a copy is often trivial when compared with everything
else you are doing.

Except for arrays that take up half of my machine's RAM.

The result of 3!:1 is very close to the internal representation.  That
said, if you look in jtype.j in the j source, you'll see this:

:typedef struct {I k,flag,m,t,c,n,r,s[1];}* A;

along other supporting declarations (note especially the section
marked "Fields of type A") -- that's the internal representation of
J's arrays.

OK, that looks quite close in spirit (though not in layout) to NumPy arrays. It should be possible to wrap a J array in a Python buffer object and create a NumPy array on top of that. Then we would have a J array and a NumPy array with shared data space, readable and writable (with care!) from both sides.

That leaves the question of how to make Python and J live in the same address space. I am sure it can be done, but I suspect it's not trivial. Python embedded into the J interpreter is one option, but if the inverse is doable, it's probably easier.

Konrad.

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to