Sha256: 8101c6e5a2abff7bb3802f230da3909840282513b563ee93285d7973e2494d15

Contents?: true

Size: 927 Bytes

Versions: 25

Compression:

Stored size: 927 Bytes

Contents

# encoding: utf-8

# A mixin for timeless simulations.
# 
class YPetri::Simulation
  module Timeless
    require_relative 'timeless/recorder'

    # False for timeless simulations.
    # 
    def timed?
      false
    end

    private

    # Initialization subroutine for timeless simulations. Sets up the
    # parametrized subclasses +@Core+ (the simulator) and +@Recorder+,
    # and initializes the +@recorder+ attribute.
    # 
    def init **settings
      init_core_and_recorder_subclasses
      @recorder = Recorder().new # init the recorder
    end

    # Sets up subclasses of +Core+ (the simulator) and +Recorder+ (the sampler)
    # for timeless simulations.
    # 
    def init_core_and_recorder_subclasses
      param_class( { Core: YPetri::Core::Timeless,
                     Recorder: Recorder },
                   with: { simulation: self } )
    end
  end # module Timeless
end # module YPetri::Simulation

Version data entries

25 entries across 25 versions & 1 rubygems

Version Path
y_petri-2.1.40 lib/y_petri/simulation/timeless.rb
y_petri-2.1.39 lib/y_petri/simulation/timeless.rb
y_petri-2.1.37 lib/y_petri/simulation/timeless.rb
y_petri-2.1.36 lib/y_petri/simulation/timeless.rb
y_petri-2.1.35 lib/y_petri/simulation/timeless.rb
y_petri-2.1.34 lib/y_petri/simulation/timeless.rb
y_petri-2.1.33 lib/y_petri/simulation/timeless.rb
y_petri-2.1.31 lib/y_petri/simulation/timeless.rb
y_petri-2.1.30 lib/y_petri/simulation/timeless.rb
y_petri-2.1.26 lib/y_petri/simulation/timeless.rb
y_petri-2.1.25 lib/y_petri/simulation/timeless.rb
y_petri-2.1.24 lib/y_petri/simulation/timeless.rb
y_petri-2.1.22 lib/y_petri/simulation/timeless.rb
y_petri-2.1.21 lib/y_petri/simulation/timeless.rb
y_petri-2.1.20 lib/y_petri/simulation/timeless.rb
y_petri-2.1.18 lib/y_petri/simulation/timeless.rb
y_petri-2.1.17 lib/y_petri/simulation/timeless.rb
y_petri-2.1.16 lib/y_petri/simulation/timeless.rb
y_petri-2.1.12 lib/y_petri/simulation/timeless.rb
y_petri-2.1.11 lib/y_petri/simulation/timeless.rb