zlat2c function

void zlat2c(
  1. String UPLO,
  2. int N,
  3. Matrix<Complex> A_,
  4. int LDA,
  5. Matrix<Complex> SA_,
  6. int LDSA,
  7. Box<int> INFO,
)

Implementation

void zlat2c(
  final String UPLO,
  final int N,
  final Matrix<Complex> A_,
  final int LDA,
  final Matrix<Complex> SA_,
  final int LDSA,
  final Box<int> INFO,
) {
  final A = A_.having(ld: LDA);
  final SA = SA_.having(ld: LDSA);
  int I, J;
  double RMAX;
  bool UPPER;

  RMAX = slamch('O');
  UPPER = lsame(UPLO, 'U');
  if (UPPER) {
    for (J = 1; J <= N; J++) {
      for (I = 1; I <= J; I++) {
        if ((A[I][J].real < -RMAX) ||
            (A[I][J].real > RMAX) ||
            (A[I][J].imaginary < -RMAX) ||
            (A[I][J].imaginary > RMAX)) {
          INFO.value = 1;
          return;
        }
        SA[I][J] = A[I][J];
      }
    }
  } else {
    for (J = 1; J <= N; J++) {
      for (I = J; I <= N; I++) {
        if ((A[I][J].real < -RMAX) ||
            (A[I][J].real > RMAX) ||
            (A[I][J].imaginary < -RMAX) ||
            (A[I][J].imaginary > RMAX)) {
          INFO.value = 1;
          return;
        }
        SA[I][J] = A[I][J];
      }
    }
  }
}