### BLAS Level 1 Routines

?asum computes the sum of magnitudes of all vector elements or, for a complex vector `x`, the sum
`res` = |Re`x`1| + |Im`x`1| + |Re`x`2| + |Im`x`2| + ... + |Re`xn`| + |Im`xn`|, where `x` is a vector of order `n`.
``` res = sasum (n, x, incx) res = scasum (n, x, incx) res = dasum (n, x, incx) res = dzasum (n, x, incx) ```

?axpy computes a vector-scalar product and adds the result to a vector.
``` call saxpy (n, a, x, incx, y, incy) call daxpy (n, a, x, incx, y, incy) call caxpy (n, a, x, incx, y, incy) call zaxpy (n, a, x, incx, y, incy) ```

?copy copies a vector to another vector.
``` call scopy (n, x, incx, y, incy) call dcopy (n, x, incx, y, incy) call ccopy (n, x, incx, y, incy) call zcopy (n, x, incx, y, incy) ```

?dot computes a vector-vector dot product.
``` res = sdot (n, x, incx, y, incy) res = ddot (n, x, incx, y, incy) ```

?sdot computes a vector-vector dot product with extended precision.
``` res = sdsdot (n, sb, sx, incx, sy, incy) res = dsdot (n, sx, incx, sy, incy) ```

?dotc computes a dot product of a conjugated vector with another vector.
``` res = cdotc (n, x, incx, y, incy) res = zdotc (n, x, incx, y, incy) ```

?dotu computes a vector-vector dot product without complex conjugation.
``` res = cdotu (n, x, incx, y, incy) res = zdotu (n, x, incx, y, incy) ```

?nrm2 computes the Euclidean norm of a vector.
``` res = snrm2 (n, x, incx) res = dnrm2 (n, x, incx) res = scnrm2 (n, x, incx) res = dznrm2 (n, x, incx) ```

?rot performs rotation of points in the plane.
``` call srot (n, x, incx, y, incy, c, s) call drot (n, x, incx, y, incy, c, s) call csrot (n, x, incx, y, incy, c, s) call zdrot (n, x, incx, y, incy, c, s) ```

?rotg computes parameters for a Givens rotation.
``` call srotg (a, b, c, s) call drotg (a, b, c, s) call crotg (a, b, c, s) call zrotg (a, b, c, s) ```

?rotm performs rotation of points in the modified plane.
``` call srotm (n, x, incx, y, incy, param) call drotm (n, x, incx, y, incy, param) ```

Depending on `?PARAM(1)`, the routine uses the following values for hij:
 `?PARAM(1)` h11 h21 h12 h22 -1.0 `?PARAM(2)` `?PARAM(3)` `?PARAM(4)` `?PARAM(5)` 0.0 1.0 `?PARAM(3)` `?PARAM(4)` 1.0 1.0 `?PARAM(2)` -1.0 1.0 `?PARAM(5)` -2.0 1.0 0.0 0.0 1.0

?rotmg computes the modified parameters for a Givens rotation.
``` call srotmg (d1, d2, x1, y1, param) call drotmg (d1, d2, x1, y1, param) ```

?scal computes a vector by a scalar product.
``` call sscal (n, a, x, incx) call dscal (n, a, x, incx) call cscal (n, a, x, incx) call zscal (n, a, x, incx) call csscal (n, a, x, incx) call zdscal (n, a, x, incx) ```

?swap swaps a vector with another vector.
``` call sswap (n, x, incx, y, incy) call dswap (n, x, incx, y, incy) call cswap (n, x, incx, y, incy) call zswap (n, x, incx, y, incy) ```

i?amax finds the element of a vector that has the largest absolute value.
``` index = isamax (n, x, incx) index = idamax (n, x, incx) index = icamax (n, x, incx) index = izamax (n, x, incx) ```

i?amin finds the element of a vector that has the smallest absolute value.
``` index = isamin (n, x, incx) index = idamin (n, x, incx) index = icamin (n, x, incx) index = izamin (n, x, incx) ```

* Legal Information © 1999, 2002-2004, Intel Corporation