in reply to Re^6: Bidirectional lookup algorithm? (Judy)
in thread Bidirectional lookup algorithm? (Updated: further info.)
A long long typedef would break your assumption on x32 ABI.
I meant (and thought I'd implied) "on 64-bit systems".
But you are right, there are probably better choices.
Fortunately, there is a type that should fit the bill exactly. You can use typedef ptrdiff_t Word_t;
ptrdiff_t is described as: "Result of subtraction of two pointers.".
Which means it is a signed type, which might have implications for the kind of bit manipulations -- shifts and masking -- the judy code performs.
uintptr_t would probably be a better choice: "uintptr_t: An unsigned integer or unsigned __int64 version of intptr_t.".
(and ssize_t is almost always the same size as well).
There doesn't appear to be a ssize_t defined by the MS compiler.
There's size_t defined as:"Result of sizeof operator.", (as used by Perl's STRLEN type), which seems to happily coexist with any of U32/I32 or U64/I64 variables as counters in your typical for loop.
|
---|