new_line.push_back (row-shift);
-next_constraint = lines.begin();
+ next_constraint = lines.begin();
// note: in this loop we need not check
// whether #next_constraint# is a valid
// iterator, since #next_constraint# is
};
+
template<typename number>
void
ConstraintMatrix::condense (SparseMatrix<number> &uncondensed) const
};
+
template<typename number>
void
ConstraintMatrix::condense (const Vector<number> &uncondensed,
new_line.push_back (row-shift);
-next_constraint = lines.begin();
+ next_constraint = lines.begin();
// note: in this loop we need not check
// whether #next_constraint# is a valid
// iterator, since #next_constraint# is
};
+
template<typename number>
void
ConstraintMatrix::condense (Vector<number> &vec) const
};
+
template<typename number>
void
ConstraintMatrix::set_zero (Vector<number> &vec) const
};
+
template<typename number>
void
ConstraintMatrix::distribute (const Vector<number> &condensed,
old_line.push_back (row-shift);
-next_constraint = lines.begin();
+ next_constraint = lines.begin();
// note: in this loop we need not check
// whether #next_constraint# is a valid
// iterator, since #next_constraint# is
};
+
template<typename number>
void
ConstraintMatrix::distribute (Vector<number> &vec) const