On 20 Nov, 15:43, Thomas Heller <[EMAIL PROTECTED]> wrote: > Paul Moore schrieb: > > However, when I try to use the operator, I get the following > > error: > > TypeError: unsupported operand type(s) for ** or pow(): > > '_ppeg.Pattern' and 'int' > > Try to set Py_TPFLAGS_CHECKTYPES in your extension type (in the > tp_flags slot). > > from object.h: > /* PyNumberMethods do their own coercion */ > #define Py_TPFLAGS_CHECKTYPES (1L<<4)
Excellent! That did exactly what I wanted. (I wonder how it affects my other operations - I'll look into that, it probably helps in ways I hadn't suspected). > > Oh, and is there a good reference for writing C extensions for > > Python anywhere? The manuals aren't bad, but I keep hitting > > empty sections (e.g., 10.5 Number Object Structures). > > I normally look into the newest python reference manual, even if > I'm programming for older versions. But sometimes you have to > took into the header files, too. This particular issue was in the 2.6 manual. I hadn't thought to check there. Add "browse the 2.6 manuals" to my ever-increasing todo list :-) Or maybe just get round to installing 2.6, and be done with it. Or there's always ask the experts on clp :-) (I did at least look in the sources, but never thought of checking the type flags). Thanks, Paul -- http://mail.python.org/mailman/listinfo/python-list