Module: MunkresRu

Extended by:
FFI::Library
Defined in:
lib/munkres_ru.rb,
lib/munkres_ru/version.rb

Defined Under Namespace

Classes: ResultArray

Constant Summary collapse

VERSION =
'0.1.0'.freeze

Class Method Summary collapse

Class Method Details

.solve(array) ⇒ Object



26
27
28
29
30
31
32
# File 'lib/munkres_ru.rb', line 26

def self.solve(array)
  flattened = array.flatten
  pointer = FFI::MemoryPointer.new :double, flattened.size
  pointer.autorelease = false # Rust will take ownership of that memory
  pointer.put_array_of_double 0, flattened
  MunkresRu.solve_munkres(array.size, pointer).to_a.each_slice(2).to_a
end