|
Bertini 2 d882924 (2026-10-06 19:56 UTC)
Numerical algebraic geometry library (C++ core)
|
The per-thread mutable working state of a straight-line program evaluation: the register file (one bank per number type), the working precision, and the freshness / frozen-prologue flags. More...
#include <straight_line_program.hpp>
Public Member Functions | |
| template<typename NumT> | |
| std::vector< NumT > & | Get () |
| Get a mutable reference to the register bank for number type NumT. | |
| template<typename NumT> | |
| std::vector< NumT > const & | Get () const |
| Get a const reference to the register bank for number type NumT. | |
Public Attributes | |
| std::tuple< std::vector< real_dbl >, std::vector< complex_dbl >, std::vector< real_mp >, std::vector< complex_mp > > | registers_ |
| The register file (ADR-0034): one bank per (precision, NumType). | |
| unsigned | precision_ = 16 |
| The current working number of digits. | |
| bool | is_evaluated_ = false |
| Whether the program has been evaluated against this memory. | |
| bool | frozen_valid_dbl_ = false |
| Whether the frozen prologue's double results in memory are valid. | |
| unsigned | frozen_valid_mp_precision_ = 0 |
| Precision at which the frozen prologue's mp results are valid (0 = none). | |
Friends | |
| class | boost::serialization::access |
The per-thread mutable working state of a straight-line program evaluation: the register file (one bank per number type), the working precision, and the freshness / frozen-prologue flags.
Cheap to allocate; never shared across threads (ADR-0027).
|
inline |
Get a mutable reference to the register bank for number type NumT.
|
inline |
Get a const reference to the register bank for number type NumT.
|
friend |
|
mutable |
Whether the frozen prologue's double results in memory are valid.
|
mutable |
Precision at which the frozen prologue's mp results are valid (0 = none).
|
mutable |
Whether the program has been evaluated against this memory.
|
mutable |
The current working number of digits.
|
mutable |
The register file (ADR-0034): one bank per (precision, NumType).
A slot lives in exactly one bank, chosen by its NumType; the real banks are the real companions of the complex ones (real_dbl for complex_dbl, real_mp for complex_mp). Get<NumT>() selects a bank by type.