![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
ldes: the native LDES engine behind the interface of jline.cli.LdesCLI. More...
#include <cmath>#include <cstdio>#include <ctime>#include <cstdlib>#include <fstream>#include <iostream>#include <sstream>#include <string>#include <vector>#include "line/io/network_reader.h"#include "line/solvers/ldes/ldes_engine.h"#include "line/solvers/wrappers/ldes/ldes_options.h"#include "line/util/error.h"Go to the source code of this file.
Functions | |
| int | main (int argc, char **argv) |
ldes: the native LDES engine behind the interface of jline.cli.LdesCLI.
WHAT THIS BINARY IS FOR. common/ldes has been a GraalVM image of the JAVA engine; this program is its replacement, built from cpp/include/line/solvers/ldes/. Every client of that binary – MATLAB's @SolverLDES/solveCli.m, native Python's wrappers/solver_ldes, and the C++ client wrappers/ldes/solver_ldes.h – speaks to it through exactly two artefacts: the ARGUMENT VECTOR and the ldes-result DOCUMENT. Neither may drift. A client is not recompiled when the engine changes hands, so an argument this program rejects and the Java one accepted, or a key it spells differently, is a silent breakage in three codebases at once.
THE INTERFACE IS THEREFORE COPIED, not designed:
ldes solve <model.json> -o <result.json> [flags]
with the flag set of LdesCLI.handleSolveCommand and the document shape of LDESResultIO.write. Flags this engine cannot honour are REFUSED BY NAME rather than ignored, which is the one deliberate difference from the AOT image it replaces: that image ignored flags it predated, and an ignored --slotlength silently ran a continuous-time simulation under a slotted model's name. A refusal is visible; a silent default is not.
WHAT IS NOT HERE. --rest/server mode belongs to line_cli and is refused with the reason rather than accepted and dropped.
Definition in file ldes_cli.cpp.
| int main | ( | int | argc, |
| char ** | argv ) |
Definition at line 406 of file ldes_cli.cpp.
References line::qn::Network< T >::get_struct(), line::ldes::ldes_engine_solve(), main(), and line::io::read_network_json().
Referenced by main().