![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
Per-class queue lengths at arrival for the per-class sample format. More...
#include <cstddef>#include <vector>#include "line/api/infer/infer_compute_ql_at_arrival.h"#include "line/num/number.h"#include "line/util/error.h"#include "line/util/matrix.h"Go to the source code of this file.
Namespaces | |
| namespace | line |
| namespace | line::infer |
Functions | |
| template<class T> | |
| std::vector< Matrix< T > > | line::infer::infer_get_qlen_arrival (const std::vector< std::vector< T > > &at_ms, const std::vector< std::vector< T > > &rt) |
| Per-class queue lengths at arrival for the per-class sample format. | |
Per-class queue lengths at arrival for the per-class sample format.
Templated port of matlab/src/api/infer/infer_get_qlen_arrival.m. No JAR counterpart.
MATLAB reads its 6 x (K+1) cell array, taking data{3,k} as the arrival times of class k IN MILLISECONDS and data{4,k} as the response times in seconds. The cell container is a MATLAB storage detail with no meaning in C++, so the port takes the two per-class sample vectors directly; the millisecond to second conversion of the arrival times is kept, since it is what makes the two vectors commensurable.
The classes are concatenated in order, given identity job ids, handed to infer_compute_ql_at_arrival, and split back per class.
ARITHMETIC: one division and the event replay of infer_compute_ql_at_arrival, so a finite field computation. Note that the division by 1000 is exact in the exact instantiation and only there.
Definition in file infer_get_qlen_arrival.h.