![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
#include "line/reg/api_dispatch.h"#include <algorithm>#include <cctype>#include <cmath>#include <functional>#include <map>#include <sstream>#include "line/api/mc/ctmc_solve.h"#include "line/api/mc/dtmc_solve.h"#include "line/api/aoi/aoi_fcfs_dm1.h"#include "line/api/aoi/aoi_fcfs_gim1.h"#include "line/api/aoi/aoi_fcfs_md1.h"#include "line/api/aoi/aoi_fcfs_mgi1.h"#include "line/api/aoi/aoi_fcfs_mm1.h"#include "line/api/aoi/aoi_lcfsd_gim1.h"#include "line/api/aoi/aoi_lcfsd_mgi1.h"#include "line/api/aoi/aoi_lcfspr_dm1.h"#include "line/api/aoi/aoi_lcfspr_gim1.h"#include "line/api/aoi/aoi_lcfspr_md1.h"#include "line/api/aoi/aoi_lcfspr_mgi1.h"#include "line/api/aoi/aoi_lcfspr_mm1.h"#include "line/api/aoi/aoi_lcfss_gim1.h"#include "line/api/aoi/aoi_lcfss_mgi1.h"#include "line/api/aoi/aoi_lst_det.h"#include "line/api/aoi/aoi_lst_erlang.h"#include "line/api/aoi/aoi_lst_exp.h"#include "line/api/aoi/aoi_lst_ph.h"#include "line/api/fj/fj_bounds.h"#include "line/api/fj/fj_char_max.h"#include "line/api/fj/fj_gk_bound.h"#include "line/api/fj/fj_harmonic.h"#include "line/api/fj/fj_quantile.h"#include "line/api/fj/fj_ordstat_exp.h"#include "line/api/fj/fj_quorum_moments.h"#include "line/api/fj/fj_respt_2way.h"#include "line/api/fj/fj_respt_nt.h"#include "line/api/fj/fj_respt_varki.h"#include "line/api/fj/fj_respt_vm.h"#include "line/api/fj/fj_rmax.h"#include "line/api/fj/fj_rmax_erlang.h"#include "line/api/fj/fj_rmax_evd.h"#include "line/api/fj/fj_sm_tput.h"#include "line/api/fj/fj_synch_delay.h"#include "line/api/fj/fj_xmax_2.h"#include "line/api/fj/fj_xmax_approx.h"#include "line/api/fj/fj_xmax_emma.h"#include "line/api/fj/fj_xmax_erlang.h"#include "line/api/fj/fj_xmax_exp.h"#include "line/api/fj/fj_xmax_hyperexp.h"#include "line/api/fj/fj_xmax_normal.h"#include "line/api/fj/fj_xmax_pareto.h"#include "line/api/moment/moment_binomial_from_factorial.h"#include "line/api/moment/moment_binomial_from_negbinomial.h"#include "line/api/moment/moment_binotrans.h"#include "line/api/moment/moment_binotransinv.h"#include "line/api/moment/moment_central_from_raw.h"#include "line/api/moment/moment_factorial_from_binomial.h"#include "line/api/moment/moment_factorial_from_raw.h"#include "line/api/moment/moment_factorial_from_upfactorial.h"#include "line/api/moment/moment_lah.h"#include "line/api/moment/moment_negbinomial_from_binomial.h"#include "line/api/moment/moment_negbinomial_from_upfactorial.h"#include "line/api/moment/moment_raw_from_central.h"#include "line/api/moment/moment_raw_from_factorial.h"#include "line/api/moment/moment_raw_from_upfactorial.h"#include "line/api/moment/moment_stirling1.h"#include "line/api/moment/moment_stirling2.h"#include "line/api/moment/moment_stirlingcycle.h"#include "line/api/moment/moment_upfactorial_from_factorial.h"#include "line/api/moment/moment_upfactorial_from_negbinomial.h"#include "line/api/moment/moment_upfactorial_from_raw.h"#include "line/api/mc/ctmc_courtois.h"#include "line/api/mc/ctmc_fau.h"#include "line/api/mc/ctmc_foxglynn.h"#include "line/api/mc/ctmc_saddlepoint.h"#include "line/api/mc/ctmc_bicgstab.h"#include "line/api/mc/ctmc_gmres.h"#include "line/api/mc/ctmc_gmres_multi.h"#include "line/api/mc/ctmc_kms.h"#include "line/api/mc/ctmc_multi.h"#include "line/api/mc/ctmc_randomization.h"#include "line/api/mc/ctmc_sens.h"#include "line/api/mc/ctmc_solve_reducible.h"#include "line/api/mc/ctmc_solve_reducible_blkdecomp.h"#include "line/api/mc/ctmc_takahashi.h"#include "line/api/mc/ctmc_transient.h"#include "line/api/mc/ctmc_transient_sens.h"#include "line/api/mc/dtmc_makestochastic.h"#include "line/api/mc/dtmc_solve_reducible.h"#include "line/api/mc/stronglyconncomp.h"#include "line/api/pfqn/pfqn_ca.h"#include "line/api/pfqn/pfqn_comom.h"#include "line/api/pfqn/pfqn_comomrm.h"#include "line/api/pfqn/pfqn_comomrm_ms.h"#include "line/api/pfqn/pfqn_conv.h"#include "line/api/pfqn/pfqn_gld.h"#include "line/api/pfqn/pfqn_mva.h"#include "line/api/pfqn/pfqn_procomom.h"#include "line/api/pfqn/pfqn_recal.h"#include "line/api/sim/sim_firquest.h"#include "line/api/qsys/qsys_bmapphnn_retrial.h"#include "line/api/qsys/qsys_dmc.h"#include "line/api/dqsys/dqsys_geogeo1.h"#include "line/api/dqsys/dqsys_geoxgeo1.h"#include "line/api/qsys/qsys_gg1.h"#include "line/api/qsys/qsys_gig1_approx_allencunneen.h"#include "line/api/qsys/qsys_gig1_approx_gelenbe.h"#include "line/api/qsys/qsys_gig1_approx_heyman.h"#include "line/api/qsys/qsys_gig1_approx_kimura.h"#include "line/api/qsys/qsys_gig1_approx_klb.h"#include "line/api/qsys/qsys_gig1_approx_kobayashi.h"#include "line/api/qsys/qsys_gig1_approx_marchal.h"#include "line/api/qsys/qsys_gig1_approx_myskja.h"#include "line/api/qsys/qsys_gig1_approx_myskja2.h"#include "line/api/qsys/qsys_gig1_lbnd.h"#include "line/api/qsys/qsys_gig1_rqt.h"#include "line/api/qsys/qsys_gig1_ubnd_kingman.h"#include "line/api/qsys/qsys_gigk_approx.h"#include "line/api/qsys/qsys_gigk_approx_cosmetatos.h"#include "line/api/qsys/qsys_gigk_approx_kingman.h"#include "line/api/qsys/qsys_gigk_approx_whitt.h"#include "line/api/qsys/qsys_ggnm_diffusion.h"#include "line/api/qsys/qsys_gig1_bnds_extremal.h"#include "line/api/qsys/qsys_mgisrgi_whitt.h"#include "line/api/qsys/qsys_mmk_qed.h"#include "line/api/qsys/qsys_gigk_rqt.h"#include "line/api/qsys/qsys_gigk_rqt_gamma.h"#include "line/api/qsys/qsys_gm1.h"#include "line/api/qsys/qsys_mapd1.h"#include "line/api/qsys/qsys_mapdc.h"#include "line/api/qsys/qsys_mapg1.h"#include "line/api/qsys/qsys_mapm1.h"#include "line/api/qsys/qsys_mapmap1.h"#include "line/api/qsys/qsys_mapmc.h"#include "line/api/qsys/qsys_mapph1.h"#include "line/api/qsys/qsys_mapphc.h"#include "line/api/qsys/qsys_mg1.h"#include "line/api/qsys/qsys_mg1_fb.h"#include "line/api/qsys/qsys_mg1_lrpt.h"#include "line/api/qsys/qsys_mg1_prio.h"#include "line/api/qsys/qsys_mg1_psjf.h"#include "line/api/qsys/qsys_mg1_setf.h"#include "line/api/qsys/qsys_mg1_srpt.h"#include "line/api/qsys/qsys_mg1k_loss_mgs.h"#include "line/api/qsys/qsys_mginf.h"#include "line/api/qsys/qsys_mm1.h"#include "line/api/qsys/qsys_mm1_dps.h"#include "line/api/qsys/qsys_mm1k_loss.h"#include "line/api/qsys/qsys_mmck.h"#include "line/api/qsys/qsys_mmcc_retrial_fp.h"#include "line/api/qsys/qsys_mmk.h"#include "line/api/qsys/qsys_mxm1.h"#include "line/api/qsys/qsys_phm1.h"#include "line/api/qsys/qsys_phmc.h"#include "line/api/qsys/qsys_phph1.h"#include "line/api/sim/sim_fquest.h"#include "line/api/sim/sim_quest_options.h"#include "line/api/sim/sim_shapirowilk.h"#include "line/api/sim/sim_sts_quantile_areas.h"#include "line/api/sim/sim_vonneumann.h"Go to the source code of this file.
Namespaces | |
| namespace | line |
| namespace | line::reg |
Macros | |
| #define | LINE_QSYS_GIG1(OpName, fn) |
| #define | LINE_QSYS_GIGK(OpName, fn) |
| #define | LINE_QSYS_MYSKJA(OpName, fn) |
| #define | LINE_QSYS_MG1_DISC(OpName, fn, ResultT) |
| The six M/G/1 disciplines, all {W per class, rhohat}. | |
| #define | LINE_MOMENT_VEC(OpName, fn, in_key, out_key) |
| #define | LINE_MOMENT_TRI(OpName, fn, out_key) |
| The four triangular coefficient matrices, each a function of the order n. | |
| #define | LINE_AOI_TWO(OpName, fn, k1, k2) |
| #define | LINE_AOI_MGI1_MOMENTS(OpName, fn) |
| The two M/GI/1 laws that need only the first two service moments. | |
| #define | LINE_AOI_GIM1_ONE(OpName, fn) |
| #define | LINE_FJ_K_LAMBDA_MU(OpName, fn, out_key) |
| The many members returning one bare number, under the reference's name. | |
| #define | LINE_FJ_K_MU(OpName, fn, out_key) |
Functions | |
| ArithSpec | line::reg::parse_arith (const std::string &text) |
| Parse –arith. | |
| std::vector< std::string > | line::reg::api_exposed_functions () |
| Names exposed over this boundary, sorted; a subset of the registry. | |
| bool | line::reg::api_is_exposed (const std::string &name) |
| True when the named function has a dispatch entry. | |
| Json | line::reg::api_invoke (const std::string &name, const std::string &arith, const Json &args) |
| Invoke one API function. | |
| std::string | line::reg::api_render_readable (const Json &result) |
| Human-readable rendering of the object api_invoke returns, for -o readable. | |
| #define LINE_AOI_GIM1_ONE | ( | OpName, | |
| fn ) |
Definition at line 2351 of file api_dispatch.cpp.
| #define LINE_AOI_MGI1_MOMENTS | ( | OpName, | |
| fn ) |
The two M/GI/1 laws that need only the first two service moments.
Definition at line 2299 of file api_dispatch.cpp.
| #define LINE_AOI_TWO | ( | OpName, | |
| fn, | |||
| k1, | |||
| k2 ) |
Definition at line 2279 of file api_dispatch.cpp.
| #define LINE_FJ_K_LAMBDA_MU | ( | OpName, | |
| fn, | |||
| out_key ) |
The many members returning one bare number, under the reference's name.
Definition at line 2379 of file api_dispatch.cpp.
| #define LINE_FJ_K_MU | ( | OpName, | |
| fn, | |||
| out_key ) |
Definition at line 2399 of file api_dispatch.cpp.
| #define LINE_MOMENT_TRI | ( | OpName, | |
| fn, | |||
| out_key ) |
The four triangular coefficient matrices, each a function of the order n.
Definition at line 1706 of file api_dispatch.cpp.
| #define LINE_MOMENT_VEC | ( | OpName, | |
| fn, | |||
| in_key, | |||
| out_key ) |
Definition at line 1657 of file api_dispatch.cpp.
| #define LINE_QSYS_GIG1 | ( | OpName, | |
| fn ) |
Definition at line 720 of file api_dispatch.cpp.
| #define LINE_QSYS_GIGK | ( | OpName, | |
| fn ) |
Definition at line 744 of file api_dispatch.cpp.
| #define LINE_QSYS_MG1_DISC | ( | OpName, | |
| fn, | |||
| ResultT ) |
The six M/G/1 disciplines, all {W per class, rhohat}.
Definition at line 1253 of file api_dispatch.cpp.
| #define LINE_QSYS_MYSKJA | ( | OpName, | |
| fn ) |
Definition at line 1001 of file api_dispatch.cpp.