48 std::size_t probe_draws = 5,
49 std::size_t update_every = 1,
50 std::ostream& os = std::cout,
51 std::string label =
"Monte-Carlo",
52 std::string item_label =
"accepted",
53 std::shared_ptr<StatisticProgressMonitor> monitor =
nullptr,
54 std::string phase =
"monte_carlo");
56 void accepted(std::size_t accepted_count, std::size_t attempts = 0, std::size_t failures = 0);
57 void finish(std::size_t accepted_count, std::size_t attempts, std::size_t failures);
60 double elapsed_seconds()
const;
61 double eta_seconds(std::size_t accepted_count)
const;
62 std::string eta_string(std::size_t accepted_count)
const;
63 std::string bar(std::size_t accepted_count)
const;
64 void publish(std::size_t accepted_count,
68 const std::string& message);
70 bool enabled_ =
false;
71 std::size_t total_ = 0;
72 std::size_t probe_draws_ = 5;
73 std::size_t update_every_ = 1;
74 std::ostream* os_ =
nullptr;
75 std::chrono::steady_clock::time_point start_;
76 std::string label_ =
"Monte-Carlo";
77 std::string item_label_ =
"accepted";
78 std::shared_ptr<StatisticProgressMonitor> monitor_;
79 std::string phase_ =
"monte_carlo";
87 std::size_t total_steps,
88 std::ostream& os = std::cout,
89 std::shared_ptr<StatisticProgressMonitor> monitor =
nullptr,
90 std::string phase =
"chi2_pipeline");
92 void start(
const std::string& message);
93 void step(std::size_t completed_steps,
const std::string& message);
94 void finish(
const std::string& message);
97 std::string bar(std::size_t completed_steps)
const;
98 double elapsed_seconds()
const;
99 std::string elapsed_string()
const;
100 void publish(std::size_t completed_steps,
const std::string& message,
bool finished);
102 bool enabled_ =
false;
104 std::size_t total_steps_ = 0;
105 std::ostream* os_ =
nullptr;
106 std::chrono::steady_clock::time_point start_;
107 std::shared_ptr<StatisticProgressMonitor> monitor_;
108 std::string phase_ =
"chi2_pipeline";