本文整理汇总了C++中AnalysisDataPointSetRef::dataSetIndex方法的典型用法代码示例。如果您正苦于以下问题:C++ AnalysisDataPointSetRef::dataSetIndex方法的具体用法?C++ AnalysisDataPointSetRef::dataSetIndex怎么用?C++ AnalysisDataPointSetRef::dataSetIndex使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AnalysisDataPointSetRef
的用法示例。
在下文中一共展示了AnalysisDataPointSetRef::dataSetIndex方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: checker
void
MockAnalysisDataModule::Impl::checkReferencePoints(
const AnalysisDataPointSetRef &points)
{
EXPECT_TRUE(frameChecker_.get() != NULL);
if (frameChecker_.get() != NULL)
{
TestReferenceChecker checker(
frameChecker_->checkCompound("DataValues", NULL));
checker.checkInteger(points.columnCount(), "Count");
if (checker.checkPresent(source_->dataSetCount() > 1, "DataSet"))
{
checker.checkInteger(points.dataSetIndex(), "DataSet");
}
const int sourceColumnCount = source_->columnCount(points.dataSetIndex());
const bool bAllColumns = (points.firstColumn() == 0
&& points.columnCount() == sourceColumnCount);
if (checker.checkPresent(!bAllColumns, "FirstColumn"))
{
checker.checkInteger(points.firstColumn(), "FirstColumn");
checker.checkInteger(points.lastColumn(), "LastColumn");
}
AnalysisDataValuesRef::const_iterator value;
for (value = points.values().begin(); value != points.values().end(); ++value)
{
checkReferenceDataPoint(&checker, *value);
}
}
}
示例2: AnalysisDataValuesRef
AnalysisDataPointSetRef::AnalysisDataPointSetRef(
const AnalysisDataPointSetRef &points, int firstColumn, int columnCount)
: header_(points.header()), dataSetIndex_(points.dataSetIndex()),
firstColumn_(0)
{
GMX_ASSERT(firstColumn >= 0, "Invalid first column");
GMX_ASSERT(columnCount >= 0, "Invalid column count");
if (points.lastColumn() < firstColumn
|| points.firstColumn() >= firstColumn + columnCount
|| columnCount == 0)
{
return;
}
AnalysisDataValuesRef::const_iterator begin = points.values().begin();
int pointsOffset = firstColumn - points.firstColumn();
if (pointsOffset > 0)
{
// Offset pointer if the first column is not the first in points.
begin += pointsOffset;
}
else
{
// Take into account if first column is before the first in points.
firstColumn_ = -pointsOffset;
columnCount -= -pointsOffset;
}
// Decrease column count if there are not enough columns in points.
AnalysisDataValuesRef::const_iterator end = begin + columnCount;
if (pointsOffset + columnCount > points.columnCount())
{
end = points.values().end();
}
values_ = AnalysisDataValuesRef(begin, end);
}
示例3:
void
AnalysisDataAverageModule::pointsAdded(const AnalysisDataPointSetRef &points)
{
if (impl_->bDataSets_)
{
const int dataSet = points.dataSetIndex();
for (int i = 0; i < points.columnCount(); ++i)
{
if (points.present(i))
{
impl_->averagers_[0].addValue(dataSet, points.y(i));
}
}
}
else
{
impl_->averagers_[points.dataSetIndex()].addPoints(points);
}
}
示例4: if
void
AnalysisDataLifetimeModule::pointsAdded(const AnalysisDataPointSetRef &points)
{
const int dataSet = points.dataSetIndex();
// This assumption is strictly not necessary, but this is how the
// framework works currently, and makes the code below simpler.
GMX_ASSERT(points.firstColumn() == 0
&& points.lastColumn() == static_cast<int>(impl_->currentLifetimes_[dataSet].size()) - 1,
"Point set should cover all columns");
for (int i = 0; i < points.columnCount(); ++i)
{
// TODO: Perhaps add control over how this is determined?
const bool bPresent = points.present(i) && points.y(i) > 0.0;
if (bPresent)
{
++impl_->currentLifetimes_[dataSet][i];
}
else if (impl_->currentLifetimes_[dataSet][i] > 0)
{
impl_->addLifetime(dataSet, impl_->currentLifetimes_[dataSet][i]);
impl_->currentLifetimes_[dataSet][i] = 0;
}
}
}