Skip to content
Snippets Groups Projects
Commit e1f066be authored by Max Kahnt's avatar Max Kahnt
Browse files

Use auto types for iterators.

parent 2e362f56
Branches
No related tags found
No related merge requests found
......@@ -21,14 +21,10 @@ namespace MatrixVector {
const MatrixB& B,
const TransformationMatrix& T2) {
for (size_t i = 0; i < A.N(); ++i) {
typename MatrixA::row_type::Iterator jIt = A[i].begin();
typename MatrixA::row_type::Iterator jEnd = A[i].end();
for (; jIt != jEnd; ++jIt) {
for (auto jIt = A[i].begin(); jIt != A[i].end(); ++jIt) {
for (size_t k = 0; k < B.N(); ++k) {
if (T1.exists(k, i)) {
typename MatrixB::row_type::ConstIterator lIt = B[k].begin();
typename MatrixB::row_type::ConstIterator lEnd = B[k].end();
for (; lIt != lEnd; ++lIt)
for (auto lIt = B[k].begin(); lIt != B[k].end(); ++lIt)
if (T2.exists(lIt.index(), jIt.index()))
*jIt += T1[k][i] * (*lIt) * T2[lIt.index()][jIt.index()];
}
......@@ -134,12 +130,8 @@ namespace MatrixVector {
const ScalarB& B,
const TransformationMatrix& T2) {
for (size_t k = 0; k < TransformationMatrix::rows; ++k) {
typename TransformationMatrix::ConstColIterator Skj = T2[k].begin();
typename TransformationMatrix::ConstColIterator SkEnd = T2[k].end();
for (; Skj != SkEnd; ++Skj) {
typename TransformationMatrix::ConstColIterator Tki = T1[k].begin();
typename TransformationMatrix::ConstColIterator TkEnd = T1[k].end();
for (; Tki != TkEnd; Tki++)
for (auto Skj = T2[k].begin(); Skj != T2[k].end(); ++Skj) {
for (auto Tki = T1[k].begin(); Tki != T1[k].end(); Tki++)
if (A.exists(Tki.index(), Skj.index()))
A[Tki.index()][Skj.index()] += (*Tki) * B * (*Skj);
}
......@@ -183,12 +175,8 @@ namespace MatrixVector {
const Dune::DiagonalMatrix<FieldType, n>& B,
const TransformationMatrix& T2) {
for (size_t k = 0; k < n; ++k) {
typename TransformationMatrix::ConstColIterator Skj = T2[k].begin();
typename TransformationMatrix::ConstColIterator SkEnd = T2[k].end();
for (; Skj != SkEnd; ++Skj) {
typename TransformationMatrix::ConstColIterator Tki = T1[k].begin();
typename TransformationMatrix::ConstColIterator TkEnd = T1[k].end();
for (; Tki != TkEnd; Tki++)
for (auto Skj = T2[k].begin(); Skj != T2[k].end(); ++Skj) {
for (auto Tki = T1[k].begin(); Tki != T1[k].end(); Tki++)
if (A.exists(Tki.index(), Skj.index())) {
A[Tki.index()][Skj.index()] += (*Tki) * B.diagonal(k) * (*Skj);
}
......@@ -221,9 +209,7 @@ namespace MatrixVector {
const Dune::DiagonalMatrix<FieldType, n>& B,
const TransformationMatrix& T2) {
for (int k = 0; k < n; k++) {
typename TransformationMatrix::ConstColIterator Tki = T1[k].begin();
typename TransformationMatrix::ConstColIterator TkEnd = T1[k].end();
for (; Tki != TkEnd; ++Tki)
for (auto Tki = T1[k].begin(); Tki != T1[k].end(); ++Tki)
A.diagonal(Tki.index()) +=
(*Tki) * B.diagonal(k) * T2[k][Tki.index()];
}
......@@ -293,23 +279,11 @@ namespace MatrixVector {
transformMatrixPattern(A, T1, B, T2);
A = 0.0;
for (int k = 0; k < B.N(); ++k) {
typename MatrixB::row_type::ConstIterator BklIt = B[k].begin();
typename MatrixB::row_type::ConstIterator BklEnd = B[k].end();
for (; BklIt != BklEnd; ++BklIt) {
for (auto BklIt = B[k].begin(); BklIt != B[k].end(); ++BklIt) {
int l = BklIt.index();
typename TransformationMatrix::row_type::ConstIterator T1kiIt =
T1[k].begin();
typename TransformationMatrix::row_type::ConstIterator T1kiEnd =
T1[k].end();
for (; T1kiIt != T1kiEnd; ++T1kiIt) {
for (auto T1kiIt = T1[k].begin(); T1kiIt != T1[k].end(); ++T1kiIt) {
int i = T1kiIt.index();
typename TransformationMatrix::row_type::ConstIterator T2ljIt =
T2[l].begin();
typename TransformationMatrix::row_type::ConstIterator T2ljEnd =
T2[l].end();
for (; T2ljIt != T2ljEnd; ++T2ljIt) {
for (auto T2ljIt = T2[l].begin(); T2ljIt != T2[l].end(); ++T2ljIt) {
int j = T2ljIt.index();
MatrixBlockA Aij;
transformMatrix(Aij, *T1kiIt, *BklIt, *T2ljIt);
......@@ -327,23 +301,11 @@ namespace MatrixVector {
const TransformationMatrix& T2) {
Dune::MatrixIndexSet indices(T1.M(), T2.M());
for (int k = 0; k < B.N(); ++k) {
typename MatrixB::row_type::ConstIterator BklIt = B[k].begin();
typename MatrixB::row_type::ConstIterator BklEnd = B[k].end();
for (; BklIt != BklEnd; ++BklIt) {
for (auto BklIt = B[k].begin(); BklIt != B[k].end(); ++BklIt) {
int l = BklIt.index();
typename TransformationMatrix::row_type::ConstIterator T1kiIt =
T1[k].begin();
typename TransformationMatrix::row_type::ConstIterator T1kiEnd =
T1[k].end();
for (; T1kiIt != T1kiEnd; ++T1kiIt) {
for (auto T1kiIt = T1[k].begin(); T1kiIt != T1[k].end(); ++T1kiIt) {
int i = T1kiIt.index();
typename TransformationMatrix::row_type::ConstIterator T2ljIt =
T2[l].begin();
typename TransformationMatrix::row_type::ConstIterator T2ljEnd =
T2[l].end();
for (; T2ljIt != T2ljEnd; ++T2ljIt) {
for (auto T2ljIt = T2[l].begin(); T2ljIt != T2[l].end(); ++T2ljIt) {
int j = T2ljIt.index();
indices.add(i, j);
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment