示例#1
0
double LisMatrix::getMaxDiagCoeff()
{
    double abs_max_entry;
    int ierr = lis_vector_get_value(_diag, 0, &abs_max_entry);
    checkLisError(ierr);
    abs_max_entry = std::abs(abs_max_entry);
    for (std::size_t k(1); k<_n_rows; ++k) {
        double tmp;
        ierr = lis_vector_get_value(_diag, k, &tmp);
        checkLisError(ierr);
        if (abs_max_entry < std::abs(tmp)) {
            abs_max_entry = std::abs(tmp);
        }
    }

    return abs_max_entry;
}
示例#2
0
void lis_vector_get_value_f(LIS_VECTOR_F *v, LIS_INT *i, LIS_SCALAR *value, LIS_INT *ierr)
{
	LIS_DEBUG_FUNC_IN;

	*ierr = lis_vector_get_value((LIS_VECTOR)LIS_V2P(v),*i,value);
	if( *ierr )	return;

	LIS_DEBUG_FUNC_OUT;
	return;
}