Sha256: 17d64186c43ecf2ce31e2d1e15bcce56014df6a615024d27c99add9520557288

Contents?: true

Size: 539 Bytes

Versions: 5

Compression:

Stored size: 539 Bytes

Contents

module Ravensat
  class DimacsDecoder
    def decode(model, name_table)
      inverted_name_table = name_table.invert
      case model.first
      when "SAT"
        model.last.split.each do |e|
          if e == '0'
            next
          elsif e[0] == "-"
            index = e.slice(1..-1)
            inverted_name_table[index].value = false
          else
            index = e
            inverted_name_table[index].value = true
          end
        end
        true
      when "UNSAT"
        false
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
ravensat-0.3.2 lib/ravensat/dimacs/dimacs_decoder.rb
ravensat-0.3.1 lib/ravensat/dimacs/dimacs_decoder.rb
ravensat-0.3.0 lib/ravensat/dimacs/dimacs_decoder.rb
ravensat-0.2.2 lib/ravensat/dimacs_decoder.rb
ravensat-0.2.1 lib/ravensat/dimacs_decoder.rb