![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
The distributions a user names, spelled as their Python twins. More...
#include <cstddef>#include <string>#include <vector>#include "line/lang/dist_fitters.h"#include "line/lang/lang_types.h"Go to the source code of this file.
Namespaces | |
| namespace | line |
Macros | |
| #define | LINE_DIST_CTOR(Cls) |
| Every named law below is a Distrib<double> under another name. | |
Typedefs | |
| typedef lang::Distrib< double > | line::Distribution |
Functions | |
| line::LINE_DIST_CTOR (Exp) | |
| Exp(rate): the exponential law of the given RATE, as Python's Exp. | |
| line::LINE_DIST_CTOR (Erlang) | |
| Erlang(phase_rate, nphases). | |
| line::LINE_DIST_CTOR (HyperExp) | |
| HyperExp(p, lambda1, lambda2). | |
| line::LINE_DIST_CTOR (Coxian) | |
| Coxian(mu, phi). | |
| line::LINE_DIST_CTOR (Cox2) | |
| Cox2(mu1, mu2, phi1). | |
| line::LINE_DIST_CTOR (PH) | |
| PH(alpha, A): a general phase-type law. | |
| line::LINE_DIST_CTOR (APH) | |
| APH(alpha, A): the acyclic phase-type law. | |
| line::LINE_DIST_CTOR (MAP) | |
| MAP(D0, D1). | |
| line::LINE_DIST_CTOR (Det) | |
| Det(t): the deterministic law. | |
| line::LINE_DIST_CTOR (Immediate) | |
| Immediate(): a zero-time transition. | |
| line::LINE_DIST_CTOR (Disabled) | |
| Disabled(): the class is not served here. | |
| line::LINE_DIST_CTOR (Uniform) | |
| Uniform(a, b). | |
| line::LINE_DIST_CTOR (Pareto) | |
| Pareto(shape, scale). | |
| line::LINE_DIST_CTOR (Gamma) | |
| Gamma(shape, scale). | |
| line::LINE_DIST_CTOR (Weibull) | |
| Weibull(scale, shape). | |
| line::LINE_DIST_CTOR (Lognormal) | |
| Lognormal(logmean, logsigma). | |
| line::LINE_DIST_CTOR (Normal) | |
| Normal(mu, sigma). | |
| line::LINE_DIST_CTOR (Geometric) | |
| Geometric(p). | |
| line::LINE_DIST_CTOR (Bernoulli) | |
| Bernoulli(p). | |
| line::LINE_DIST_CTOR (Binomial) | |
| Binomial(n, p). | |
| line::LINE_DIST_CTOR (Poisson) | |
| Poisson(lambda). | |
| line::LINE_DIST_CTOR (DiscreteUniform) | |
| DiscreteUniform(a, b). | |
| line::LINE_DIST_CTOR (Zipf) | |
| Zipf(s, n). | |
| line::LINE_DIST_CTOR (DiscreteSampler) | |
| DiscreteSampler(p, x). | |
| line::LINE_DIST_CTOR (Replayer) | |
| Replayer(samples) / Replayer(samples, path): the trace-driven law. | |
The distributions a user names, spelled as their Python twins.
queue1.set_service(closed, Exp(1.0)); delay.set_service(open, Erlang(3.0, 2)); delay.set_service(open, HyperExp(0.5, 3.0, 10.0));
against Python's Exp(1.0), Erlang(3.0, 2), HyperExp(0.5, 3.0, 10.0).
EACH IS A THIN NAME OVER THE FACTORY THAT ALREADY EXISTS. Every constructor assigns the Distrib<double> that lang_types.h builds, so the numeric behaviour is the factory's and nothing new is computed here; deriving from Distrib<double> is what lets one slice cleanly into set_service, which takes the base by const reference.
The fitters keep Python's static-method spelling (HyperExp::fit_mean_and_scv), forwarding to line/lang/dist_fitters.h.
double-only, as Python is. Reach for lang::Distrib<T>'s own factories directly for the multiprecision paths.
Definition in file distributions.h.
| #define LINE_DIST_CTOR | ( | Cls | ) |
Every named law below is a Distrib<double> under another name.
Definition at line 45 of file distributions.h.