Module: Xudoku::Utils
Overview
:nodoc:
Instance Method Summary collapse
- #bits_to_numbers(bits) ⇒ Object
- #guesses_from(position, numbers) ⇒ Object
- #pick_better(current_guess, current_count, new_guesses) ⇒ Object
- #pos(x, y, axis) ⇒ Object
Instance Method Details
#bits_to_numbers(bits) ⇒ Object
20 21 22 23 24 25 26 |
# File 'lib/xudoku/utils.rb', line 20 def bits_to_numbers(bits) numbers = [] 9.times do |i| numbers << i if ((1 << i) & bits).positive? end numbers end |
#guesses_from(position, numbers) ⇒ Object
16 17 18 |
# File 'lib/xudoku/utils.rb', line 16 def guesses_from(position, numbers) numbers.map { |n| [position, n] } end |
#pick_better(current_guess, current_count, new_guesses) ⇒ Object
8 9 10 11 12 13 14 |
# File 'lib/xudoku/utils.rb', line 8 def pick_better(current_guess, current_count, new_guesses) return [new_guesses, 1] if current_guess.nil? return [new_guesses, 1] if new_guesses.size < current_guess.size return [current_guess, current_count] if new_guesses.size > current_guess.size [current_guess, current_count + 1] end |