Sha256: c54b74b342734eee759293f109fe672e9f11d1a40f8df0566efb3d39ebfdb218
Contents?: true
Size: 854 Bytes
Versions: 11
Compression:
Stored size: 854 Bytes
Contents
module DbClustering module DatasourceAdapters class InMemory def initialize(array:, vector_params: nil) @vector_params = vector_params @array = array.map{ |datasource_point| DbClustering::Models::Point.new(datasource_point: datasource_point, vector_params: @vector_params) } end def iterate_all_points points_count = @array.count @array.each.with_index do |point, current_index| yield(point, current_index, points_count) end end def neighbors(point:, distance_metric:, max_distance:) neighbors = [] @array.each do |neighbor_candidate| if distance_metric.distance(point.vector, neighbor_candidate.vector) <= max_distance neighbors << neighbor_candidate end end neighbors end end end end
Version data entries
11 entries across 11 versions & 1 rubygems