[Pyrex] Pyrex idioms and optimizations?
Lenard Lindstrom
len-l at telus.net
Thu Jul 26 17:54:52 CEST 2007
Chris Mellon wrote:
> On 7/26/07, William Stein <wstein at gmail.com> wrote:
>
>> On 7/26/07, Alexander Belchenko <bialix at ukr.net> wrote:
>>
>>> Here the lines that cause problems:
>>>
>>> line 30:
>>>
>>> static inline int __Pyx_PyObject_IsTrue(PyObject* x) {
>>> if (x == Py_True) return 1;
>>> else if (x == Py_False) return 0;
>>> else return PyObject_IsTrue(x);
>>> }
>>>
>>> line 155 use macro
>>> #define unlikely(x) __builtin_expect(!!(x), 0)
>>> and __builtin_expect is somewhat gcc-specific, I guess.
>>>
>> Thanks for posting this. I've put a copy in the todo list
>> at http://cython.org. I wonder, could you post the
>> input .pyx file that you used or email it to me?
>>
>>
>
> MSVC is a C++ compiler, and only incidently a C compiler, so the
> inline specifications that cython generates are syntax errors there.
> Using a macro for it so it be a noop on MSVC would probably be best.
>
Is VC 7 C99 compliant? Maybe it needs some command line option set.
Anyway "inline" is spelled "__inline" (two leading underscores) in VC 6.
That should still work.
--
Lenard Lindstrom
<len-l at telus.net>
More information about the Pyrex
mailing list