本文整理汇总了C++中Sequence::back方法的典型用法代码示例。如果您正苦于以下问题:C++ Sequence::back方法的具体用法?C++ Sequence::back怎么用?C++ Sequence::back使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Sequence
的用法示例。
在下文中一共展示了Sequence::back方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: stitch
void Path::stitch(Sequence::iterator first_replaced,
Sequence::iterator last_replaced,
Sequence &source)
{
if (!source.empty()) {
if ( first_replaced != get_curves().begin() ) {
if ( (*first_replaced)->initialPoint() != source.front()->initialPoint() ) {
Curve *stitch = new StitchSegment((*first_replaced)->initialPoint(),
source.front()->initialPoint());
source.insert(source.begin(), boost::shared_ptr<Curve>(stitch));
}
}
if ( last_replaced != (get_curves().end()-1) ) {
if ( (*last_replaced)->finalPoint() != source.back()->finalPoint() ) {
Curve *stitch = new StitchSegment(source.back()->finalPoint(),
(*last_replaced)->finalPoint());
source.insert(source.end(), boost::shared_ptr<Curve>(stitch));
}
}
} else if ( first_replaced != last_replaced && first_replaced != get_curves().begin() && last_replaced != get_curves().end()-1) {
if ( (*first_replaced)->initialPoint() != (*(last_replaced-1))->finalPoint() ) {
Curve *stitch = new StitchSegment((*(last_replaced-1))->finalPoint(),
(*first_replaced)->initialPoint());
source.insert(source.begin(), boost::shared_ptr<Curve>(stitch));
}
}
}
示例2: getPercentile
double DeterminatorInterpolated::getPercentile(const Sequence &sequence, int percentile) const {
size_t size = sequence.size();
double coeff = 100.0 / size;
double calcIdx = percentile / coeff - .5;
if (calcIdx <= 0) return sequence.front();
if (calcIdx >= size - 1) return sequence.back();
size_t idx0 = (size_t) floor(calcIdx);
int v0 = sequence.at(idx0);
int v1 = sequence.at(idx0 + 1);
double p0 = 100.0 / size * (idx0);
double slope = size / 100.0 * (percentile - p0);
return v0 + (v1 - v0) * slope;
}