📄 dzsum1.c
字号:
#include "slu_Cnames.h"#include "slu_dcomplex.h"double dzsum1_(int *n, doublecomplex *cx, int *incx){/* -- LAPACK auxiliary routine (version 2.0) -- Univ. of Tennessee, Univ. of California Berkeley, NAG Ltd., Courant Institute, Argonne National Lab, and Rice University October 31, 1992 Purpose ======= DZSUM1 takes the sum of the absolute values of a complex vector and returns a double precision result. Based on DZASUM from the Level 1 BLAS. The change is to use the 'genuine' absolute value. Contributed by Nick Higham for use with ZLACON. Arguments ========= N (input) INT The number of elements in the vector CX. CX (input) COMPLEX*16 array, dimension (N) The vector whose elements will be summed. INCX (input) INT The spacing between successive values of CX. INCX > 0. ===================================================================== */ /* Builtin functions */ double z_abs(doublecomplex *); /* Local variables */ int i, nincx; double stemp;#define CX(I) cx[(I)-1] stemp = 0.; if (*n <= 0) { return stemp; } if (*incx == 1) { goto L20; } /* CODE FOR INCREMENT NOT EQUAL TO 1 */ nincx = *n * *incx; for (i = 1; *incx < 0 ? i >= nincx : i <= nincx; i += *incx) { /* NEXT LINE MODIFIED. */ stemp += z_abs(&CX(i));/* L10: */ } return stemp; /* CODE FOR INCREMENT EQUAL TO 1 */L20: for (i = 1; i <= *n; ++i) { /* NEXT LINE MODIFIED. */ stemp += z_abs(&CX(i));/* L30: */ } return stemp; /* End of DZSUM1 */} /* dzsum1_ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -