ilazlr function

int ilazlr(
  1. int M,
  2. int N,
  3. Matrix<Complex> A,
  4. int LDA,
)

Implementation

int ilazlr(
  final int M,
  final int N,
  final Matrix<Complex> A,
  final int LDA,
) {
  int I, J;

  // Quick test for the common case where one corner is non-zero.
  if (M == 0) {
    return M;
  } else if (A[M][1] != Complex.zero || A[M][N] != Complex.zero) {
    return M;
  } else {
    // Scan up each column tracking the last zero row seen.
    var result = 0;
    for (J = 1; J <= N; J++) {
      I = M;
      while ((A[max(I, 1)][J] == Complex.zero) && (I >= 1)) {
        I--;
      }
      result = max(result, I);
    }
    return result;
  }
}