Added a bint c type, which is a c int that coerces to and from python objects via...
authorRobert Bradshaw <robertwb@math.washington.edu>
Thu, 26 Apr 2007 02:54:15 +0000 (19:54 -0700)
committerRobert Bradshaw <robertwb@math.washington.edu>
Thu, 26 Apr 2007 02:54:15 +0000 (19:54 -0700)
commiteb232cedf0fce41930af559b1b31ce770cb87a46
tree4d9543421493e692c41814e09c3ddeae0d7a8fab
parent6fd9a1952f118fd9d0668f778d2e02717e25c870
Added a bint c type, which is a c int that coerces to and from python objects via the boolean routines.

The purpose of this type is to free the coder from having to use
bool() when retrieving and returning semantically "boolean" values
(e.g. the result of a compare).

The bint type is a subclass of the int type, and the only difference
is that it uses PyBool_FromLong and PyObject_IsTrue rather than
PyInt_FromLong and PyInt_AsLong. Arithmatic on bints will return ints.

Where it makes sense, several builtin functions have been re-declared
to return bints, as well as comparisons and the boolean operations
or, and, and not.
Cython/Compiler/ExprNodes.py
Cython/Compiler/Parsing.py
Cython/Compiler/PyrexTypes.py
Cython/Compiler/Symtab.py