Sha256: 3f7ae29ce8b15e62059fd7a5c8d19d6e701e797183b8a4f625d3385ba80e58da

Contents?: true

Size: 445 Bytes

Versions: 5

Compression:

Stored size: 445 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.chars[index]
      end

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

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
eikon-0.1.5 lib/eikon/comparator.rb
eikon-0.1.4 lib/eikon/comparator.rb
eikon-0.1.3 lib/eikon/comparator.rb
eikon-0.1.2 lib/eikon/comparator.rb
eikon-0.1.1 lib/eikon/comparator.rb