![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
Controls, results and the random source of SolverSSA. More...
#include <cstddef>#include <cstdint>#include <limits>#include <random>#include <string>#include <vector>#include "line/util/matrix.h"Go to the source code of this file.
Classes | |
| struct | line::ssa::SsaOptions |
| Controls, defaulting to SolverOptions('SSA') in the reference. More... | |
| struct | line::ssa::SsaSolution |
| What the analyzer returns, in the same shape as the MVA and fluid results. More... | |
| struct | line::ssa::SsaCacheRatio |
| What the cache write-back of solver_ssa_analyzer_serial.m produces (and the NRM's). More... | |
| class | line::ssa::SsaRng |
| The uniform source, MATLAB's rand. More... | |
Namespaces | |
| namespace | line |
| Conservation laws of a layered queueing network, enumerated from its structure. | |
| namespace | line::ssa |
Controls, results and the random source of SolverSSA.
WHICH RANDOM STREAM, AND WHAT THAT COSTS. An SSA answer is a function of the random stream, so a seed-fixed golden belongs to one implementation only. MATLAB draws from rand (its own Mersenne Twister wrapper); the JAR and native Python share an MT19937. This port uses MT19937 too, but it does NOT claim stream compatibility with any of them: the ORDER in which the sample path consumes draws is part of the algorithm, and no two of the four implementations consume in the same order (the JAR, for instance, spends a draw on a single-phase entry-phase pick where this port does not). So a cross-codebase check against this engine is STATISTICAL, never exact – which is what _kb/14-cpp-multiprecision.md records and what the tests assert.
Definition in file ssa_types.h.