idamax.f

来自「贝尔实验室多年开发的矩阵计算程序库的说明文件」· F 代码 · 共 54 行

F
54
字号
      INTEGER FUNCTION IDAMAX(N,DX,INCX)*     .. Scalar Arguments ..      INTEGER INCX,N*     ..*     .. Array Arguments ..      DOUBLE PRECISION DX(*)*     ..**  Purpose*  =======**     finds the index of element having max. absolute value.*     jack dongarra, linpack, 3/11/78.*     modified 3/93 to return if incx .le. 0.*     modified 12/3/93, array(1) declarations changed to array(*)***     .. Local Scalars ..      DOUBLE PRECISION DMAX      INTEGER I,IX*     ..*     .. Intrinsic Functions ..      INTRINSIC DABS*     ..      IDAMAX = 0      IF (N.LT.1 .OR. INCX.LE.0) RETURN      IDAMAX = 1      IF (N.EQ.1) RETURN      IF (INCX.EQ.1) GO TO 20**        code for increment not equal to 1*      IX = 1      DMAX = DABS(DX(1))      IX = IX + INCX      DO 10 I = 2,N          IF (DABS(DX(IX)).LE.DMAX) GO TO 5          IDAMAX = I          DMAX = DABS(DX(IX))    5     IX = IX + INCX   10 CONTINUE      RETURN**        code for increment equal to 1*   20 DMAX = DABS(DX(1))      DO 30 I = 2,N          IF (DABS(DX(I)).LE.DMAX) GO TO 30          IDAMAX = I          DMAX = DABS(DX(I))   30 CONTINUE      RETURN      END

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?