52template <
typename TX,
typename TY>
57 blas::real_type<TX, TY> c,
58 blas::scalar_type<TX, TY> s )
60 typedef scalar_type<TX, TY> scalar_t;
63 blas_error_if( n < 0 );
64 blas_error_if( incx == 0 );
65 blas_error_if( incy == 0 );
70 if (n == 0 || (c == 1 && s == zero))
73 if (incx == 1 && incy == 1) {
75 for (int64_t i = 0; i < n; ++i) {
76 scalar_t stmp = c*x[i] + s*y[i];
77 y[i] = c*y[i] - conj(s)*x[i];
83 int64_t ix = (incx > 0 ? 0 : (-n + 1)*incx);
84 int64_t iy = (incy > 0 ? 0 : (-n + 1)*incy);
85 for (int64_t i = 0; i < n; ++i) {
86 scalar_t stmp = c*x[ix] + s*y[iy];
87 y[iy] = c*y[iy] - conj(s)*x[ix];
void rot(int64_t n, TX *x, int64_t incx, TY *y, int64_t incy, blas::real_type< TX, TY > c, blas::scalar_type< TX, TY > s)
Apply plane rotation:
Definition rot.hh:53