[SciPy-dev] poll for renaming scipy_core online
Travis Oliphant
oliphant.travis at ieee.org
Tue Jan 3 01:20:57 EST 2006
Fernando Perez wrote:
>eric jones wrote:
>
>
>
>>>I think it's worth mentioning that weave up to the transition into the new
>>>scipy (I haven't really checked since) was working fairly well. All the bugs
>>>I had been seeing related to either compiler warnings or spurious
>>>recompilations had been fixed, and with the inclusion of the blitz 0.9
>>>sources, things work even with gcc4. So this isn't really a major development
>>>commitment, but rather one of 'being there' if the need arises, I think.
>>>
>>>
>>>
>>>
>>Thanks for the info. Have you tried it out with scipy_core arrays?
>>Does it work with these now?
>>
>>
>
>I'm going to give a half-assed answer, because I haven't really played with
>weave in the new code yet (all my production stuff was still using scipy-old;
>once we move to the numerix stable naming scheme, I'll begin testing a port).
> But a _quick_ and dirty test with an up-to-the-minute SVN copy shows there
>are problems:
>
>In [6]: weave.inline('std::cout << "hello\\n";')
><weave: compiling>
>cc1plus: warning: command line option "-Wstrict-prototypes" is valid for
>Ada/C/ObjC but not for C++
>/home/fperez/.python24_compiled/sc_23f50baa189f86f27c668f2d0fcfd7df0.cpp: In
>member function `void
>numpy_type_handler::conversion_numpy_check_type(PyArrayObject*, int, const
>char*)':
>/home/fperez/.python24_compiled/sc_23f50baa189f86f27c668f2d0fcfd7df0.cpp:488:
>error: `PyArray_EquivalentTypenums' undeclared (first use this function)
>/home/fperez/.python24_compiled/sc_23f50baa189f86f27c668f2d0fcfd7df0.cpp:488:
>error: (Each undeclared identifier is reported only once for each function it
>appears in.)
>/home/fperez/.python24_compiled/sc_23f50baa189f86f27c668f2d0fcfd7df0.cpp: In
>member function `void numpy_type_handler::numpy_check_type(PyArrayObject*,
>int, const char*)':
>/home/fperez/.python24_compiled/sc_23f50baa189f86f27c668f2d0fcfd7df0.cpp:514:
>error: `PyArray_EquivalentTypenums' undeclared (first use this function)
>
>
>
Doh... Weave *was* working, but I changed the C-API a couple of
iterations ago for consistency and this function is called something
else. This is an example of why I'm uncomfortable with it in the core:
it's just not on my radar...
>None of the files in the examples/ directory (it seems they are the same from
>the old scipy, as they still bear your name and paths in the comments) seem to
>work at all (I didn't really tried them all, but several failed, and given
>that the simple 'hello world' above doesn't compile tells me a lot).
>
>However, I'd be surprised if this were all that hard to fix. The major
>underpinnings of weave don't really need to change, and the underlying C
>structure of the new numerix arrays isn't all that different (in their
>simplest form) to the old. A blitz constructor is little more than a few
>integers indicating the dimensions/strides and a raw pointer to the memory buffer.
>
>Perhaps Travis or someone more familiar with the current code at the C level
>can give a better evaluation of how much would be needed to make this work.
>
>
>
It should work as before for the old data-types, but I doubt the new
fancy array data-types will be handled correctly.
>I'd suggest that as a simple starting point, the test suite could just call
>all the scripts in weave/examples. Even if we don't check their numerical
>results yet, just seeing that they compile would be a testing advance.
>
>Obviously, some work does need to be done, and we all know that takes time.
>
>
Again, weave was working for simple examples before the refactoring that
occurred in December.
-Travis
More information about the SciPy-Dev
mailing list