[Pyrex] Pyrex idioms and optimizations?

Chris Mellon arkanes at gmail.com
Thu Jul 26 17:25:24 CEST 2007


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.



More information about the Pyrex mailing list