t_count t_spectra::get_suspicious_components_count (t_candidate & suspicious, const t_spectra_filter * filter) const { t_spectra_filter tmp; if (filter) tmp = *filter; tmp.components.filter_all(suspicious); t_spectra_iterator it(get_component_count(), get_transaction_count(), &tmp); while (it.transaction.next()) { if (!is_error(it.transaction.get())) // TODO: Improve performance by maintaining a filter of all failing transactions continue; while (it.component.next()) { if (is_active(it.component.get(), it.transaction.get())) { tmp.components.filter(it.component.get()); suspicious.insert(it.component.get()); } } } return suspicious.size(); }
bool t_basic_parallelization::skip (t_id rank_pos, const t_candidate & candidate) const { if (candidate.size() == depth) return skip(rank_pos); return false; }