zlartv function

void zlartv(
  1. int N,
  2. Array<Complex> X_,
  3. int INCX,
  4. Array<Complex> Y_,
  5. int INCY,
  6. Array<double> C_,
  7. Array<Complex> S_,
  8. int INCC,
)

Implementation

void zlartv(
  final int N,
  final Array<Complex> X_,
  final int INCX,
  final Array<Complex> Y_,
  final int INCY,
  final Array<double> C_,
  final Array<Complex> S_,
  final int INCC,
) {
  final X = X_.having();
  final Y = Y_.having();
  final C = C_.having();
  final S = S_.having();
  int I, IC, IX, IY;
  Complex XI, YI;

  IX = 1;
  IY = 1;
  IC = 1;
  for (I = 1; I <= N; I++) {
    XI = X[IX];
    YI = Y[IY];
    X[IX] = C[IC].toComplex() * XI + S[IC] * YI;
    Y[IY] = C[IC].toComplex() * YI - S[IC].conjugate() * XI;
    IX += INCX;
    IY += INCY;
    IC += INCC;
  }
}