⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ddot.f

📁 贝尔实验室多年开发的矩阵计算程序库的说明文件
💻 F
字号:
      DOUBLE PRECISION FUNCTION DDOT(N,DX,INCX,DY,INCY)*     .. Scalar Arguments ..      INTEGER INCX,INCY,N*     ..*     .. Array Arguments ..      DOUBLE PRECISION DX(*),DY(*)*     ..**  Purpose*  =======**     forms the dot product of two vectors.*     uses unrolled loops for increments equal to one.*     jack dongarra, linpack, 3/11/78.*     modified 12/3/93, array(1) declarations changed to array(*)***     .. Local Scalars ..      DOUBLE PRECISION DTEMP      INTEGER I,IX,IY,M,MP1*     ..*     .. Intrinsic Functions ..      INTRINSIC MOD*     ..      DDOT = 0.0d0      DTEMP = 0.0d0      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          DTEMP = DTEMP + DX(IX)*DY(IY)          IX = IX + INCX          IY = IY + INCY   10 CONTINUE      DDOT = DTEMP      RETURN**        code for both increments equal to 1***        clean-up loop*   20 M = MOD(N,5)      IF (M.EQ.0) GO TO 40      DO 30 I = 1,M          DTEMP = DTEMP + DX(I)*DY(I)   30 CONTINUE      IF (N.LT.5) GO TO 60   40 MP1 = M + 1      DO 50 I = MP1,N,5          DTEMP = DTEMP + DX(I)*DY(I) + DX(I+1)*DY(I+1) +     +            DX(I+2)*DY(I+2) + DX(I+3)*DY(I+3) + DX(I+4)*DY(I+4)   50 CONTINUE   60 DDOT = DTEMP      RETURN      END

⌨️ 快捷键说明

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