Skip to content
  • Bentriou Mahmoud's avatar
    The package becomes more meta to reach higher performance. · 5d886fc4
    Bentriou Mahmoud authored
    This commit groups the change operated to the creation of models and
    simulate function of a ContinuousTimeModel.
    The general idea is to create a concrete type and a simulate function
     per model creation by metaprogramming.
    - Now, ContinuousTimeModel is an abstract type. Each creation of a model
    defines a concrete type T <: ContinuousTimeModel by meta programming.
    - f! and isabsorbing ContinuousTimeModel fields are Symbols.
    - simulate(::ContinuousTimeModel) is run by multiple dispatch, according
    to the type of the model.
    
    Can't run the whole tests for now but unit/simulate_available_models.jl
    runs properly (i've updated the list of models in this commit), and I've
    manually checked in the repl that simulations run correctly (distributed
    / plots).
    5d886fc4