Browse Source

(Strictly)Upper/Lower Triangle(): Now using iterations that only go through the necessary elements instead of having nested if statements. Reduced nesting and improved efficiency.

la-knuth
Alexander Karatarakis 16 years ago
committed by Marcus Cuda
parent
commit
9a4441c946
  1. 21
      src/Numerics/LinearAlgebra/Generic/Matrix.cs

21
src/Numerics/LinearAlgebra/Generic/Matrix.cs

@ -519,12 +519,9 @@ namespace MathNet.Numerics.LinearAlgebra.Generic
for (var row = 0; row < RowCount; row++) for (var row = 0; row < RowCount; row++)
{ {
for (var column = 0; column < ColumnCount; column++) for (var column = row; column < ColumnCount; column++)
{ {
if (row <= column) ret.At(row, column, At(row, column));
{
ret.At(row, column, At(row, column));
}
} }
} }
@ -751,12 +748,9 @@ namespace MathNet.Numerics.LinearAlgebra.Generic
for (var row = 0; row < RowCount; row++) for (var row = 0; row < RowCount; row++)
{ {
for (var column = 0; column < ColumnCount; column++) for (var column = 0; column < row; column++)
{ {
if (row > column) result.At(row, column, At(row, column));
{
result.At(row, column, At(row, column));
}
} }
} }
@ -801,12 +795,9 @@ namespace MathNet.Numerics.LinearAlgebra.Generic
for (var row = 0; row < RowCount; row++) for (var row = 0; row < RowCount; row++)
{ {
for (var column = 0; column < ColumnCount; column++) for (var column = row + 1; column < ColumnCount; column++)
{ {
if (row < column) result.At(row, column, At(row, column));
{
result.At(row, column, At(row, column));
}
} }
} }

Loading…
Cancel
Save