Optimize None -> bool to avoid branching
authorRobert Bradshaw <robertwb@math.washington.edu>
Sat, 7 Feb 2009 00:43:03 +0000 (16:43 -0800)
committerRobert Bradshaw <robertwb@math.washington.edu>
Sat, 7 Feb 2009 00:43:03 +0000 (16:43 -0800)
Cython/Compiler/PyrexTypes.py

index 8a024f036f20cba131629e5b3ac43e939eba9b5d..7f11935c0508a8c82d7994ec09004d1704f41c77 100644 (file)
@@ -1398,8 +1398,7 @@ static INLINE Py_ssize_t __pyx_PyIndex_AsSsize_t(PyObject* b) {
 
 static INLINE int __Pyx_PyObject_IsTrue(PyObject* x) {
    if (x == Py_True) return 1;
-   else if (x == Py_False) return 0;
-   else if (x == Py_None) return 0;
+   else if ((x == Py_False) | (x == Py_None)) return 0;
    else return PyObject_IsTrue(x);
 }