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

Exact solution of the M/G/infinity queue. More...

Include dependency graph for qsys_mginf.h:

Go to the source code of this file.

Classes

struct  line::qsys::MginfResult< T >
 Return value of qsys_mginf, mirroring MATLAB's [L,Lq,W,Wq,p0,pk]. More...

Namespaces

namespace  line
namespace  line::qsys

Functions

template<class T>
MginfResult< T > line::qsys::qsys_mginf (const T &lambda, const T &mu)
 Exact solution of the M/G/infinity queue.
template<class T>
MginfResult< T > line::qsys::qsys_mginf (const T &lambda, const T &mu, unsigned k)
 Exact solution of the M/G/infinity queue.

Detailed Description

Exact solution of the M/G/infinity queue.

Templated port of matlab/src/api/qsys/qsys_mginf.m, cross-checked against jar/src/main/java/jline/api/qsys/Qsys_mginf.java. The JAR carries an extra cv2 argument that it never reads, and returns a HashMap rather than a tuple; the numbers are identical.

L = rho, Lq = 0, W = 1/mu, Wq = 0, p0 = exp(-rho) pk = exp(-rho) rho^k / k!

The number in system is Poisson(rho), so p0 and pk carry exp(-rho). That is a genuine transcendental: the function therefore requires num_traits<T>::has_transcendental and cannot be instantiated at exact arithmetic. L, Lq, W and Wq are field values, but they are not separable from the struct, so the whole function is gated.

Definition in file qsys_mginf.h.