Represent the registration status. More...
#include <rgrl_converge_status.h>
Public Types | |
enum | converge_type { conv_on_going, converged, stagnated } |
enum | status_type { status_on_going, good_enough, failed, good_and_terminate } |
Public Member Functions | |
rgrl_converge_status () | |
default ctor. | |
rgrl_converge_status (converge_type conv, status_type stat, double error, unsigned osc_count, double error_diff) | |
default ctor. | |
rgrl_converge_status (bool has_converged, bool has_stagnated, bool is_good_enough, bool in_is_failed, double error, unsigned oscillation_count, double error_diff) | |
virtual | ~rgrl_converge_status () |
bool | has_converged () const |
Return true if the estimation has converged to a viable estimate. | |
bool | has_stagnated () const |
Return true if the estimation has stagnated without reaching a viable estimate. | |
bool | is_good_enough () const |
Return true if the current estimate should be considered "good enough" to solve the problem. | |
bool | is_failed () const |
Return true if the current estimate should be considered "a failure" that would not solve the problem. | |
bool | is_good_and_should_terminate () const |
return true is the current estimate is so good that registration can be terminated. | |
converge_type | current_converge () const |
return converge enum. | |
status_type | current_status () const |
return current status. | |
void | set_current_converge (converge_type c) |
set current coverage. | |
void | set_current_status (status_type s) |
set current coverage. | |
void | set_objective_value (double obj) |
set objective value. | |
double | objective_value () const |
Current value of the objective function. | |
double | error () const |
Same as the objective value. | |
double | error_diff () const |
A signed difference between the error of the current status and the error of the previous. | |
unsigned int | oscillation_count () const |
Return the number of times that the error_diff changes the sign. | |
rgrl_type_macro (rgrl_converge_status, rgrl_object) | |
virtual bool | is_type (const vcl_type_info &type) const |
void | set_debug_flag (unsigned int debugFlag) const |
Set the value of the debug flag. A non-zero value turns debugging on. | |
unsigned int | debug_flag () const |
Get the value of the debug flag. | |
void | set_warning (bool) const |
Set the flag for warning messages. | |
bool | warning () const |
Get the warning flag. | |
unsigned int | add_observer (rgrl_event_sptr event, rgrl_command_sptr) |
Allow people to add/remove/invoke observers (callbacks) to any rgrl object. | |
rgrl_command_sptr | get_command (unsigned int tag) |
Get the command associated with the given tag. | |
void | invoke_event (const rgrl_event &) |
Call execute(.) on all the rgrl_commands observing this event id. | |
void | invoke_event (const rgrl_event &) const |
Call execute(.) on all the rgrl_commands observing this event id. | |
void | remove_observer (unsigned int tag) |
Remove the observer with this tag value. | |
bool | has_observer (const rgrl_event &event) const |
Return true if an observer is registered for this event. | |
void | ref () |
void | unref () |
int | get_references () const |
bool | is_referenced () const |
Static Public Member Functions | |
static const vcl_type_info & | type_id () |
Protected Attributes | |
converge_type | conv_ |
status_type | status_ |
double | error_ |
unsigned | oscillation_count_ |
double | error_diff_ |
Represent the registration status.
Definition at line 19 of file rgrl_converge_status.h.
Definition at line 24 of file rgrl_converge_status.h.
Definition at line 26 of file rgrl_converge_status.h.
rgrl_converge_status::rgrl_converge_status | ( | ) |
default ctor.
Definition at line 12 of file rgrl_converge_status.cxx.
rgrl_converge_status::rgrl_converge_status | ( | converge_type | conv, |
status_type | stat, | ||
double | error, | ||
unsigned | osc_count, | ||
double | error_diff | ||
) |
default ctor.
Definition at line 23 of file rgrl_converge_status.cxx.
rgrl_converge_status::rgrl_converge_status | ( | bool | has_converged, |
bool | has_stagnated, | ||
bool | is_good_enough, | ||
bool | in_is_failed, | ||
double | error, | ||
unsigned | oscillation_count, | ||
double | error_diff | ||
) |
Definition at line 38 of file rgrl_converge_status.cxx.
rgrl_converge_status::~rgrl_converge_status | ( | ) | [virtual] |
Definition at line 71 of file rgrl_converge_status.cxx.
unsigned int rgrl_object::add_observer | ( | rgrl_event_sptr | event, |
rgrl_command_sptr | cmd | ||
) | [inherited] |
Allow people to add/remove/invoke observers (callbacks) to any rgrl object.
This is an implementation of the subject/observer design pattern. An observer is added by specifying an event to respond to and an rgrl_command to execute. It returns an unsigned long tag which can be used later to remove the event or retrieve the command.
Definition at line 47 of file rgrl_object.cxx.
rgrl_converge_status::converge_type rgrl_converge_status::current_converge | ( | ) | const |
return converge enum.
Definition at line 115 of file rgrl_converge_status.cxx.
rgrl_converge_status::status_type rgrl_converge_status::current_status | ( | ) | const |
return current status.
Definition at line 122 of file rgrl_converge_status.cxx.
unsigned int rgrl_object::debug_flag | ( | ) | const [inherited] |
Get the value of the debug flag.
Definition at line 26 of file rgrl_object.cxx.
double rgrl_converge_status::error | ( | void | ) | const |
Same as the objective value.
Definition at line 158 of file rgrl_converge_status.cxx.
double rgrl_converge_status::error_diff | ( | ) | const |
A signed difference between the error of the current status and the error of the previous.
Definition at line 174 of file rgrl_converge_status.cxx.
rgrl_command_sptr rgrl_object::get_command | ( | unsigned int | tag | ) | [inherited] |
Get the command associated with the given tag.
Definition at line 57 of file rgrl_object.cxx.
bool rgrl_converge_status::has_converged | ( | ) | const |
Return true if the estimation has converged to a viable estimate.
Definition at line 78 of file rgrl_converge_status.cxx.
bool rgrl_object::has_observer | ( | const rgrl_event & | event | ) | const [inherited] |
Return true if an observer is registered for this event.
Definition at line 107 of file rgrl_object.cxx.
bool rgrl_converge_status::has_stagnated | ( | ) | const |
Return true if the estimation has stagnated without reaching a viable estimate.
Only one of has_converged() and has_stagnated() can be true.
Definition at line 86 of file rgrl_converge_status.cxx.
void rgrl_object::invoke_event | ( | const rgrl_event & | event | ) | [inherited] |
Call execute(.) on all the rgrl_commands observing this event id.
Definition at line 69 of file rgrl_object.cxx.
void rgrl_object::invoke_event | ( | const rgrl_event & | event | ) | const [inherited] |
Call execute(.) on all the rgrl_commands observing this event id.
The actions triggered by this call doesn't modify this object.
Definition at line 83 of file rgrl_object.cxx.
bool rgrl_converge_status::is_failed | ( | ) | const |
Return true if the current estimate should be considered "a failure" that would not solve the problem.
Definition at line 108 of file rgrl_converge_status.cxx.
bool rgrl_converge_status::is_good_and_should_terminate | ( | ) | const |
return true is the current estimate is so good that registration can be terminated.
Definition at line 101 of file rgrl_converge_status.cxx.
bool rgrl_converge_status::is_good_enough | ( | ) | const |
Return true if the current estimate should be considered "good enough" to solve the problem.
Definition at line 94 of file rgrl_converge_status.cxx.
virtual bool rgrl_object::is_type | ( | const vcl_type_info & | type | ) | const [inline, virtual, inherited] |
Reimplemented in rgrl_scale_estimator.
Definition at line 66 of file rgrl_object.h.
double rgrl_converge_status::objective_value | ( | ) | const |
Current value of the objective function.
Lower is better.
Definition at line 150 of file rgrl_converge_status.cxx.
unsigned int rgrl_converge_status::oscillation_count | ( | ) | const |
Return the number of times that the error_diff changes the sign.
Definition at line 166 of file rgrl_converge_status.cxx.
void rgrl_object::remove_observer | ( | unsigned int | tag | ) | [inherited] |
Remove the observer with this tag value.
Definition at line 97 of file rgrl_object.cxx.
rgrl_converge_status::rgrl_type_macro | ( | rgrl_converge_status | , |
rgrl_object | |||
) |
void rgrl_converge_status::set_current_converge | ( | converge_type | c | ) |
set current coverage.
Definition at line 129 of file rgrl_converge_status.cxx.
void rgrl_converge_status::set_current_status | ( | status_type | s | ) |
set current coverage.
Definition at line 136 of file rgrl_converge_status.cxx.
void rgrl_object::set_debug_flag | ( | unsigned int | debugFlag | ) | const [inherited] |
Set the value of the debug flag. A non-zero value turns debugging on.
Definition at line 19 of file rgrl_object.cxx.
void rgrl_converge_status::set_objective_value | ( | double | obj | ) |
set objective value.
Definition at line 143 of file rgrl_converge_status.cxx.
void rgrl_object::set_warning | ( | bool | flag | ) | const [inherited] |
Set the flag for warning messages.
Definition at line 33 of file rgrl_object.cxx.
static const vcl_type_info& rgrl_object::type_id | ( | ) | [inline, static, inherited] |
Reimplemented in rgrl_scale_estimator.
Definition at line 63 of file rgrl_object.h.
bool rgrl_object::warning | ( | ) | const [inherited] |
Get the warning flag.
Definition at line 40 of file rgrl_object.cxx.
converge_type rgrl_converge_status::conv_ [protected] |
Definition at line 109 of file rgrl_converge_status.h.
double rgrl_converge_status::error_ [protected] |
Definition at line 111 of file rgrl_converge_status.h.
double rgrl_converge_status::error_diff_ [protected] |
Definition at line 113 of file rgrl_converge_status.h.
unsigned rgrl_converge_status::oscillation_count_ [protected] |
Definition at line 112 of file rgrl_converge_status.h.
status_type rgrl_converge_status::status_ [protected] |
Definition at line 110 of file rgrl_converge_status.h.