further big perf improvement in Inverse

This commit is contained in:
Benoit Jacob 2008-08-04 23:47:09 +00:00
parent 79a0feee68
commit e741b7beca

View File

@ -65,9 +65,8 @@ struct ei_compute_inverse_in_general_case<MatrixType, RowMajor>
inverse.row(size-1) /= matrix(size-1,size-1); inverse.row(size-1) /= matrix(size-1,size-1);
for(int k = size-1; k >= 1; k--) for(int k = size-1; k >= 1; k--)
{ for(int row = 0; row < k; row++)
inverse.block(0,0,k,size) -= matrix.col(k).start(k) * inverse.row(k); inverse.row(row) -= inverse.row(k) * matrix.coeff(row,k);
}
} }
}; };
@ -103,9 +102,8 @@ struct ei_compute_inverse_in_general_case<MatrixType, ColMajor>
inverse.col(size-1) /= matrix(size-1,size-1); inverse.col(size-1) /= matrix(size-1,size-1);
for(int k = size-1; k >= 1; k--) for(int k = size-1; k >= 1; k--)
{ for(int col = 0; col < k; col++)
inverse.block(0,0,size,k) -= inverse.col(k) * matrix.row(k).start(k); inverse.col(col) -= inverse.col(k) * matrix.coeff(k,col);
}
} }
}; };