|
Bertini 2 d882924 (2026-10-06 19:56 UTC)
Numerical algebraic geometry library (C++ core)
|
FullPathResult <-> track-record serialization (b2rec/1; the arc's rung 4). More...
#include <cstdio>#include <cstdlib>#include <string>#include <boost/json.hpp>#include "bertini2/num_traits.hpp"#include "bertini2/parallel/path_result.hpp"Go to the source code of this file.
Namespaces | |
| namespace | bertini |
| namespace | bertini::records |
Functions | |
| std::string | bertini::records::ExactDoubleText (double v) |
| A double as full-round-trip decimal text (%.17g: bit-exact per IEEE-754). | |
| double | bertini::records::DoubleFromText (std::string const &s) |
| Parse a double written by ExactDoubleText (bit-exact round trip). | |
| std::string | bertini::records::EncodeRealScalar (double v) |
| Encode one real scalar as text: doubles via %.17g; real_mp at full stored precision. | |
| std::string | bertini::records::EncodeRealScalar (real_mp const &v) |
| Encode one multiprecision real scalar as full-precision decimal text. | |
| boost::json::array | bertini::records::EncodeComplexScalar (complex_dbl const &z) |
| Encode one complex value as ["re", "im", precision] (precision in digits). | |
| boost::json::array | bertini::records::EncodeComplexScalar (complex_mp const &z) |
| Encode one multiprecision complex value as ["re", "im", precision]. | |
| template<typename ComplexT> | |
| ComplexT | bertini::records::DecodeComplexScalar (boost::json::array const &triple) |
| Decode a complex value written by EncodeComplexScalar, at its recorded precision. | |
| template<> | |
| complex_dbl | bertini::records::DecodeComplexScalar< complex_dbl > (boost::json::array const &triple) |
| Decode a double-precision complex value. | |
| template<> | |
| complex_mp | bertini::records::DecodeComplexScalar< complex_mp > (boost::json::array const &triple) |
| Decode a multiprecision complex value at its recorded precision. | |
| template<typename ComplexT> | |
| boost::json::array | bertini::records::EncodePoint (Vec< ComplexT > const &point) |
| Encode a point (vector of complex coordinates) as an array of scalar triples. | |
| template<typename ComplexT> | |
| Vec< ComplexT > | bertini::records::DecodePoint (boost::json::array const &coords) |
| Decode a point written by EncodePoint. | |
| std::string | bertini::records::CanonicalName (SuccessCode code) |
| The fixed canonical name of a tracker/endgame SuccessCode, for the records. | |
| std::string | bertini::records::CoarsePathStatus (SuccessCode code) |
| The coarse outcome of a path, from its endgame verdict: "success", "diverged" (the path went to infinity – a clean GoingToInfinity verdict, or the security check TRUNCATING it near infinity), or "failed" (the tracker gave up). | |
| template<typename ComplexT> | |
| boost::json::object | bertini::records::EncodeFullPathResult (parallel::FullPathResult< ComplexT > const &r) |
| Serialize one whole-path result as a b2rec/1 track record body. | |
| template<typename ComplexT> | |
| parallel::FullPathResult< ComplexT > | bertini::records::DecodeFullPathResult (boost::json::object const &rec, std::size_t path_index) |
| Reconstruct a whole-path result from a track record (the recall half). | |
FullPathResult <-> track-record serialization (b2rec/1; the arc's rung 4).
The whole-path result (parallel/path_result.hpp) is the manager-side unit of completed work in every topology (serial / threaded / MPI): StoreFullPathResult is the single installation point. So a track record IS a serialized FullPathResult, and recall is decoding one and replaying it through the same installer – recalled solver state is identical to computed state BY CONSTRUCTION.
Scalar encodings are exact and human-readable: doubles as %.17g decimal (round-trips bit-exactly per IEEE-754), multiprecision values as full-precision decimal strings plus their precision. Points are the treasure – they stay readable.