Sha256: 4a6d4b16a6c4e70feb5561992c65c2be470631cc3948986f20f7a240bc0cdfc6

Contents?: true

Size: 987 Bytes

Versions: 6

Compression:

Stored size: 987 Bytes

Contents

# encoding: utf-8

# Timeless simulator core. Knows thus far only one, but potentially several
# methods applicable to timeless systems simulations.
# 
class YPetri::Core::Timeless
  ★ YPetri::Core
  
  require_relative 'timeless/basic'
  
  METHODS = { basic: Basic } # basic PN execution
  # Note: the reason why Timeless core has distinct basic method is because
  # without having to consider timed transitions, it can be made simpler.

  # This inquirer (=Boolean selector) is always false for timeless cores.
  # 
  def timed?; false end

  # This inquirer (=Boolean selector) is always true for timeless cores.
  # 
  def timeless?; true end

  def initialize **named_args
    super
    extend METHODS.fetch simulation_method
  end
  
  # Computes the system state delta.
  # 
  def delta
    delta_timeless # this method was taken from core.rb
    # delta_ts + delta_tS # this is the contents of delta_timeless method
  end
  alias Δ delta
end # module YPetri::Core::Timeless

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
y_petri-2.4.9 lib/y_petri/core/timeless.rb
y_petri-2.4.8 lib/y_petri/core/timeless.rb
y_petri-2.4.6 lib/y_petri/core/timeless.rb
y_petri-2.4.4 lib/y_petri/core/timeless.rb
y_petri-2.4.3 lib/y_petri/core/timeless.rb
y_petri-2.4.2 lib/y_petri/core/timeless.rb