Sha256: 074ececfe4272e15327e592533a43923579530fbeecdd3c353b958d8c16e9d52

Contents?: true

Size: 714 Bytes

Versions: 9

Compression:

Stored size: 714 Bytes

Contents

# encoding: utf-8

# Timed simulation core.
# 
module YPetri::Core::Timed
  require_relative 'euler'
  require_relative 'pseudo_euler' # t transitions firing after each step
  require_relative 'quasi_euler' # t transitions firing after each time tick
  require_relative 'gillespie'
  require_relative 'runge_kutta'

  module Methods
    def method_init
      extend case simulation_method
             when :euler then Euler
             when :pseudo_euler then PseudoEuler
             when :quasi_euler then QuasiEuler
             when :gillespie then Gillespie
             when :runge_kutta then RungeKutta
             else fail TypeError, "Unknown timed simulation method: #{method}!" end
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
y_petri-2.3.11 lib/y_petri/core/timed/methods.rb
y_petri-2.3.10 lib/y_petri/core/timed/methods.rb
y_petri-2.3.9 lib/y_petri/core/timed/methods.rb
y_petri-2.3.8 lib/y_petri/core/timed/methods.rb
y_petri-2.3.6 lib/y_petri/core/timed/methods.rb
y_petri-2.3.5 lib/y_petri/core/timed/methods.rb
y_petri-2.3.4 lib/y_petri/core/timed/methods.rb
y_petri-2.3.3 lib/y_petri/core/timed/methods.rb
y_petri-2.3.2 lib/y_petri/core/timed/methods.rb