Module: HungarianAlgorithmC
- Defined in:
- lib/hungarian_algorithm_c.rb,
lib/hungarian_algorithm_c/version.rb,
ext/hungarian_algorithm_c/hungarian_algorithm_c.c
Constant Summary collapse
- VERSION =
'0.0.3'
Class Method Summary collapse
- .find_pairings(array) ⇒ Object
- .pairs ⇒ Object
- .rectangular?(array) ⇒ Boolean
- .validate!(array) ⇒ Object
Class Method Details
.find_pairings(array) ⇒ Object
5 6 7 8 |
# File 'lib/hungarian_algorithm_c.rb', line 5 def find_pairings(array) validate!(array) pairs(array.flatten, array.size) end |
.pairs ⇒ Object
11 |
# File 'ext/hungarian_algorithm_c/hungarian_algorithm_c.c', line 11
VALUE pairs(VALUE self, VALUE flattened_array_ruby, VALUE row_size_val);
|
.rectangular?(array) ⇒ Boolean
15 16 17 18 |
# File 'lib/hungarian_algorithm_c.rb', line 15 def rectangular?(array) row_size = array.size array.all? { |column| row_size == column.size } end |
.validate!(array) ⇒ Object
10 11 12 13 |
# File 'lib/hungarian_algorithm_c.rb', line 10 def validate!(array) return if rectangular?(array) raise ArgumentError.new('array must be rectangular') end |