[SciPy-user] 2D arrays in weave.inline
Gael Varoquaux
gael.varoquaux at normalesup.org
Sat Nov 17 16:46:59 EST 2007
On Sat, Nov 17, 2007 at 03:30:10PM -0600, Alan Jackson wrote:
> This is probably an astonishingly simple question, but I've been
> struggling for some time with it.
> I am trying to work with weave for the first time, and it is becoming
> clear that I don't understand how 2D arrays get passed.
Me neither. This is why I use the blitz converter. I modified your
example to use the vlitz converters, it is just so much nicer:
++++++++++++++++++++++++++++++++++++++++++++
def Fast(s1, s2, wt1, wt2, M):
seq1 = s1[0]
seq2 = s2[0]
t1 = s1[1]
t2 = s2[1]
code = '''
for (int idx2 = 0; idx2 < 10; ++idx2) {
printf("\\n");
for (int idx1 = 0; idx1 < 10; ++idx1) {
printf("%6f ", M(idx1, idx2));
}// for whole s1
}// for whole s2
printf("\\n");
'''
weave.inline(code, ["seq1", "seq2", "t1", "t2", "M" ],
type_converters=converters.blitz,
)
++++++++++++++++++++++++++++++++++++++++++++
> BTW the link to the weave documentation is a dead link. Is there any
> documentation beyond a couple of short examples? Every promising google
> link turns up dead.
There have been a few threads on this mailing list. I also think
http://scipy.org/PerformancePython#head-a3f4dd816378d3ba4cbdd3d23dc98529e8ad7087
can be useful.
Gaël
More information about the SciPy-User
mailing list