Class: NQueens::ParallelBitmask

Inherits:
Object
  • Object
show all
Defined in:
lib/n_queens/parallel_bitmask.rb

Instance Method Summary collapse

Constructor Details

#initialize(n) ⇒ ParallelBitmask

Returns a new instance of ParallelBitmask.



3
4
5
# File 'lib/n_queens/parallel_bitmask.rb', line 3

def initialize(n)
  @n = n
end

Instance Method Details

#count_from_filesObject



19
20
21
# File 'lib/n_queens/parallel_bitmask.rb', line 19

def count_from_files
  get_total_count($dir_name)
end

#solveObject



7
8
9
10
11
12
13
14
15
16
17
# File 'lib/n_queens/parallel_bitmask.rb', line 7

def solve
  prepare_globals
  workers = Etc.respond_to?(:nprocessors) ? Etc.nprocessors : 4

  if @n >= 18
    solve_n_queens_bitmask_parallel_to_file(@n, workers)
    nil
  else
    solve_n_queens_bitmask_parallel(@n, workers)
  end
end