13#if !defined(VITA_ANALYZER_H)
14#define VITA_ANALYZER_H
55 void add(
const T &,
const fitness_t &,
unsigned = 0);
59 std::uintmax_t functions(
bool)
const;
60 std::uintmax_t terminals(
bool)
const;
72 typename std::map<const symbol *, sym_counter>::const_iterator;
77 bool is_valid()
const;
80 void count(
const symbol *,
bool);
81 std::size_t count(
const T &);
82 std::size_t count_team(
const T &, std::true_type);
83 template<
class U> std::size_t count_team(
const U &, std::false_type);
84 template<
class U> std::size_t count_introns(
const U &, std::true_type);
85 template<
class U> std::size_t count_introns(
const U &, std::false_type);
97 std::map<const symbol *, sym_counter, cmp_symbol_ptr> sym_counter_;
101 distribution<double> age;
102 distribution<fitness_t> fitness;
104 std::map<unsigned, group_stat> group_stat_;
106 distribution<fitness_t> fit_;
107 distribution<double> age_;
108 distribution<double> length_;
110 sym_counter functions_;
111 sym_counter terminals_;
114#include "kernel/analyzer.tcc"
Analyzer takes a statistics snapshot of a population.
typename std::map< const symbol *, sym_counter >::const_iterator const_iterator
Type returned by begin() and end() methods to iterate through the statistics of the various symbols.
Together functions and terminals are referred to as symbols.
opcode_t opcode() const
An opcode is a unique, numerical session ID for a symbol.
The main namespace for the project.
std::uintmax_t counter[2]
Typical use: counter[active] or counter[!active] (where active is a boolean).