📄 csrot.f
字号:
SUBROUTINE CSROT( N, CX, INCX, CY, INCY, C, S )** .. Scalar Arguments .. INTEGER INCX, INCY, N REAL C, S* ..* .. Array Arguments .. COMPLEX CX( * ), CY( * )* ..** Purpose* =======** Applies a plane rotation, where the cos and sin (c and s) are real* and the vectors cx and cy are complex.* jack dongarra, linpack, 3/11/78.** Arguments* ==========** N (input) INTEGER* On entry, N specifies the order of the vectors cx and cy.* N must be at least zero.* Unchanged on exit.** CX (input) COMPLEX array, dimension at least* ( 1 + ( N - 1 )*abs( INCX ) ).* Before entry, the incremented array CX must contain the n* element vector cx. On exit, CX is overwritten by the updated* vector cx.** INCX (input) INTEGER* On entry, INCX specifies the increment for the elements of* CX. INCX must not be zero.* Unchanged on exit.** CY (input) COMPLEX array, dimension at least* ( 1 + ( N - 1 )*abs( INCY ) ).* Before entry, the incremented array CY must contain the n* element vector cy. On exit, CY is overwritten by the updated* vector cy.** INCY (input) INTEGER* On entry, INCY specifies the increment for the elements of* CY. INCY must not be zero.* Unchanged on exit.** C (input) REAL* On entry, C specifies the cosine, cos.* Unchanged on exit.** S (input) REAL* On entry, S specifies the sine, sin.* Unchanged on exit.** =====================================================================** .. Local Scalars .. INTEGER I, IX, IY COMPLEX CTEMP* ..* .. Executable Statements ..* IF( N.LE.0 ) $ RETURN IF( INCX.EQ.1 .AND. INCY.EQ.1 ) $ GO TO 20** code for unequal increments or equal increments not equal* to 1* IX = 1 IY = 1 IF( INCX.LT.0 ) $ IX = ( -N+1 )*INCX + 1 IF( INCY.LT.0 ) $ IY = ( -N+1 )*INCY + 1 DO 10 I = 1, N CTEMP = C*CX( IX ) + S*CY( IY ) CY( IY ) = C*CY( IY ) - S*CX( IX ) CX( IX ) = CTEMP IX = IX + INCX IY = IY + INCY 10 CONTINUE RETURN** code for both increments equal to 1* 20 DO 30 I = 1, N CTEMP = C*CX( I ) + S*CY( I ) CY( I ) = C*CY( I ) - S*CX( I ) CX( I ) = CTEMP 30 CONTINUE RETURN END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -