40template<
typename TrackerT>
52 template<
typename... T>
67 std::stringstream err_msg;
68 err_msg <<
"ensuring precision of object failed; precision is " <<
Precision(obj) <<
" and required precision is " << prec;
69 throw std::runtime_error(err_msg.str());
76 auto refinement_success = this->
GetTracker().Refine(result,current_sample,current_time,
80 return refinement_success;
EndgamePrecPolicyBase(TrackerT const &new_tracker)
Construct the precision policy holding a reference to the given tracker.
Definition prec_base.hpp:47
const TrackerT & GetTracker() const
Getter for the tracker used inside an instance of the endgame.
Definition prec_base.hpp:68
Fixed-precision endgame precision policy (refines and ensures precision at a single working precision...
Definition fixed_prec_endgame.hpp:42
BaseComplexT BCT
The complex number type.
Definition fixed_prec_endgame.hpp:48
static void EnsureAtPrecision(T const &obj, unsigned prec)
Assert that an object is already at the given precision (throws otherwise).
Definition fixed_prec_endgame.hpp:62
virtual ~FixedPrecEndgame()=default
typename tracking::TrackerTraits< TrackerType >::BaseComplexT BaseComplexT
The complex number type.
Definition fixed_prec_endgame.hpp:45
FixedPrecEndgame(TrackerT const &new_tracker)
Construct the fixed-precision endgame policy for a tracker.
Definition fixed_prec_endgame.hpp:85
typename tracking::TrackerTraits< TrackerType >::BaseRealT BaseRealT
The real number type.
Definition fixed_prec_endgame.hpp:46
TrackerT TrackerType
The path-tracker type.
Definition fixed_prec_endgame.hpp:44
SuccessCode RefineSampleImpl(Vec< BCT > &result, Vec< BCT > const ¤t_sample, BCT const ¤t_time, NumErrorT tol, unsigned max_iterations) const
Refine a single sample point at the (fixed) working precision.
Definition fixed_prec_endgame.hpp:74
BaseRealT BRT
The real number type.
Definition fixed_prec_endgame.hpp:49
static unsigned EnsureAtUniformPrecision(T &...args)
Bring a set of values to a common precision (a no-op of effect under fixed precision).
Definition fixed_prec_endgame.hpp:54
Configs and settings for endgames.
Definition endgames.hpp:44
unsigned EnsureAtUniformPrecision(TimeCont< complex_dbl > const &, SampCont< complex_dbl > const &)
Definition fixed_precision_utilities.hpp:68
Definition adaptive_precision_utilities.hpp:35
Definition algorithm_builder.hpp:36
Eigen::Matrix< NumT, Eigen::Dynamic, 1 > Vec
A dynamically-sized column vector of NumT.
Definition eigen_extensions.hpp:296
double NumErrorT
The numeric type used to hold error/tolerance magnitudes throughout Bertini2 – tracking tolerances,...
Definition num_traits.hpp:48
SuccessCode
Definition config.hpp:42
unsigned Precision(Eigen::MatrixBase< Derived > const &v)
Get the precision of an Eigen object.
Definition eigen_extensions.hpp:339
Contains a parent class, EndgamePrecPolicyBase (an observable), from which the fixed double,...
FixedPrecEndgame< tracking::DoublePrecisionTracker > type
The endgame precision-policy type.
Definition fixed_prec_endgame.hpp:95
FixedPrecEndgame< tracking::FixedPrecisionTracker< D > > type
The endgame precision-policy type.
Definition fixed_prec_endgame.hpp:109
FixedPrecEndgame< tracking::MultiplePrecisionTracker > type
The endgame precision-policy type.
Definition fixed_prec_endgame.hpp:102
Base empty class.
Definition config.hpp:64
Trait lookup mapping a tracker type to its numeric types, event-emitter type, precision config,...
Definition config.hpp:387