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.


With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice. Agile (and TDD) debunked

In reply to Re^7: Bidirectional lookup algorithm? (Judy) by BrowserUk
in thread Bidirectional lookup algorithm? (Updated: further info.) by BrowserUk

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.