|
Bertini 2 d882924 (2026-10-06 19:56 UTC)
Numerical algebraic geometry library (C++ core)
|
Emit a System (and, with a config, a whole solve) as a Bertini 1 classic input file. More...
#include "bertini2/system/system.hpp"#include "bertini2/function_tree/find.hpp"#include "bertini2/trackers/config.hpp"#include <ostream>#include <sstream>#include <iomanip>#include <string>#include <vector>Go to the source code of this file.
Classes | |
| struct | bertini::classic::ClassicWriteOptions |
| Tracking / precision settings to emit in the CONFIG section, in Bertini 1 terms. More... | |
Namespaces | |
| namespace | bertini |
| namespace | bertini::classic |
Functions | |
| void | bertini::classic::EmitSystem (std::ostream &out, System const &sys) |
| Emit the INPUT-section body of a system in classic syntax: the variable groups, any named subexpressions (as name = expr; subfunctions, defined before the functions that use them), and the functions (function f0,f1,...; then f0 = ...;). | |
| std::string | bertini::classic::SystemToClassic (System const &sys) |
| The INPUT-section body as a string. | |
| int | bertini::classic::PredictorToClassic (tracking::Predictor p) |
| Map a Bertini 2 Predictor to its Bertini 1 classic odepredictor integer. | |
| void | bertini::classic::EmitConfig (std::ostream &out, System const &sys, ClassicWriteOptions const &opt) |
| Emit the CONFIG-section body (no CONFIG/END wrapper). | |
| void | bertini::classic::WriteClassicInput (std::ostream &out, System const &sys, ClassicWriteOptions const &opt=ClassicWriteOptions{}) |
| Write a complete Bertini 1 classic input file: CONFIG ... END;\nINPUT ... END;. | |
| std::string | bertini::classic::SystemToClassicFile (System const &sys, ClassicWriteOptions const &opt=ClassicWriteOptions{}) |
| The complete classic input file as a string. | |
Emit a System (and, with a config, a whole solve) as a Bertini 1 classic input file.
The classic parser (io/parsing) reads Bertini 1 input files; this is its inverse. Emitting a CONFIG ... END;\nINPUT ... END; file lets the same problem be run in Bertini 1 for cross-validation – e.g. to check whether a path-crossing or a root count reproduces across implementations (modulo each one's random start system).
The emitted text is round-trip-safe: parsing it back with bertini::System's classic constructor yields an equivalent system.