On Mon, 11 Dec 2000 15:22:55 -0500, "Tim Peters" <tim.one@home.com> wrote: > Well, anyone can play. When keys collide, what we need is a function f(i) > such that repeating > i = f(i) > visits every int in (0, 2**N) exactly once before setting i back to its > initial value, for a fixed N and where the first i is in (0, 2**N). OK, maybe this is me being *real* stupid, but why? Why not [0, 2**n)? Did 0 harm you in your childhood, and you're trying to get back? <0 wink>. If we had an affine operation, instead of a linear one, we could have [0, 2**n). I won't repeat the proof here but changing > def f(i): > i <<= 1 i^=1 # This is the line I added > if i >= 2**N: > i ^= MAGIC_CONSTANT_DEPENDING_ON_N > return i Makes you waltz all over [0, 2**n) if the original made you comple (0, 2**n). if-i'm-wrong-then-someone-should-shoot-me-to-save-me-the-embarrasment-ly y'rs, Z. -- Moshe Zadka <sig@zadka.site.co.il> This is a signature anti-virus. Please stop the spread of signature viruses!
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4