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

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"
Include dependency graph for infer_get_qlen_arrival.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.

Detailed Description

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.