Algorithm-Kademlia
view release on metacpan or search on metacpan
lib/Algorithm/Kademlia.pm view on Meta::CPAN
use v5.42;
use experimental 'class';
#
package Algorithm::Kademlia v1.1.1 {
use parent 'Exporter';
our @EXPORT_OK = qw[xor_distance xor_bucket_index];
#
sub xor_distance ( $id1_bin, $id2_bin ) { $id1_bin^.$id2_bin }
sub xor_bucket_index ( $id1_bin, $id2_bin ) {
my $dist = $id1_bin^.$id2_bin;
my @bytes = unpack( 'C*', $dist );
my $len = scalar @bytes;
for my $i ( 0 .. $#bytes ) {
next if $bytes[$i] == 0;
( run in 4.625 seconds using v1.01-cache-2.11-cpan-df04353d9ac )