|
SERiF v0.0.1a
Stellar Evolution and Rotation in Four Dimensions
|
Own only the continuation path; a caller promotes physical states after successful correction. More...
#include <controller.hpp>
Public Types | |
| using | Coordinates = std::array<double, Count> |
| using | Proposal = CoordinateProposal<Count> |
Public Member Functions | |
| CoordinateController (Coordinates start, Coordinates target, CoordinateOptions< Count > options={}) | |
| Validate finite endpoints and controls before any proposal can consume work. | |
| const Coordinates & | start () const noexcept |
| Read the original physical coordinates. | |
| const Coordinates & | target () const noexcept |
| Read the exact requested endpoint. | |
| const Coordinates & | accepted () const noexcept |
| Read only successfully corrected coordinates. | |
| const CoordinateOptions< Count > & | options () const noexcept |
| Inspect the selected step controls. | |
| const CoordinateCounters & | counters () const noexcept |
| Include failed attempts in work accounting. | |
| ControllerStatus | status () const noexcept |
| Explain whether another proposal may be requested. | |
| const std::optional< Proposal > & | pending () const noexcept |
| Inspect the outstanding proposal without accepting its coordinates. | |
| std::optional< Proposal > | propose () |
| Propose one bounded representable change without modifying accepted coordinates. | |
| void | validate_resolution (std::uint64_t id, AttemptOutcome outcome, std::uint64_t work=0) const |
| Validate a resolution before the caller commits any corresponding physical state. | |
| void | resolve (std::uint64_t id, AttemptOutcome outcome, std::uint64_t work=0) |
| Resolve exactly one proposal; clipped rejected increments shrink from the actual distance attempted. | |
Private Member Functions | |
| void | validate_options () const |
| Reject invalid adaptation, ordering, and work limits as configuration errors. | |
| std::optional< std::size_t > | select_axis () const noexcept |
| Prefer incomplete coordinates by policy, allowing blocked preferred axes to yield to another axis. | |
Private Attributes | |
| Coordinates | m_start |
| Coordinates | m_target |
| CoordinateOptions< Count > | m_options |
| Coordinates | m_accepted {} |
| Coordinates | m_span {} |
| Coordinates | m_step {} |
| std::array< bool, Count > | m_blocked {} |
| std::array< std::uint64_t, Count > | m_rejections_at_base {} |
| CoordinateCounters | m_counters {} |
| ControllerStatus | m_status {ControllerStatus::ready} |
| std::optional< Proposal > | m_pending |
Own only the continuation path; a caller promotes physical states after successful correction.
| using serif::solver::continuation::CoordinateController< Count >::Coordinates = std::array<double, Count> |
| using serif::solver::continuation::CoordinateController< Count >::Proposal = CoordinateProposal<Count> |
|
inline |
Validate finite endpoints and controls before any proposal can consume work.
|
inlinenodiscardnoexcept |
Read only successfully corrected coordinates.
|
inlinenodiscardnoexcept |
Include failed attempts in work accounting.
|
inlinenodiscardnoexcept |
Inspect the selected step controls.
|
inlinenodiscardnoexcept |
Inspect the outstanding proposal without accepting its coordinates.
|
inlinenodiscard |
Propose one bounded representable change without modifying accepted coordinates.
|
inline |
Resolve exactly one proposal; clipped rejected increments shrink from the actual distance attempted.
|
inlinenodiscardprivatenoexcept |
Prefer incomplete coordinates by policy, allowing blocked preferred axes to yield to another axis.
|
inlinenodiscardnoexcept |
Read the original physical coordinates.
|
inlinenodiscardnoexcept |
Explain whether another proposal may be requested.
|
inlinenodiscardnoexcept |
Read the exact requested endpoint.
|
inlineprivate |
Reject invalid adaptation, ordering, and work limits as configuration errors.
|
inline |
Validate a resolution before the caller commits any corresponding physical state.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |