LINE Solver (C++)
Templated C++ port of the LINE queueing solver
Loading...
Searching...
No Matches
pfqn_expand.h File Reference

Expand per-station metrics from a reduced model back to the original station set. More...

#include <cstddef>
#include <vector>
#include "line/num/number.h"
#include "line/util/error.h"
#include "line/util/matrix.h"
Include dependency graph for pfqn_expand.h:

Go to the source code of this file.

Classes

struct  line::pfqn::ExpandResult< T >
 Return value of pfqn_expand, mirroring [QN_full,UN_full,CN_full]. More...

Namespaces

namespace  line
namespace  line::pfqn

Functions

template<class T>
ExpandResult< T > line::pfqn::pfqn_expand (const Matrix< T > &QN, const Matrix< T > &UN, const Matrix< T > &CN, const std::vector< std::size_t > &mapping)
 Expand per-station metrics from a reduced model back to the original station set.

Detailed Description

Expand per-station metrics from a reduced model back to the original station set.

Templated port of matlab/src/api/pfqn/pfqn_expand.m. The inverse of pfqn_unique: row i of each output is row mapping(i) of the corresponding input, so every station of a replicated group receives the metrics computed once for its representative.

Arithmetic: EXACT-CAPABLE. The routine copies values and performs no arithmetic at all, so it is exact in every arithmetic by construction and carries no transcendental gate.

Definition in file pfqn_expand.h.