Prabhu Ramachandran wrote:
>>>>>>"Travis" == Travis Oliphant <oliphant.travis at ieee.org> writes:
>>>>>>>>>>>>>> >> Earlier, with Numeric, arrayobject.h did not define typedefs
> >> for the Int32 and so on. However, numpy defines several
> >> typedefs that conflict with the typedefs in Ygl.
>> Travis> You need to #define PY_ARRAY_TYPES_PREFIX ygl_
>> Travis> or something like that before including arrayobject.h
>>Thanks! I tried to do this but there are more problems.
>arrayobject.h defines MAX/MIN macros. My own code defines these as
>generic functions. I can work around those easily, and after I did
>that I ended up with compilation errors below (where foo.cpp is the
>weave generated code):
>>foo.cpp: In member function 'void numpy_type_handler::conversion_numpy_check_type(PyArrayObject*, int, const char*)':
>foo.cpp:494: error: expected primary-expression before ')' token
>foo.cpp:494: error: 'Bool' was not declared in this scope
>foo.cpp:494: error: expected primary-expression before 'int'
>foo.cpp:494: error: expected primary-expression before 'int'
>foo.cpp:494: error: expected `)' before 'PyArray_API'
>[...]
>>This should be fixed in SVN. Basically, we can't use the defined types
in the C-API.
Also, (in latest SVN) the MAXMIN macros can be avoided using
#define PYA_NOMAXMIN
before including arrayobject.h
-Travis