class Petrinet::Net::Builder::Transition

Public Class Methods

new(take_place_names, give_place_names) click to toggle source
# File lib/petrinet/net.rb, line 135
def initialize(take_place_names, give_place_names)
  @take_place_names = take_place_names
  @give_place_names = give_place_names
end

Public Instance Methods

to_vectors(size, place_index_by_place_name) click to toggle source
# File lib/petrinet/net.rb, line 140
def to_vectors(size, place_index_by_place_name)
  take_vector = Array.new(size, 0)
  @take_place_names.each do |take_place_name|
    index = place_index_by_place_name[take_place_name]
    take_vector[index] -= 1
  end

  give_vector = Array.new(size, 0)
  @give_place_names.each do |give_place_name|
    index = place_index_by_place_name[give_place_name]
    give_vector[index] += 1
  end
  [take_vector, give_vector]
end