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

📄 dnrm2.f

📁 网络带宽测试工具
💻 F
字号:
      Function dnrm2( N, X, INCX )               Result( norm2 )! ----------------------------------------------------------------------      Use      Numerics      Implicit None*     .. Scalar Arguments ..      INTEGER                           INCX, N*     .. Array Arguments ..      Real(l_)                  X( * )*     ..**  dnrm2 returns the euclidean norm of a vector via the function*  name, so that**     dnrm2 := sqrt( x'*x )****  -- This version written on 25-October-1982.*     Modified on 14-October-1993 to inline the call to DLASSQ.*     Sven Hammarling, Nag Ltd.***     .. Parameters ..      Real(l_)      ONE         , ZERO      PARAMETER           ( ONE = 1.0_l_, ZERO = 0.0_l_ )*     .. Local Scalars ..      INTEGER               IX      Real(l_)      ABSXI, NORM, SCALE, SSQ, norm2*     .. Intrinsic Functions ..      INTRINSIC             ABS, SQRT*     ..*     .. Executable Statements ..      IF( N.LT.1 .OR. INCX.LT.1 )THEN         NORM  = ZERO      ELSE IF( N.EQ.1 )THEN         NORM  = ABS( X( 1 ) )      ELSE         SCALE = ZERO         SSQ   = ONE*        The following loop is equivalent to this call to the LAPACK*        auxiliary routine:*        CALL DLASSQ( N, X, INCX, SCALE, SSQ )*         DO 10, IX = 1, 1 + ( N - 1 )*INCX, INCX            IF( X( IX ).NE.ZERO )THEN               ABSXI = ABS( X( IX ) )               IF( SCALE.LT.ABSXI )THEN                  SSQ   = ONE   + SSQ*( SCALE/ABSXI )**2                  SCALE = ABSXI               ELSE                  SSQ   = SSQ   +     ( ABSXI/SCALE )**2               END IF            END IF   10    CONTINUE         NORM  = SCALE * SQRT( SSQ )      END IF*      norm2 = NORM      RETURN**     End of norm2.*      END

⌨️ 快捷键说明

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