38#include "bertini2/trackers/fixed_precision_utilities.hpp"
44namespace bertini{
namespace endgame {
46template<
typename TrackerT>
50 using TrackerType = TrackerT;
51 using BaseComplexType =
typename tracking::TrackerTraits<TrackerType>::BaseComplexType;
52 using BaseRealType =
typename tracking::TrackerTraits<TrackerType>::BaseRealType;
54 using BCT = BaseComplexType;
55 using BRT = BaseRealType;
57 template<
typename... T>
59 unsigned EnsureAtUniformPrecision(T& ...args)
61 return bertini::tracking::fixed::EnsureAtUniformPrecision(args...);
66 void EnsureAtPrecision(T
const & obj,
unsigned prec)
71 std::stringstream err_msg;
72 err_msg <<
"ensuring precision of object failed; precision is " <<
Precision(obj) <<
" and required precision is " << prec;
73 throw std::runtime_error(err_msg.str());
77 SuccessCode RefineSampleImpl(Vec<BCT> & result, Vec<BCT>
const& current_sample, BCT
const& current_time,
double tol,
unsigned max_iterations)
const
79 using RT = mpfr_float;
83 auto refinement_success = this->
GetTracker().Refine(result,current_sample,current_time,
87 return SuccessCode::Success;
91 FixedPrecEndgame(TrackerT
const& new_tracker) : EndgamePrecPolicyBase<TrackerT>(new_tracker)
94 virtual ~FixedPrecEndgame() =
default;
100 using type = FixedPrecEndgame<tracking::DoublePrecisionTracker>;
106 using type = FixedPrecEndgame<tracking::MultiplePrecisionTracker>;
112 using type = FixedPrecEndgame<tracking::FixedPrecisionTracker<D>>;
A common base type for various precision types, fixed and adaptive. The purpose of this is to maintai...
Definition prec_base.hpp:46
const TrackerT & GetTracker() const
Getter for the tracker used inside an instance of the endgame.
Definition prec_base.hpp:73
unsigned Precision(Eigen::MatrixBase< Derived > const &v)
Get the precision of an Eigen object. If the object is empty, it's the precision of a default-constru...
Definition eigen_extensions.hpp:292
Configs and settings for endgames.
Contains a parent class, EndgamePrecPolicyBase (an observable), from which the fixed double,...
Definition endgames/config.hpp:67