in reply to Re^5: Unsigned 64-bit integer as Judy key
in thread Unsigned 64-bit integer as Judy key
You didn't retrieve any information from the data structure, so you didn't test it at all. Try this:
perl -Mv5.14 -MJudy::L=Get,Set -e' my $i = 1<<63; my $j = -$i; my $judy; Set( $judy, $i, 4 ); Set( $judy, $j, 5 ); say( ( Get( $judy, $i ) )[1] ); say( ( Get( $judy, $j ) )[1] ); '
If you get different values, I was wrong. If you get the same value, each negative value is considered to the same as a very large positive value.
Without the hack, it outputs 5 twice. I suspect the hack only silences the warning.
Of course not.
No, it isn't obvious that the keys are 65 bits (or larger) in size. In fact, they pretty obviously aren't.
|
|---|