MCPcopy Create free account
hub / github.com/numpy/numpy / drot_

Function drot_

numpy/linalg/lapack_lite/f2c_blas.c:7743–7816  ·  view source on GitHub ↗

Subroutine */

Source from the content-addressed store, hash-verified

7741} /* dnrm2_ */
7742
7743/* Subroutine */ int drot_(integer *n, doublereal *dx, integer *incx,
7744 doublereal *dy, integer *incy, doublereal *c__, doublereal *s)
7745{
7746 /* System generated locals */
7747 integer i__1;
7748
7749 /* Local variables */
7750 static integer i__, ix, iy;
7751 static doublereal dtemp;
7752
7753
7754/*
7755 Purpose
7756 =======
7757
7758 DROT applies a plane rotation.
7759
7760 Further Details
7761 ===============
7762
7763 jack dongarra, linpack, 3/11/78.
7764 modified 12/3/93, array(1) declarations changed to array(*)
7765
7766 =====================================================================
7767*/
7768
7769 /* Parameter adjustments */
7770 --dy;
7771 --dx;
7772
7773 /* Function Body */
7774 if (*n <= 0) {
7775 return 0;
7776 }
7777 if (*incx == 1 && *incy == 1) {
7778 goto L20;
7779 }
7780
7781/*
7782 code for unequal increments or equal increments not equal
7783 to 1
7784*/
7785
7786 ix = 1;
7787 iy = 1;
7788 if (*incx < 0) {
7789 ix = (-(*n) + 1) * *incx + 1;
7790 }
7791 if (*incy < 0) {
7792 iy = (-(*n) + 1) * *incy + 1;
7793 }
7794 i__1 = *n;
7795 for (i__ = 1; i__ <= i__1; ++i__) {
7796 dtemp = *c__ * dx[ix] + *s * dy[iy];
7797 dy[iy] = *c__ * dy[iy] - *s * dx[ix];
7798 dx[ix] = dtemp;
7799 ix += *incx;
7800 iy += *incy;

Callers 11

dbdsqr_Function · 0.85
dgeev_Function · 0.85
dlaed2_Function · 0.85
dlaed8_Function · 0.85
dlaeda_Function · 0.85
dlaexc_Function · 0.85
dlahqr_Function · 0.85
dlals0_Function · 0.85
dlalsd_Function · 0.85
dlasd2_Function · 0.85
dlasd7_Function · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected