11 #ifndef NT_SPECIES_SET_H
12 #define NT_SPECIES_SET_H
44 unsigned char *tmp_bitstring;
48 void dump_bitstring(
const char *tag,
unsigned char *bs);
50 void add(
const char *species_name);
53 double search_and_remember_best_match_and_log_errors(
const TSpecSet *tset, FILE *log);
55 #if defined(UNIT_TESTS)
56 friend void TEST_species_sets();
117 best_node = matched_node;
128 int unfound_species_count;
138 #error NT_species_set.h included twice
139 #endif // NT_SPECIES_SET_H
long bitstring_bytes() const
AP_tree * matchedNode() const
void storeBetterMatch(const GroupPenalty &match, AP_tree *matched_node)
CONSTEXPR_INLINE int leafs_2_innerNodes(int leafs, TreeModel model)
bool betterThan(const GroupPenalty &other) const
void finish(GB_ERROR &error)
const GroupPenalty & bestMatch() const
long bitstring_longs() const
long get_species_index(const char *species_name) const
TSpecSet * find_best_matches_info(AP_tree *node, FILE *log, bool compare_node_info)
static void error(const char *msg)
RSpecSet * registerTree(AP_tree *node)
int get_unknown_members() const
int get_known_members() const
TSpecSet(AP_tree *nodei, const SpecSetRegistry &ssr, const char *species_name)
void setScorer(const GroupMatchScorer &newScorer)
void init(AP_tree *nodei, const SpecSetRegistry &ssr)
RSpecSet * search_best_match(const TSpecSet *tset, GroupPenalty &min_penalty)
SpecSetRegistry(long nspecies_, arb_progress *progress_, const GroupMatchScorer &scorer_)
RSpecSet(AP_tree *nodei, const SpecSetRegistry &ssr, const char *species_name)
SpecSet(AP_tree *nodei, const SpecSetRegistry &ssr, const char *species_name)
GB_ERROR write_node_information(FILE *log, bool delete_old_nodes, GroupsToTransfer what, const char *aci)
unsigned char * allocate_bitstring() const
unsigned char * bitstring
long GBS_read_hash(const GB_HASH *hs, const char *key)