OEE.hpp

TODO.

Functions

template<typename ORG_TYPE, typename INST_TYPE>
vector<INST_TYPE> Skeletonize(ORG_TYPE &org, const INST_TYPE null_value, std::function<double(ORG_TYPE&)> fit_fun)
template<typename SKEL_TYPE>
class SeenSet
#include <OEE.hpp>

Public Types

using skel_t = SKEL_TYPE

Public Functions

inline SeenSet(int placeholder_1 = 200000, double placeholder_2 = 0.0001)
inline void insert(const skel_t &val)
inline bool contains(const skel_t &val)

Private Members

std::set<SKEL_TYPE> s
class SeenBloomFilter
#include <OEE.hpp>

Public Types

using skel_t = std::string

Public Functions

inline SeenBloomFilter(int bloom_count = 200000, double false_positive = 0.0001)
inline void insert(const skel_t &val)
inline bool contains(const skel_t &val)

Private Members

BloomFilter b
template<typename SYSTEMATICS_TYPE, typename SKEL_TYPE = typename SYSTEMATICS_TYPE::info_t, typename SEEN_TYPE = SeenSet<SKEL_TYPE>>
class OEETracker
#include <OEE.hpp>

Public Functions

inline OEETracker(Ptr<systematics_t> s, fun_calc_data_t d, fun_calc_complexity_t c, bool remove_top = false, int bloom_count = 200000, double bloom_false_positive = .0001)
inline ~OEETracker()
inline int GetResolution() const
inline int GetGenerationInterval() const
inline void SetResolution(int r)
inline void SetGenerationInterval(int g)
inline void Update(size_t gen, int ud = -1)
inline void CalcStats(size_t ud)
inline std::map<SKEL_TYPE, int> CoalescenceFilter(size_t ud)
inline Ptr<DataNode<double, data::Current, data::Info>> GetDataNode(const std::string &name)

Private Types

using systematics_t = SYSTEMATICS_TYPE
using taxon_t = typename systematics_t::taxon_t
using info_t = typename systematics_t::info_t
using hash_t = typename Ptr<taxon_t>::hash_t
using fun_calc_complexity_t = std::function<double(const SKEL_TYPE&)>
using fun_calc_data_t = std::function<SKEL_TYPE(info_t&)>

Private Members

std::deque<vector<snapshot_info_t>> snapshots
std::deque<int> snapshot_times
Ptr<systematics_t> systematics_manager
std::map<SKEL_TYPE, int> prev_coal_set
fun_calc_data_t skeleton_fun
fun_calc_complexity_t complexity_fun
int generation_interval = 10
int resolution = 10
DataManager<double, data::Current, data::Info> data_nodes
SEEN_TYPE seen
bool prune_top
struct snapshot_info_t

Public Functions

inline ~snapshot_info_t()

Public Members

Ptr<taxon_t> taxon = nullptr
Ptr<SKEL_TYPE> skel = nullptr
int count = 0