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.
In reply to Re^7: Bidirectional lookup algorithm? (Judy)
by BrowserUk
in thread Bidirectional lookup algorithm? (Updated: further info.)
by BrowserUk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |