dnrm2(3f) - [BLAS:SINGLE_BLAS_LEVEL1] returns the euclidean norm of
a vector via the function name
 double precision function dnrm2(n,x,incx)
   .. Scalar Arguments ..
   integer,intent(in) :: incx, n
   ..
   .. Array Arguments ..
   real(wp),intent(in) :: x(*)
    ..
DNRM2 returns the euclidean norm of a vector via the function name, so that
 DNRM2 := sqrt( x'*x )
N number of elements in input vector(s) X X is DOUBLE PRECISION array, dimension ( 1 + ( N - 1 )*abs( INCX ) ) INCX INCX is INTEGER, storage spacing between elements of X
        If INCX > 0, X(1+(i-1)*INCX) = x(i) for 1 <= i <= n
        If INCX < 0, X(1-(n-i)*INCX) = x(i) for 1 <= i <= n
        If INCX = 0, x isn't a vector so there is no need to call
        this subroutine. If you call it anyway, it will count x(1)
        in the vector norm N times.
date:August 2016
\par Contributors:
Weslley Pereira, University of Colorado Denver, USA
FURTHER DETAILS
Anderson E. (2017) Algorithm 978: Safe Scaling in the Level 1 BLAS ACM Trans Math Softw 44:1–28 https://doi.org/10.1145/3061665
Blue, James L. (1978) A Portable Fortran Program to Find the Euclidean Norm of a Vector ACM Trans Math Softw 4:15–23 https://doi.org/10.1145/355769.355771
Online html documentation available at
http://www.netlib.org/lapack/explore-html/
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | n | |||
| real(kind=wp), | intent(in) | :: | x(*) | |||
| integer, | intent(in) | :: | incx | 
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| real(kind=wp), | public | :: | abig | ||||
| real(kind=wp), | public | :: | amed | ||||
| real(kind=wp), | public | :: | asml | ||||
| real(kind=wp), | public | :: | ax | ||||
| integer, | public | :: | i | ||||
| integer, | public | :: | ix | ||||
| real(kind=wp), | public, | parameter | :: | maxn | = | huge(0.0_wp) | |
| logical, | public | :: | notbig | ||||
| real(kind=wp), | public, | parameter | :: | one | = | 1.0_wp | |
| real(kind=wp), | public, | parameter | :: | sbig | = | real(radix(0._wp), wp)**(-ceiling((maxexponent(0._wp)-digits(0._wp)+1)*0.5_wp)) | |
| real(kind=wp), | public | :: | scl | ||||
| real(kind=wp), | public, | parameter | :: | ssml | = | real(radix(0._wp), wp)**(-floor((minexponent(0._wp)-1)*0.5_wp)) | |
| real(kind=wp), | public | :: | sumsq | ||||
| real(kind=wp), | public, | parameter | :: | tbig | = | real(radix(0._wp), wp)**floor((maxexponent(0._wp)-digits(0._wp)+1)*0.5_wp) | |
| real(kind=wp), | public, | parameter | :: | tsml | = | real(radix(0._wp), wp)**ceiling((minexponent(0._wp)-1)*0.5_wp) | |
| integer, | public, | parameter | :: | wp | = | kind(1.d0) | |
| real(kind=wp), | public | :: | ymax | ||||
| real(kind=wp), | public | :: | ymin | ||||
| real(kind=wp), | public, | parameter | :: | zero | = | 0.0_wp |