本文整理汇总了C++中Pattern::size方法的典型用法代码示例。如果您正苦于以下问题:C++ Pattern::size方法的具体用法?C++ Pattern::size怎么用?C++ Pattern::size使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Pattern
的用法示例。
在下文中一共展示了Pattern::size方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: pMatch
// 從本文的begin位置到end位置,找到第一個Pattern發生之起始位置
T1::iterator pMatch(T1::iterator begin, T1::iterator end) {
T1::iterator i;
int j;
for (i = begin, j = 0; ((i != end) && (j < pat->size())); ) {
if (*i == (*pat->ch)[j]) {
i++; j++;
}
else {
if (j == 0) i++;
else j = pat->Fail(j - 1) + 1;
}
}
return ( (j == pat->size()) ? i - pat->size() : end );
}
示例2: search_read_backwards
SearchStates gram::search_read_backwards(const Pattern &read,
const Pattern &kmer,
const KmerIndex &kmer_index,
const PRG_Info &prg_info) {
// Test if kmer has been indexed
bool kmer_in_index = kmer_index.find(kmer) != kmer_index.end();
if (not kmer_in_index)
return SearchStates{};
// Test if kmer has been indexed, but has no search states in prg
auto kmer_index_search_states = kmer_index.at(kmer);
if (kmer_index_search_states.empty())
return kmer_index_search_states;
// Reverse iterator + skipping through indexed kmer in read
auto read_begin = read.rbegin();
std::advance(read_begin, kmer.size());
SearchStates new_search_states = kmer_index_search_states;
for (auto it = read_begin; it != read.rend(); ++it) { /// Iterates end to start of read
const Base &pattern_char = *it;
new_search_states = process_read_char_search_states(pattern_char,
new_search_states,
prg_info);
// Test if no mapping found upon character extension
auto read_not_mapped = new_search_states.empty();
if (read_not_mapped)
break;
}
new_search_states = handle_allele_encapsulated_states(new_search_states, prg_info);
return new_search_states;
}
示例3: convert
bool Analyzer::convert(Pattern& pattern, vector<string>& items, RowData& row_data){
// pattern and item size must match
if (pattern.size() != items.size()) {
return false;
}
Pattern::iterator itr_pattern = pattern.begin();
vector<string>::iterator itr_items = items.begin();
// process every element using proper element parser
// return true only if all items are proper handled
while (itr_pattern != pattern.end()) {
Element* ele = *(*itr_pattern);
string str = *itr_items;
// increase pattern itr and corresponding item itr
itr_pattern++;
itr_items++;
Data data;
if (ele->convert(str, data)) {
row_data.push_back(data);
} else {
row_data.clear();
return false;
}
}
return true;
}
示例4: round
void PSU1Rules::BuildCodeSignal(const CodeTupleVector& codeTupleVec,
const TrTupleVector& trTupleVec, const double bauda)
{
std::cout << "BUILDING CODE Signal " << std::endl;
LocationVector lv = codeTupleVec[0].get<0>();
const Pattern pattern = codeTupleVec[0].get<1>();
const uint16_t pre_baud = round(trTupleVec[0].get<1>()/bauda);
for(uint16_t idx=0; idx<lv.size(); ++idx)
{
const uint16_t ch_idx = ChIndex(lv,idx);
ports_[ch_idx].resize(pre_baud+pattern.size());
for(uint16_t jdx=0; jdx<pattern.size(); ++jdx)
{
const uint16_t code_offset = pre_baud + jdx;
ports_[ch_idx][code_offset] = pattern[jdx];
}
}
}
示例5: search
Row ClusterRepository::search(Pattern pattern, double threshold){
std::vector<double> origin(pattern.size());
Converter<Pattern> converter;
std::fill(origin.begin(), origin.end(), (double)1);
double feature = Math::cosSimilarity(origin, converter.convert(pattern));
//しきい値以下のクラスタ
std::vector<Row> result = this->sqlite.execute(this->getSelectClusterQuery(feature, threshold));
if(result.empty()) throw std::exception("not found");
return result[0];
}
示例6: quasimap_read
bool gram::quasimap_read(const Pattern &read,
Coverage &coverage,
const KmerIndex &kmer_index,
const PRG_Info &prg_info,
const Parameters ¶meters) {
auto kmer = get_kmer_from_read(parameters.kmers_size, read); // Gets last k bases of read
auto search_states = search_read_backwards(read, kmer, kmer_index, prg_info);
auto read_mapped_exactly = not search_states.empty();
// Test read did not map
if (not read_mapped_exactly)
return read_mapped_exactly;
auto read_length = read.size();
uint64_t random_seed = parameters.seed;
coverage::record::search_states(coverage,
search_states,
read_length,
prg_info,
random_seed);
return read_mapped_exactly;
}
示例7: get_kmer_from_read
Pattern gram::get_kmer_from_read(const uint32_t &kmer_size, const Pattern &read) {
Pattern kmer;
auto kmer_start_it = read.begin() + read.size() - kmer_size;
kmer.assign(kmer_start_it, read.end());
return kmer;
}