Program Listing for File convergence_metrics.hpp
↰ Return to documentation for file (cosm/convergence/metrics/convergence_metrics.hpp
)
#pragma once
/*******************************************************************************
* Includes
******************************************************************************/
#include <tuple>
#include "rcppsw/metrics/base_metrics.hpp"
#include "rcppsw/rcppsw.hpp"
/*******************************************************************************
* Namespaces/Decls
******************************************************************************/
namespace cosm::convergence::metrics {
/*******************************************************************************
* Class Definitions
******************************************************************************/
class convergence_metrics : public virtual rmetrics::base_metrics {
public:
convergence_metrics(void) = default;
using conv_status_t = std::tuple<double, double, bool>;
virtual double swarm_conv_epsilon(void) const = 0;
virtual conv_status_t swarm_interactivity(void) const = 0;
virtual conv_status_t swarm_angular_order(void) const = 0;
virtual conv_status_t swarm_positional_entropy(void) const = 0;
virtual conv_status_t swarm_task_dist_entropy(void) const = 0;
virtual conv_status_t swarm_velocity(void) const = 0;
};
} /* namespace cosm::convergence::metrics */