|
| pure real(sp) function, public | la_blas_level1::la_sasum (n, sx, incx) |
| | SASUM: takes the sum of the absolute values. uses unrolled loops for increment equal to one.
|
| |
| pure real(dp) function, public | la_blas_level1::la_dasum (n, dx, incx) |
| | DASUM: takes the sum of the absolute values.
|
| |
| pure real(qp) function, public | la_blas_level1::la_qasum (n, qx, incx) |
| | QASUM: takes the sum of the absolute values.
|
| |
| pure subroutine, public | la_blas_level1::la_saxpy (n, sa, sx, incx, sy, incy) |
| | SAXPY: constant times a vector plus a vector. uses unrolled loops for increments equal to one.
|
| |
| pure subroutine, public | la_blas_level1::la_daxpy (n, da, dx, incx, dy, incy) |
| | DAXPY: constant times a vector plus a vector. uses unrolled loops for increments equal to one.
|
| |
| pure subroutine, public | la_blas_level1::la_qaxpy (n, qa, qx, incx, qy, incy) |
| | QAXPY: constant times a vector plus a vector. uses unrolled loops for increments equal to one.
|
| |
| pure subroutine, public | la_blas_level1::la_scopy (n, sx, incx, sy, incy) |
| | SCOPY: copies a vector, x, to a vector, y. uses unrolled loops for increments equal to 1.
|
| |
| pure subroutine, public | la_blas_level1::la_dcopy (n, dx, incx, dy, incy) |
| | DCOPY: copies a vector, x, to a vector, y. uses unrolled loops for increments equal to 1.
|
| |
| pure subroutine, public | la_blas_level1::la_qcopy (n, qx, incx, qy, incy) |
| | QCOPY: copies a vector, x, to a vector, y. uses unrolled loops for increments equal to 1.
|
| |
| pure real(sp) function, public | la_blas_level1::la_sdot (n, sx, incx, sy, incy) |
| | SDOT: forms the dot product of two vectors. uses unrolled loops for increments equal to one.
|
| |
| pure real(dp) function, public | la_blas_level1::la_ddot (n, dx, incx, dy, incy) |
| | DDOT: forms the dot product of two vectors. uses unrolled loops for increments equal to one.
|
| |
| pure real(qp) function, public | la_blas_level1::la_qdot (n, qx, incx, qy, incy) |
| | QDOT: forms the dot product of two vectors. uses unrolled loops for increments equal to one.
|
| |
| pure real(sp) function, public | la_blas_level1::la_snrm2 (n, x, incx) |
| | !
|
| |
| pure real(dp) function, public | la_blas_level1::la_dnrm2 (n, x, incx) |
| | !
|
| |
| pure real(qp) function, public | la_blas_level1::la_qnrm2 (n, x, incx) |
| | !
|
| |
| pure subroutine, public | la_blas_level1::la_srot (n, sx, incx, sy, incy, c, s) |
| | applies a plane rotation.
|
| |
| pure subroutine, public | la_blas_level1::la_drot (n, dx, incx, dy, incy, c, s) |
| | DROT: applies a plane rotation.
|
| |
| pure subroutine, public | la_blas_level1::la_qrot (n, qx, incx, qy, incy, c, s) |
| | QROT: applies a plane rotation.
|
| |
| pure subroutine, public | la_blas_level1::la_srotg (a, b, c, s) |
| | !
|
| |
| pure subroutine, public | la_blas_level1::la_drotg (a, b, c, s) |
| | !
|
| |
| pure subroutine, public | la_blas_level1::la_qrotg (a, b, c, s) |
| | !
|
| |
| pure subroutine, public | la_blas_level1::la_srotm (n, sx, incx, sy, incy, sparam) |
| | APPLY THE MODIFIED GIVENS TRANSFORMATION, H, TO THE 2 BY N MATRIX (SX**T) , WHERE **T INDICATES TRANSPOSE. THE ELEMENTS OF SX ARE IN (SX**T) SX(LX+I*INCX), I = 0 TO N-1, WHERE LX = 1 IF INCX >= 0, ELSE LX = (-INCX)*N, AND SIMILARLY FOR SY USING USING LY AND INCY. WITH SPARAM(1)=SFLAG, H HAS ONE OF THE FOLLOWING FORMS.. SFLAG=-1._sp SFLAG=0._sp SFLAG=1._sp SFLAG=-2.E0 (SH11 SH12) (1._sp SH12) (SH11 1._sp) (1._sp 0._sp) H=( ) ( ) ( ) ( ) (SH21 SH22), (SH21 1._sp), (-1._sp SH22), (0._sp 1._sp). SEE SROTMG FOR A DESCRIPTION OF DATA STORAGE IN SPARAM.
|
| |
| pure subroutine, public | la_blas_level1::la_drotm (n, dx, incx, dy, incy, dparam) |
| | APPLY THE MODIFIED GIVENS TRANSFORMATION, H, TO THE 2 BY N MATRIX (DX**T) , WHERE **T INDICATES TRANSPOSE. THE ELEMENTS OF DX ARE IN (DY**T) DX(LX+I*INCX), I = 0 TO N-1, WHERE LX = 1 IF INCX >= 0, ELSE LX = (-INCX)*N, AND SIMILARLY FOR SY USING LY AND INCY. WITH DPARAM(1)=DFLAG, H HAS ONE OF THE FOLLOWING FORMS.. DFLAG=-1._dp DFLAG=0._dp DFLAG=1._dp DFLAG=-2.D0 (DH11 DH12) (1._dp DH12) (DH11 1._dp) (1._dp 0._dp) H=( ) ( ) ( ) ( ) (DH21 DH22), (DH21 1._dp), (-1._dp DH22), (0._dp 1._dp). SEE DROTMG FOR A DESCRIPTION OF DATA STORAGE IN DPARAM.
|
| |
| pure subroutine, public | la_blas_level1::la_qrotm (n, qx, incx, qy, incy, qparam) |
| | APPLY THE MODIFIED GIVENS TRANSFORMATION, H, TO THE 2 BY N MATRIX (DX**T) , WHERE **T INDICATES TRANSPOSE. THE ELEMENTS OF DX ARE IN (DY**T) DX(LX+I*INCX), I = 0 TO N-1, WHERE LX = 1 IF INCX >= 0, ELSE LX = (-INCX)*N, AND SIMILARLY FOR SY USING LY AND INCY. WITH DPARAM(1)=DFLAG, H HAS ONE OF THE FOLLOWING FORMS.. DFLAG=-1._qp DFLAG=0._qp DFLAG=1._qp DFLAG=-2.D0 (DH11 DH12) (1._qp DH12) (DH11 1._qp) (1._qp 0._qp) H=( ) ( ) ( ) ( ) (DH21 DH22), (DH21 1._qp), (-1._qp DH22), (0._qp 1._qp). SEE QROTMG FOR A DESCRIPTION OF DATA STORAGE IN DPARAM.
|
| |
| pure subroutine, public | la_blas_level1::la_srotmg (sd1, sd2, sx1, sy1, sparam) |
| | CONSTRUCT THE MODIFIED GIVENS TRANSFORMATION MATRIX H WHICH ZEROS THE SECOND COMPONENT OF THE 2-VECTOR (SQRT(SD1)*SX1,SQRT(SD2) SY2)**T. WITH SPARAM(1)=SFLAG, H HAS ONE OF THE FOLLOWING FORMS.. SFLAG=-1._sp SFLAG=0._sp SFLAG=1._sp SFLAG=-2.E0 (SH11 SH12) (1._sp SH12) (SH11 1._sp) (1._sp 0._sp) H=( ) ( ) ( ) ( ) (SH21 SH22), (SH21 1._sp), (-1._sp SH22), (0._sp 1._sp). LOCATIONS 2-4 OF SPARAM CONTAIN SH11,SH21,SH12, AND SH22 RESPECTIVELY. (VALUES OF 1._sp, -1._sp, OR 0._sp IMPLIED BY THE VALUE OF SPARAM(1) ARE NOT STORED IN SPARAM.) THE VALUES OF GAMSQ AND RGAMSQ SET IN THE DATA STATEMENT MAY BE INEXACT. THIS IS OK AS THEY ARE ONLY USED FOR TESTING THE SIZE OF SD1 AND SD2. ALL ACTUAL SCALING OF DATA IS DONE USING GAM.
|
| |
| pure subroutine, public | la_blas_level1::la_drotmg (dd1, dd2, dx1, dy1, dparam) |
| | CONSTRUCT THE MODIFIED GIVENS TRANSFORMATION MATRIX H WHICH ZEROS THE SECOND COMPONENT OF THE 2-VECTOR (SQRT(DD1)*DX1,SQRT(DD2) DY2)**T. WITH DPARAM(1)=DFLAG, H HAS ONE OF THE FOLLOWING FORMS.. DFLAG=-1._dp DFLAG=0._dp DFLAG=1._dp DFLAG=-2.D0 (DH11 DH12) (1._dp DH12) (DH11 1._dp) (1._dp 0._dp) H=( ) ( ) ( ) ( ) (DH21 DH22), (DH21 1._dp), (-1._dp DH22), (0._dp 1._dp). LOCATIONS 2-4 OF DPARAM CONTAIN DH11, DH21, DH12, AND DH22 RESPECTIVELY. (VALUES OF 1._dp, -1._dp, OR 0._dp IMPLIED BY THE VALUE OF DPARAM(1) ARE NOT STORED IN DPARAM.) THE VALUES OF GAMSQ AND RGAMSQ SET IN THE DATA STATEMENT MAY BE INEXACT. THIS IS OK AS THEY ARE ONLY USED FOR TESTING THE SIZE OF DD1 AND DD2. ALL ACTUAL SCALING OF DATA IS DONE USING GAM.
|
| |
| pure subroutine, public | la_blas_level1::la_qrotmg (qd1, qd2, qx1, qy1, qparam) |
| | CONSTRUCT THE MODIFIED GIVENS TRANSFORMATION MATRIX H WHICH ZEROS THE SECOND COMPONENT OF THE 2-VECTOR (SQRT(DD1)*DX1,SQRT(DD2) DY2)**T. WITH DPARAM(1)=DFLAG, H HAS ONE OF THE FOLLOWING FORMS.. DFLAG=-1._qp DFLAG=0._qp DFLAG=1._qp DFLAG=-2.D0 (DH11 DH12) (1._qp DH12) (DH11 1._qp) (1._qp 0._qp) H=( ) ( ) ( ) ( ) (DH21 DH22), (DH21 1._qp), (-1._qp DH22), (0._qp 1._qp). LOCATIONS 2-4 OF DPARAM CONTAIN DH11, DH21, DH12, AND DH22 RESPECTIVELY. (VALUES OF 1._qp, -1._qp, OR 0._qp IMPLIED BY THE VALUE OF DPARAM(1) ARE NOT STORED IN DPARAM.) THE VALUES OF GAMSQ AND RGAMSQ SET IN THE DATA STATEMENT MAY BE INEXACT. THIS IS OK AS THEY ARE ONLY USED FOR TESTING THE SIZE OF DD1 AND DD2. ALL ACTUAL SCALING OF DATA IS DONE USING GAM.
|
| |
| pure subroutine, public | la_blas_level1::la_sscal (n, sa, sx, incx) |
| | SSCAL: scales a vector by a constant. uses unrolled loops for increment equal to 1.
|
| |
| pure subroutine, public | la_blas_level1::la_dscal (n, da, dx, incx) |
| | DSCAL: scales a vector by a constant. uses unrolled loops for increment equal to 1.
|
| |
| pure subroutine, public | la_blas_level1::la_qscal (n, qa, qx, incx) |
| | QSCAL: scales a vector by a constant. uses unrolled loops for increment equal to 1.
|
| |
| pure real(dp) function, public | la_blas_level1::la_dsdot (n, sx, incx, sy, incy) |
| | Compute the inner product of two vectors with extended precision accumulation and result. Returns D.P. dot product accumulated in D.P., for S.P. SX and SY DSDOT: = sum for I = 0 to N-1 of SX(LX+I*INCX) * SY(LY+I*INCY), where LX = 1 if INCX >= 0, else LX = 1+(1-N)*INCX, and LY is defined in a similar way using INCY.
|
| |
| pure real(qp) function, public | la_blas_level1::la_qddot (n, sx, incx, sy, incy) |
| | Compute the inner product of two vectors with extended precision accumulation and result. Returns D.P. dot product accumulated in D.P., for S.P. SX and SY QDDOT: = sum for I = 0 to N-1 of SX(LX+I*INCX) * SY(LY+I*INCY), where LX = 1 if INCX >= 0, else LX = 1+(1-N)*INCX, and LY is defined in a similar way using INCY.
|
| |
| pure subroutine, public | la_blas_level1::la_sswap (n, sx, incx, sy, incy) |
| | SSWAP: interchanges two vectors. uses unrolled loops for increments equal to 1.
|
| |
| pure subroutine, public | la_blas_level1::la_dswap (n, dx, incx, dy, incy) |
| | DSWAP: interchanges two vectors. uses unrolled loops for increments equal to 1.
|
| |
| pure subroutine, public | la_blas_level1::la_qswap (n, qx, incx, qy, incy) |
| | QSWAP: interchanges two vectors. uses unrolled loops for increments equal to 1.
|
| |
| pure real(sp) function, public | la_blas_level1::la_scasum (n, cx, incx) |
| | SCASUM: takes the sum of the (|Re(.)| + |Im(.)|)'s of a complex vector and returns a single precision result.
|
| |
| pure real(dp) function, public | la_blas_level1::la_dzasum (n, zx, incx) |
| | DZASUM: takes the sum of the (|Re(.)| + |Im(.)|)'s of a complex vector and returns a double precision result.
|
| |
| pure real(qp) function, public | la_blas_level1::la_qwasum (n, wx, incx) |
| | QWASUM: takes the sum of the (|Re(.)| + |Im(.)|)'s of a complex vector and returns a quad precision result.
|
| |
| pure real(sp) function, public | la_blas_level1::la_scnrm2 (n, x, incx) |
| | !
|
| |
| pure real(dp) function, public | la_blas_level1::la_dznrm2 (n, x, incx) |
| | !
|
| |
| pure real(qp) function, public | la_blas_level1::la_qwnrm2 (n, x, incx) |
| | !
|
| |
| pure subroutine, public | la_blas_level1::la_caxpy (n, ca, cx, incx, cy, incy) |
| | CAXPY: constant times a vector plus a vector.
|
| |
| pure subroutine, public | la_blas_level1::la_zaxpy (n, za, zx, incx, zy, incy) |
| | ZAXPY: constant times a vector plus a vector.
|
| |
| pure subroutine, public | la_blas_level1::la_waxpy (n, wa, wx, incx, wy, incy) |
| | WAXPY: constant times a vector plus a vector.
|
| |
| pure subroutine, public | la_blas_level1::la_ccopy (n, cx, incx, cy, incy) |
| | CCOPY: copies a vector x to a vector y.
|
| |
| pure subroutine, public | la_blas_level1::la_zcopy (n, zx, incx, zy, incy) |
| | ZCOPY: copies a vector, x, to a vector, y.
|
| |
| pure subroutine, public | la_blas_level1::la_wcopy (n, wx, incx, wy, incy) |
| | WCOPY: copies a vector, x, to a vector, y.
|
| |
| pure complex(sp) function, public | la_blas_level1::la_cdotc (n, cx, incx, cy, incy) |
| | CDOTC: forms the dot product of two complex vectors CDOTC = X^H * Y.
|
| |
| pure complex(dp) function, public | la_blas_level1::la_zdotc (n, zx, incx, zy, incy) |
| | ZDOTC: forms the dot product of two complex vectors ZDOTC = X^H * Y.
|
| |
| pure complex(qp) function, public | la_blas_level1::la_wdotc (n, wx, incx, wy, incy) |
| | WDOTC: forms the dot product of two complex vectors WDOTC = X^H * Y.
|
| |
| pure complex(sp) function, public | la_blas_level1::la_cdotu (n, cx, incx, cy, incy) |
| | CDOTU: forms the dot product of two complex vectors CDOTU = X^T * Y.
|
| |
| pure complex(dp) function, public | la_blas_level1::la_zdotu (n, zx, incx, zy, incy) |
| | ZDOTU: forms the dot product of two complex vectors ZDOTU = X^T * Y.
|
| |
| pure complex(qp) function, public | la_blas_level1::la_wdotu (n, wx, incx, wy, incy) |
| | WDOTU: forms the dot product of two complex vectors WDOTU = X^T * Y.
|
| |
| pure subroutine, public | la_blas_level1::la_csrot (n, cx, incx, cy, incy, c, s) |
| | CSROT: applies a plane rotation, where the cos and sin (c and s) are real and the vectors cx and cy are complex. jack dongarra, linpack, 3/11/78.
|
| |
| pure subroutine, public | la_blas_level1::la_zdrot (n, zx, incx, zy, incy, c, s) |
| | Applies a plane rotation, where the cos and sin (c and s) are real and the vectors cx and cy are complex. jack dongarra, linpack, 3/11/78.
|
| |
| pure subroutine, public | la_blas_level1::la_wqrot (n, wx, incx, wy, incy, c, s) |
| | Applies a plane rotation, where the cos and sin (c and s) are real and the vectors cx and cy are complex. jack dongarra, linpack, 3/11/78.
|
| |
| pure subroutine, public | la_blas_level1::la_csscal (n, sa, cx, incx) |
| | CSSCAL: scales a complex vector by a real constant.
|
| |
| pure subroutine, public | la_blas_level1::la_zdscal (n, da, zx, incx) |
| | ZDSCAL: scales a vector by a constant.
|
| |
| pure subroutine, public | la_blas_level1::la_wqscal (n, qa, wx, incx) |
| | WQSCAL: scales a vector by a constant.
|
| |
| pure subroutine, public | la_blas_level1::la_crotg (a, b, c, s) |
| | !
|
| |
| pure subroutine, public | la_blas_level1::la_zrotg (a, b, c, s) |
| | !
|
| |
| pure subroutine, public | la_blas_level1::la_wrotg (a, b, c, s) |
| | !
|
| |
| pure subroutine, public | la_blas_level1::la_cscal (n, ca, cx, incx) |
| | CSCAL: scales a vector by a constant.
|
| |
| pure subroutine, public | la_blas_level1::la_zscal (n, za, zx, incx) |
| | ZSCAL: scales a vector by a constant.
|
| |
| pure subroutine, public | la_blas_level1::la_wscal (n, wa, wx, incx) |
| | WSCAL: scales a vector by a constant.
|
| |
| pure subroutine, public | la_blas_level1::la_cswap (n, cx, incx, cy, incy) |
| | CSWAP: interchanges two vectors.
|
| |
| pure subroutine, public | la_blas_level1::la_zswap (n, zx, incx, zy, incy) |
| | ZSWAP: interchanges two vectors.
|
| |
| pure subroutine, public | la_blas_level1::la_wswap (n, wx, incx, wy, incy) |
| | WSWAP: interchanges two vectors.
|
| |
| pure real(sp) function, public | la_blas_level1::la_sdsdot (n, sb, sx, incx, sy, incy) |
| | Compute the inner product of two vectors with extended precision accumulation. Returns S.P. result with dot product accumulated in D.P. SDSDOT: = SB + sum for I = 0 to N-1 of SX(LX+I*INCX)*SY(LY+I*INCY), where LX = 1 if INCX >= 0, else LX = 1+(1-N)*INCX, and LY is defined in a similar way using INCY.
|
| |