How was your perl compiled?: perl -V:ivsize
It could well be that this has nothing to do with Judy but that for your Perl, 1<<63 overflows and becomes negative which Judy then receives it and complains.
Also, from Judy source, Set() accepts a key as UWord_t which is T_UWORD which is:
T_UWORD /* Accept: - IV that's -1. - IV that's negative, coerce to 0 and warn. - IV/UV that fits in (unsigned long int) - IV/UV that requires more bits than fit in (unsigned long int). Truncate it and throw a warning. - Cast everything else to UV and apply the above rules */ ...
(edit: https://metacpan.org/release/JJORE/Judy-0.41/source/lib/Judy.xs and https://metacpan.org/release/JJORE/Judy-0.41/source/typemap)
edit: IV: integer value, UV: unsigned valued. In my system with ivsize=8, perl -e 'print 1<<63' outputs 9223372036854775808, do you get the same?
bw, bliako
In reply to Re: Unsigned 64-bit integer as Judy key
by bliako
in thread Unsigned 64-bit integer as Judy key
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |