Sha256: d254fff53e81dde1936e670edb2ec6615373647628a363923293344353f834f5

Contents?: true

Size: 440 Bytes

Versions: 7

Compression:

Stored size: 440 Bytes

Contents

# typed: strict

require "sorbet-runtime"

module Eikon
  class Comparator
    extend T::Sig
    sig { params(dhash_1: String, dhash_2: String).returns(Integer) }
    def self.compare(dhash_1, dhash_2)
      hamming_distance = 0
      dhash_1.chars.each_with_index do |character, index|
        hamming_distance += 1 if character != dhash_2[index]
      end

      hamming_distance + (dhash_1.length - dhash_2.length).abs
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
eikon-0.1.12 lib/eikon/comparator.rb
eikon-0.1.11 lib/eikon/comparator.rb
eikon-0.1.10 lib/eikon/comparator.rb
eikon-0.1.9 lib/eikon/comparator.rb
eikon-0.1.8 lib/eikon/comparator.rb
eikon-0.1.7 lib/eikon/comparator.rb
eikon-0.1.6 lib/eikon/comparator.rb