本文整理汇总了C++中rcpp::NumericVector::push_back方法的典型用法代码示例。如果您正苦于以下问题:C++ NumericVector::push_back方法的具体用法?C++ NumericVector::push_back怎么用?C++ NumericVector::push_back使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类rcpp::NumericVector
的用法示例。
在下文中一共展示了NumericVector::push_back方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: rowSetParseData
void rowSetParseData(std::vector<char *> rows, Rcpp::DataFrame *resultDataFrame, char *colName, bool isChar)
{
rapidxml::xml_document<> data;
std::string xmlWrapper;
char *xmlRow;
int textLength;
char *parseText;
Rcpp::CharacterVector dimension;
Rcpp::NumericVector dataColumn;
for (int row = 0; row < rows.size(); row++) {
bool found = false;
xmlWrapper = "<row>";
xmlWrapper = xmlWrapper + rows[row] + "</row>";
xmlRow = strdup(xmlWrapper.c_str());
textLength = strlen(xmlRow);
parseText = new char[textLength+1];
parseText = strcpy(parseText, xmlRow);
data.parse<0>(parseText);
rapidxml::xml_node<char> *rowData = data.first_node()->first_node(colName);
if (rowData != NULL) {
if (isChar)
dimension.push_back(rowData->value());
else
dataColumn.push_back(atof(rowData->value()));
found = true;
}
if (!found && isChar)
dimension.push_back(NA_STRING);
else if (!found && !isChar)
dataColumn.push_back(NA_REAL);
}
if (isChar)
resultDataFrame->push_back(dimension);
else
resultDataFrame->push_back(dataColumn);
}
示例2: GetPoint
RcppExport SEXP GetPoint(SEXP x,SEXP p,SEXP c) {
try {
Rcpp::XPtr< flann::Index<flann::L2<float> > > index(x);
Rcpp::NumericVector point(p);
Rcpp::NumericVector colNum(c);
float* indexPoint = index->getPoint(point[0]);
Rcpp::NumericVector results;
for(int i=0;i<colNum[0];i++) {
results.push_back(*(indexPoint+i));
}
return results; // -Wall
} catch( std::exception &ex ) { // or use END_RCPP macro
forward_exception_to_r( ex );
} catch(...) {
::Rf_error( "c++ exception (unknown reason)" );
}
return R_NilValue; // -Wall
}