Bartosz Kosiorek (@gang65) commented about dlls/gdiplus/matrix.c:
return Ok;
if (matrix->matrix[0] != 0 && matrix->matrix[3] != 0)
{
matrix->matrix[4] = -matrix->matrix[4] / matrix->matrix[0];
matrix->matrix[5] = -matrix->matrix[5] / matrix->matrix[3];
matrix->matrix[0] = 1 / matrix->matrix[0];
matrix->matrix[3] = 1 / matrix->matrix[3];
return Ok;
}
else
}return InvalidParameter;
- det = matrix_det(matrix);
We are calculating `matrix_det` only once (previously it was done also inside GdipIsMatrixInvertible)