本文整理汇总了C++中fei::SharedPtr::getRowLength方法的典型用法代码示例。如果您正苦于以下问题:C++ SharedPtr::getRowLength方法的具体用法?C++ SharedPtr::getRowLength怎么用?C++ SharedPtr::getRowLength使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类fei::SharedPtr
的用法示例。
在下文中一共展示了SharedPtr::getRowLength方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: runtime_error
void test_Matrix::matrix_test1(fei::SharedPtr<fei::Matrix> mat)
{
if (localProc_==0)
FEI_COUT << " matrix_test1: testing fei::Matrix with type '"
<< mat->typeName() << "':"<<FEI_ENDL;
fei::SharedPtr<fei::MatrixGraph> mgraph = mat->getMatrixGraph();
fei::SharedPtr<fei::VectorSpace> rspace = mgraph->getRowSpace();
if (localProc_==0)
FEI_COUT << " testing get{Global/Local}NumRows,getRowLength...";
int mglobalrows = mat->getGlobalNumRows();
int vglobaleqns = rspace->getGlobalNumIndices();
if (mglobalrows != vglobaleqns) {
throw std::runtime_error("mat reports different num rows than vector-space eqns");
}
std::vector<int> global_offsets;
rspace->getGlobalIndexOffsets(global_offsets);
int my_num_rows = mat->getLocalNumRows();
if (my_num_rows != global_offsets[localProc_+1]-global_offsets[localProc_]) {
throw std::runtime_error("num-local-rows mis-match between mat and vector-space");
}
int i, my_first_row = global_offsets[localProc_];
std::vector<int> row_lengths(my_num_rows);
for(i=0; i<my_num_rows; ++i) {
int errcode = mat->getRowLength(i+my_first_row, row_lengths[i]);
if (errcode != 0) {
throw std::runtime_error("nonzero errcode from mat->getRowLength");
}
}
if (localProc_==0) FEI_COUT << "ok" << FEI_ENDL;
}