HP MLIB User's Guide Vol. 1 7th Ed.
Chapter 2 Basic Vector Operations 61
Minimum of magnitudes SAMIN/DAMIN/IAMIN/SCAMIN/DZAMIN
Input n Number of elements of vector x to be used. If n ≤ 0, the
subprograms do not reference x.
x Array of length lenx = (n−1)×|incx|+1 containing the
n-vector x.
incx Increment for array x. x is stored forward in array x
with increment |incx|; that is, x
i
is stored in
x((i−1)×|incx|+1).
Use incx = 1 if the vector x is stored contiguously in
array x; that is, if x
i
is stored in x(i). Refer to “BLAS
Indexing Conventions” in the introduction to this
chapter.
Output s If n ≤ 0, then s = ∞, the largest representable machine
number. Otherwise, s is the minimum of the
magnitudes of the elements of x.
Fortran
Equivalent
REAL*4 FUNCTION SAMIN (N,X,INCX)
REAL*4 X(*)
SAMIN = ∞
INCXA = ABS ( INCX )
IX = 1
DO 10 I = 1, N
SAMIN = MIN ( SAMIN , ABS ( X(IX) ) )
IX = IX + INCXA
10 CONTINUE
RETURN
END
Example Compute the minimum of the magnitudes of the elements of a REAL*8 vector
x, where x is a vector 10 elements long stored in a one-dimensional array X of
dimension 20.
INTEGER*4 N,INCX
REAL*8 S,DAMIN,X(20)
N = 10
INCX = 1
S = DAMIN (N,X,INCX)