![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
Port of matlab/src/api/sn/sn_rtnodes_to_rtorig.m. More...
#include <cstddef>#include <string>#include <vector>#include "line/api/mc/dtmc_stochcomp.h"#include "line/lang/qn/network_struct.h"#include "line/num/number.h"Go to the source code of this file.
Classes | |
| struct | line::api::SnRtOrig< T > |
| What sn_rtnodes_to_rtorig returns: the flat matrix and its per-class-pair blocks. More... | |
Namespaces | |
| namespace | line |
| namespace | line::api |
Functions | |
| template<class T> | |
| SnRtOrig< T > | line::api::sn_rtnodes_to_rtorig (const qn::NetworkStruct< T > &sn) |
Port of matlab/src/api/sn/sn_rtnodes_to_rtorig.m.
sn.rtnodes is over every node the refresh built, INCLUDING the artificial CS_* class-switch nodes that the routing expansion inserts. This recovers the routing over the ORIGINAL nodes by taking the stochastic complement over their rows, i.e. by eliminating the artificial ones rather than dropping them – dropping would lose the class switch the node performs.
The original nodes are those BEFORE the first CS_ node, because the expansion appends. A model with no class switching therefore keeps every node and the complement is the identity operation on rtnodes.
ARITHMETIC: field. dtmc_stochcomp is a linear solve.
Definition in file sn_rtnodes_to_rtorig.h.