I was actually just going through an example to show what was happening each step of the way and noticed the overflow!!! bah, stupid tricks tricks tricks!!!
The problem is def the overflow, I notice that I start to get negative numbers in the C version, which makes me think that the & 0xffffffff trick won't work (because it will never evaluate to negative in python, right?) Seeing that the problem is the overflow and the bitwise operations returning a negative, does anyone have any suggestions...I will look more into C bitwise tricks in the meantime haha. And in terms of what this is doing in a poker hand evaluator: http://www.suffecool.net/poker/evaluator.html (an evaluator using some nice tricks to evaluate for flushes, straights, and highcard with LU tables then binary search for the rest) then http://senzee.blogspot.com/2006/06/some-perfect-hash.html (does the same thing, but uses perfect hashing instead of a binary search) the function I am having issues with comes up in the hashing algorithm :) -- http://mail.python.org/mailman/listinfo/python-list