![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
The serial engine: the sample path of solver_ssa.m's main loop. More...
#include <line/solvers/ssa/solver_ssa_serial.h>
Public Member Functions | |
| SsaSerialEngine (const qn::NetworkStruct< T > &sn, const SsaSerialOptions &opt, const std::vector< qn::FjSync< T > > &fjsync=std::vector< qn::FjSync< T > >()) | |
| fjsync is the fork firing list of the TAG-AUGMENTED struct, empty for a model with no Fork. | |
| SsaSerialRun< T > | run () |
| Run opt.samples firings and return the path with its statistics. | |
| const std::vector< qn::Sync< T > > & | sync () const |
| The synchronization list the trace's tran_sync indexes. | |
| const qn::NetState< T > & | init_state () const |
| The state the path starts from, at full encoding width. | |
The serial engine: the sample path of solver_ssa.m's main loop.
It is a class for the reason NrmEngine is: the loop threads the current state, the visited-state table, the two rate tables and the trace through every step, and the reference threads the same through one long function.
Definition at line 556 of file solver_ssa_serial.h.
|
inline |
fjsync is the fork firing list of the TAG-AUGMENTED struct, empty for a model with no Fork.
It is passed in rather than derived because the augmentation produces the struct and the firing list together and sn must be the augmented one: deriving it here would leave the two able to disagree about which classes the branches carry.
Definition at line 565 of file solver_ssa_serial.h.
References line::ctmc::ctmc_has_waitq_region(), line::ctmc::CtmcOptions::cutoff, line::InputError::InputError(), line::qn::refresh_global_sync(), line::qn::refresh_sync(), and line::ctmc::CtmcOptions::state_max.
|
inline |
The state the path starts from, at full encoding width.
Definition at line 605 of file solver_ssa_serial.h.
| SsaSerialRun< T > line::ssa::SsaSerialEngine< T >::run | ( | ) |
Run opt.samples firings and return the path with its statistics.
Definition at line 938 of file solver_ssa_serial.h.
References line::ssa::SsaSerialRun< T >::arv_rates, line::ctmc::WaitqState< T >::buf, line::ssa::SsaSerialRun< T >::buf, line::ctmc::ctmc_state_space_aggr(), line::ssa::SsaSerialRun< T >::dep_rates, line::ssa::SsaSerialRun< T >::dly_rates, line::ctmc::WaitqState< T >::net, line::NumericError::NumericError(), line::ssa::SsaSerialRun< T >::pi, line::ssa::SsaSerialRun< T >::preempt_rates, run(), line::ssa::SsaSerialRun< T >::samples, line::ssa::SsaSerialRun< T >::seed, line::ssa::SsaSerialRun< T >::simulated_time, line::ssa::SsaSerialRun< T >::space, line::ssa::SsaSerialRun< T >::ssq, line::ssa::SsaSerialRun< T >::start_rates, sync(), line::ssa::SsaSerialRun< T >::tran_state, line::ssa::SsaSerialRun< T >::tran_sync, line::ssa::SsaSerialRun< T >::tran_time, and line::ssa::SsaSerialRun< T >::warmup.
Referenced by run(), and line::ssa::solver_ssa_serial_on_struct().
|
inline |
The synchronization list the trace's tran_sync indexes.
Definition at line 603 of file solver_ssa_serial.h.
Referenced by run().