fortran ffi for blas
parent
0522f63e5f
commit
3b83d9f760
|
@ -0,0 +1 @@
|
|||
Joe Groff
|
|
@ -0,0 +1,528 @@
|
|||
USING: alien alien.fortran kernel system combinators ;
|
||||
IN: math.blas.ffi
|
||||
|
||||
<<
|
||||
"blas" {
|
||||
{ [ os macosx? ] [ "libblas.dylib" "cdecl" add-library ] }
|
||||
{ [ os windows? ] [ "blas.dll" "cdecl" add-library ] }
|
||||
[ "libblas.so" "cdecl" add-library ]
|
||||
} cond
|
||||
>>
|
||||
|
||||
LIBRARY: blas
|
||||
|
||||
! Level 1 BLAS (scalar-vector and vector-vector)
|
||||
|
||||
FUNCTION: REAL SDSDOT
|
||||
( INTEGER N, REAL ALPHA, REAL(*) X, INTEGER INCX, REAL(*) Y, INTEGER INCY ) ;
|
||||
FUNCTION: DOUBLE-PRECISION DSDOT
|
||||
( INTEGER N, DOUBLE-PRECISION-PRECISION(*) X, INTEGER INCX, REAL(*) Y, INTEGER INCY ) ;
|
||||
FUNCTION: REAL SDOT
|
||||
( INTEGER N, REAL(*) X, INTEGER INCX, REAL(*) Y, INTEGER INCY ) ;
|
||||
FUNCTION: DOUBLE-PRECISION DDOT
|
||||
( INTEGER N, DOUBLE-PRECISION(*) X, INTEGER INCX, DOUBLE-PRECISION(*) Y, INTEGER INCY ) ;
|
||||
|
||||
FUNCTION: COMPLEX CDOTU
|
||||
( INTEGER N, COMPLEX(*) X, INTEGER INCX, COMPLEX(*) Y, INTEGER INCY ) ;
|
||||
FUNCTION: COMPLEX CDOTC
|
||||
( INTEGER N, COMPLEX(*) X, INTEGER INCX, COMPLEX(*) Y, INTEGER INCY ) ;
|
||||
|
||||
SUBROUTINE: DOUBLE-COMPLEX ZDOTU
|
||||
( INTEGER N, DOUBLE-COMPLEX(*) X, INTEGER INCX, DOUBLE-COMPLEX(*) Y, INTEGER INCY ) ;
|
||||
SUBROUTINE: DOUBLE-COMPLEX ZDOTC
|
||||
( INTEGER N, DOUBLE-COMPLEX(*) X, INTEGER INCX, DOUBLE-COMPLEX(*) Y, INTEGER INCY ) ;
|
||||
|
||||
FUNCTION: REAL SNRM2
|
||||
( INTEGER N, REAL(*) X, INTEGER INCX ) ;
|
||||
FUNCTION: REAL SASUM
|
||||
( INTEGER N, REAL(*) X, INTEGER INCX ) ;
|
||||
|
||||
FUNCTION: DOUBLE-PRECISION DNRM2
|
||||
( INTEGER N, DOUBLE-PRECISION(*) X, INTEGER INCX ) ;
|
||||
FUNCTION: DOUBLE-PRECISION DASUM
|
||||
( INTEGER N, DOUBLE-PRECISION(*) X, INTEGER INCX ) ;
|
||||
|
||||
FUNCTION: REAL SCNRM2
|
||||
( INTEGER N, COMPLEX(*) X, INTEGER INCX ) ;
|
||||
FUNCTION: REAL SCASUM
|
||||
( INTEGER N, COMPLEX(*) X, INTEGER INCX ) ;
|
||||
|
||||
FUNCTION: DOUBLE-PRECISION DZNRM2
|
||||
( INTEGER N, DOUBLE-COMPLEX(*) X, INTEGER INCX ) ;
|
||||
FUNCTION: DOUBLE-PRECISION DZASUM
|
||||
( INTEGER N, DOUBLE-COMPLEX(*) X, INTEGER INCX ) ;
|
||||
|
||||
FUNCTION: INTEGER ISAMAX
|
||||
( INTEGER N, REAL(*) X, INTEGER INCX ) ;
|
||||
FUNCTION: INTEGER IDAMAX
|
||||
( INTEGER N, DOUBLE-PRECISION(*) X, INTEGER INCX ) ;
|
||||
FUNCTION: INTEGER ICAMAX
|
||||
( INTEGER N, COMPLEX(*) X, INTEGER INCX ) ;
|
||||
FUNCTION: INTEGER IZAMAX
|
||||
( INTEGER N, DOUBLE-COMPLEX(*) X, INTEGER INCX ) ;
|
||||
|
||||
SUBROUTINE: SSWAP
|
||||
( INTEGER N, REAL(*) X, INTEGER INCX, REAL(*) Y, INTEGER INCY ) ;
|
||||
SUBROUTINE: SCOPY
|
||||
( INTEGER N, REAL(*) X, INTEGER INCX, REAL(*) Y, INTEGER INCY ) ;
|
||||
SUBROUTINE: SAXPY
|
||||
( INTEGER N, REAL ALPHA, REAL(*) X, INTEGER INCX, REAL(*) Y, INTEGER INCY ) ;
|
||||
|
||||
SUBROUTINE: DSWAP
|
||||
( INTEGER N, DOUBLE-PRECISION(*) X, INTEGER INCX, DOUBLE-PRECISION(*) Y, INTEGER INCY ) ;
|
||||
SUBROUTINE: DCOPY
|
||||
( INTEGER N, DOUBLE-PRECISION(*) X, INTEGER INCX, DOUBLE-PRECISION(*) Y, INTEGER INCY ) ;
|
||||
SUBROUTINE: DAXPY
|
||||
( INTEGER N, DOUBLE-PRECISION ALPHA, DOUBLE-PRECISION(*) X, INTEGER INCX, DOUBLE-PRECISION(*) Y, INTEGER INCY ) ;
|
||||
|
||||
SUBROUTINE: CSWAP
|
||||
( INTEGER N, COMPLEX(*) X, INTEGER INCX, COMPLEX(*) Y, INTEGER INCY ) ;
|
||||
SUBROUTINE: CCOPY
|
||||
( INTEGER N, COMPLEX(*) X, INTEGER INCX, COMPLEX(*) Y, INTEGER INCY ) ;
|
||||
SUBROUTINE: CAXPY
|
||||
( INTEGER N, COMPLEX ALPHA, COMPLEX(*) X, INTEGER INCX, COMPLEX(*) Y, INTEGER INCY ) ;
|
||||
|
||||
SUBROUTINE: ZSWAP
|
||||
( INTEGER N, DOUBLE-COMPLEX(*) X, INTEGER INCX, DOUBLE-COMPLEX(*) Y, INTEGER INCY ) ;
|
||||
SUBROUTINE: ZCOPY
|
||||
( INTEGER N, DOUBLE-COMPLEX(*) X, INTEGER INCX, DOUBLE-COMPLEX(*) Y, INTEGER INCY ) ;
|
||||
SUBROUTINE: ZAXPY
|
||||
( INTEGER N, DOUBLE-COMPLEX ALPHA, DOUBLE-COMPLEX(*) X, INTEGER INCX, DOUBLE-COMPLEX(*) Y, INTEGER INCY ) ;
|
||||
|
||||
SUBROUTINE: SSCAL
|
||||
( INTEGER N, REAL ALPHA, REAL(*) X, INTEGER INCX ) ;
|
||||
SUBROUTINE: DSCAL
|
||||
( INTEGER N, DOUBLE-PRECISION ALPHA, DOUBLE-PRECISION(*) X, INTEGER INCX ) ;
|
||||
SUBROUTINE: CSCAL
|
||||
( INTEGER N, COMPLEX ALPHA, COMPLEX(*) X, INTEGER INCX ) ;
|
||||
SUBROUTINE: ZSCAL
|
||||
( INTEGER N, DOUBLE-COMPLEX ALPHA, DOUBLE-COMPLEX(*) X, INTEGER INCX ) ;
|
||||
SUBROUTINE: CSSCAL
|
||||
( INTEGER N, REAL ALPHA, COMPLEX(*) X, INTEGER INCX ) ;
|
||||
SUBROUTINE: ZDSCAL
|
||||
( INTEGER N, DOUBLE-PRECISION ALPHA, DOUBLE-COMPLEX(*) X, INTEGER INCX ) ;
|
||||
|
||||
SUBROUTINE: SROTG
|
||||
( REAL(*) A, REAL(*) B, REAL(*) C, REAL(*) S ) ;
|
||||
SUBROUTINE: SROTMG
|
||||
( REAL(*) D1, REAL(*) D2, REAL(*) B1, REAL B2, REAL(*) P ) ;
|
||||
SUBROUTINE: SROT
|
||||
( INTEGER N, REAL(*) X, INTEGER INCX, REAL(*) Y, INTEGER INCY, REAL C, REAL S ) ;
|
||||
SUBROUTINE: SROTM
|
||||
( INTEGER N, REAL(*) X, INTEGER INCX, REAL(*) Y, INTEGER INCY, REAL(*) P ) ;
|
||||
|
||||
SUBROUTINE: DROTG
|
||||
( DOUBLE-PRECISION(*) A, DOUBLE-PRECISION(*) B, DOUBLE-PRECISION(*) C, DOUBLE-PRECISION(*) S ) ;
|
||||
SUBROUTINE: DROTMG
|
||||
( DOUBLE-PRECISION(*) D1, DOUBLE-PRECISION(*) D2, DOUBLE-PRECISION(*) B1, DOUBLE-PRECISION B2, DOUBLE-PRECISION(*) P ) ;
|
||||
SUBROUTINE: DROT
|
||||
( INTEGER N, DOUBLE-PRECISION(*) X, INTEGER INCX, DOUBLE-PRECISION(*) Y, INTEGER INCY, DOUBLE-PRECISION C, DOUBLE-PRECISION S ) ;
|
||||
SUBROUTINE: DROTM
|
||||
( INTEGER N, DOUBLE-PRECISION(*) X, INTEGER INCX, DOUBLE-PRECISION(*) Y, INTEGER INCY, DOUBLE-PRECISION(*) P ) ;
|
||||
|
||||
! LEVEL 2 BLAS (MATRIX-VECTOR)
|
||||
|
||||
SUBROUTINE: SGEMV ( CHARACTER*1 ORDER,
|
||||
CHARACTER*1 TRANSA, INTEGER M, INTEGER N,
|
||||
REAL ALPHA, REAL(*) A, INTEGER LDA,
|
||||
REAL(*) X, INTEGER INCX, REAL BETA,
|
||||
REAL(*) Y, INTEGER INCY ) ;
|
||||
SUBROUTINE: SGBMV ( CHARACTER*1 ORDER,
|
||||
CHARACTER*1 TRANSA, INTEGER M, INTEGER N,
|
||||
INTEGER KL, INTEGER KU, REAL ALPHA,
|
||||
REAL(*) A, INTEGER LDA, REAL(*) X,
|
||||
INTEGER INCX, REAL BETA, REAL(*) Y, INTEGER INCY ) ;
|
||||
SUBROUTINE: STRMV ( CHARACTER*1 UPLO,
|
||||
CHARACTER*1 TRANSA, CHARACTER*1 DIAG,
|
||||
INTEGER N, REAL(*) A, INTEGER LDA,
|
||||
REAL(*) X, INTEGER INCX ) ;
|
||||
SUBROUTINE: STBMV ( CHARACTER*1 UPLO,
|
||||
CHARACTER*1 TRANSA, CHARACTER*1 DIAG,
|
||||
INTEGER N, INTEGER K, REAL(*) A, INTEGER LDA,
|
||||
REAL(*) X, INTEGER INCX ) ;
|
||||
SUBROUTINE: STPMV ( CHARACTER*1 UPLO,
|
||||
CHARACTER*1 TRANSA, CHARACTER*1 DIAG,
|
||||
INTEGER N, REAL(*) AP, REAL(*) X, INTEGER INCX ) ;
|
||||
SUBROUTINE: STRSV ( CHARACTER*1 UPLO,
|
||||
CHARACTER*1 TRANSA, CHARACTER*1 DIAG,
|
||||
INTEGER N, REAL(*) A, INTEGER LDA, REAL(*) X,
|
||||
INTEGER INCX ) ;
|
||||
SUBROUTINE: STBSV ( CHARACTER*1 UPLO,
|
||||
CHARACTER*1 TRANSA, CHARACTER*1 DIAG,
|
||||
INTEGER N, INTEGER K, REAL(*) A, INTEGER LDA,
|
||||
REAL(*) X, INTEGER INCX ) ;
|
||||
SUBROUTINE: STPSV ( CHARACTER*1 UPLO,
|
||||
CHARACTER*1 TRANSA, CHARACTER*1 DIAG,
|
||||
INTEGER N, REAL(*) AP, REAL(*) X, INTEGER INCX ) ;
|
||||
|
||||
SUBROUTINE: DGEMV ( CHARACTER*1 ORDER,
|
||||
CHARACTER*1 TRANSA, INTEGER M, INTEGER N,
|
||||
DOUBLE-PRECISION ALPHA, DOUBLE-PRECISION(*) A, INTEGER LDA,
|
||||
DOUBLE-PRECISION(*) X, INTEGER INCX, DOUBLE-PRECISION BETA,
|
||||
DOUBLE-PRECISION(*) Y, INTEGER INCY ) ;
|
||||
SUBROUTINE: DGBMV ( CHARACTER*1 ORDER,
|
||||
CHARACTER*1 TRANSA, INTEGER M, INTEGER N,
|
||||
INTEGER KL, INTEGER KU, DOUBLE-PRECISION ALPHA,
|
||||
DOUBLE-PRECISION(*) A, INTEGER LDA, DOUBLE-PRECISION(*) X,
|
||||
INTEGER INCX, DOUBLE-PRECISION BETA, DOUBLE-PRECISION(*) Y, INTEGER INCY ) ;
|
||||
SUBROUTINE: DTRMV ( CHARACTER*1 UPLO,
|
||||
CHARACTER*1 TRANSA, CHARACTER*1 DIAG,
|
||||
INTEGER N, DOUBLE-PRECISION(*) A, INTEGER LDA,
|
||||
DOUBLE-PRECISION(*) X, INTEGER INCX ) ;
|
||||
SUBROUTINE: DTBMV ( CHARACTER*1 UPLO,
|
||||
CHARACTER*1 TRANSA, CHARACTER*1 DIAG,
|
||||
INTEGER N, INTEGER K, DOUBLE-PRECISION(*) A, INTEGER LDA,
|
||||
DOUBLE-PRECISION(*) X, INTEGER INCX ) ;
|
||||
SUBROUTINE: DTPMV ( CHARACTER*1 UPLO,
|
||||
CHARACTER*1 TRANSA, CHARACTER*1 DIAG,
|
||||
INTEGER N, DOUBLE-PRECISION(*) AP, DOUBLE-PRECISION(*) X, INTEGER INCX ) ;
|
||||
SUBROUTINE: DTRSV ( CHARACTER*1 UPLO,
|
||||
CHARACTER*1 TRANSA, CHARACTER*1 DIAG,
|
||||
INTEGER N, DOUBLE-PRECISION(*) A, INTEGER LDA, DOUBLE-PRECISION(*) X,
|
||||
INTEGER INCX ) ;
|
||||
SUBROUTINE: DTBSV ( CHARACTER*1 UPLO,
|
||||
CHARACTER*1 TRANSA, CHARACTER*1 DIAG,
|
||||
INTEGER N, INTEGER K, DOUBLE-PRECISION(*) A, INTEGER LDA,
|
||||
DOUBLE-PRECISION(*) X, INTEGER INCX ) ;
|
||||
SUBROUTINE: DTPSV ( CHARACTER*1 UPLO,
|
||||
CHARACTER*1 TRANSA, CHARACTER*1 DIAG,
|
||||
INTEGER N, DOUBLE-PRECISION(*) AP, DOUBLE-PRECISION(*) X, INTEGER INCX ) ;
|
||||
|
||||
SUBROUTINE: CGEMV ( CHARACTER*1 ORDER,
|
||||
CHARACTER*1 TRANSA, INTEGER M, INTEGER N,
|
||||
COMPLEX ALPHA, COMPLEX(*) A, INTEGER LDA,
|
||||
COMPLEX(*) X, INTEGER INCX, COMPLEX BETA,
|
||||
COMPLEX(*) Y, INTEGER INCY ) ;
|
||||
SUBROUTINE: CGBMV ( CHARACTER*1 ORDER,
|
||||
CHARACTER*1 TRANSA, INTEGER M, INTEGER N,
|
||||
INTEGER KL, INTEGER KU, COMPLEX ALPHA,
|
||||
COMPLEX(*) A, INTEGER LDA, COMPLEX(*) X,
|
||||
INTEGER INCX, COMPLEX BETA, COMPLEX(*) Y, INTEGER INCY ) ;
|
||||
SUBROUTINE: CTRMV ( CHARACTER*1 UPLO,
|
||||
CHARACTER*1 TRANSA, CHARACTER*1 DIAG,
|
||||
INTEGER N, COMPLEX(*) A, INTEGER LDA,
|
||||
COMPLEX(*) X, INTEGER INCX ) ;
|
||||
SUBROUTINE: CTBMV ( CHARACTER*1 UPLO,
|
||||
CHARACTER*1 TRANSA, CHARACTER*1 DIAG,
|
||||
INTEGER N, INTEGER K, COMPLEX(*) A, INTEGER LDA,
|
||||
COMPLEX(*) X, INTEGER INCX ) ;
|
||||
SUBROUTINE: CTPMV ( CHARACTER*1 UPLO,
|
||||
CHARACTER*1 TRANSA, CHARACTER*1 DIAG,
|
||||
INTEGER N, COMPLEX(*) AP, COMPLEX(*) X, INTEGER INCX ) ;
|
||||
SUBROUTINE: CTRSV ( CHARACTER*1 UPLO,
|
||||
CHARACTER*1 TRANSA, CHARACTER*1 DIAG,
|
||||
INTEGER N, COMPLEX(*) A, INTEGER LDA, COMPLEX(*) X,
|
||||
INTEGER INCX ) ;
|
||||
SUBROUTINE: CTBSV ( CHARACTER*1 UPLO,
|
||||
CHARACTER*1 TRANSA, CHARACTER*1 DIAG,
|
||||
INTEGER N, INTEGER K, COMPLEX(*) A, INTEGER LDA,
|
||||
COMPLEX(*) X, INTEGER INCX ) ;
|
||||
SUBROUTINE: CTPSV ( CHARACTER*1 UPLO,
|
||||
CHARACTER*1 TRANSA, CHARACTER*1 DIAG,
|
||||
INTEGER N, COMPLEX(*) AP, COMPLEX(*) X, INTEGER INCX ) ;
|
||||
|
||||
SUBROUTINE: ZGEMV ( CHARACTER*1 ORDER,
|
||||
CHARACTER*1 TRANSA, INTEGER M, INTEGER N,
|
||||
DOUBLE-COMPLEX ALPHA, DOUBLE-COMPLEX(*) A, INTEGER LDA,
|
||||
DOUBLE-COMPLEX(*) X, INTEGER INCX, DOUBLE-COMPLEX BETA,
|
||||
DOUBLE-COMPLEX(*) Y, INTEGER INCY ) ;
|
||||
SUBROUTINE: ZGBMV ( CHARACTER*1 ORDER,
|
||||
CHARACTER*1 TRANSA, INTEGER M, INTEGER N,
|
||||
INTEGER KL, INTEGER KU, DOUBLE-COMPLEX ALPHA,
|
||||
DOUBLE-COMPLEX(*) A, INTEGER LDA, DOUBLE-COMPLEX(*) X,
|
||||
INTEGER INCX, DOUBLE-COMPLEX BETA, DOUBLE-COMPLEX(*) Y, INTEGER INCY ) ;
|
||||
SUBROUTINE: ZTRMV ( CHARACTER*1 UPLO,
|
||||
CHARACTER*1 TRANSA, CHARACTER*1 DIAG,
|
||||
INTEGER N, DOUBLE-COMPLEX(*) A, INTEGER LDA,
|
||||
DOUBLE-COMPLEX(*) X, INTEGER INCX ) ;
|
||||
SUBROUTINE: ZTBMV ( CHARACTER*1 UPLO,
|
||||
CHARACTER*1 TRANSA, CHARACTER*1 DIAG,
|
||||
INTEGER N, INTEGER K, DOUBLE-COMPLEX(*) A, INTEGER LDA,
|
||||
DOUBLE-COMPLEX(*) X, INTEGER INCX ) ;
|
||||
SUBROUTINE: ZTPMV ( CHARACTER*1 UPLO,
|
||||
CHARACTER*1 TRANSA, CHARACTER*1 DIAG,
|
||||
INTEGER N, DOUBLE-COMPLEX(*) AP, DOUBLE-COMPLEX(*) X, INTEGER INCX ) ;
|
||||
SUBROUTINE: ZTRSV ( CHARACTER*1 UPLO,
|
||||
CHARACTER*1 TRANSA, CHARACTER*1 DIAG,
|
||||
INTEGER N, DOUBLE-COMPLEX(*) A, INTEGER LDA, DOUBLE-COMPLEX(*) X,
|
||||
INTEGER INCX ) ;
|
||||
SUBROUTINE: ZTBSV ( CHARACTER*1 UPLO,
|
||||
CHARACTER*1 TRANSA, CHARACTER*1 DIAG,
|
||||
INTEGER N, INTEGER K, DOUBLE-COMPLEX(*) A, INTEGER LDA,
|
||||
DOUBLE-COMPLEX(*) X, INTEGER INCX ) ;
|
||||
SUBROUTINE: ZTPSV ( CHARACTER*1 UPLO,
|
||||
CHARACTER*1 TRANSA, CHARACTER*1 DIAG,
|
||||
INTEGER N, DOUBLE-COMPLEX(*) AP, DOUBLE-COMPLEX(*) X, INTEGER INCX ) ;
|
||||
|
||||
|
||||
SUBROUTINE: SSYMV ( CHARACTER*1 UPLO,
|
||||
INTEGER N, REAL ALPHA, REAL(*) A,
|
||||
INTEGER LDA, REAL(*) X, INTEGER INCX,
|
||||
REAL BETA, REAL(*) Y, INTEGER INCY ) ;
|
||||
SUBROUTINE: SSBMV ( CHARACTER*1 UPLO,
|
||||
INTEGER N, INTEGER K, REAL ALPHA, REAL(*) A,
|
||||
INTEGER LDA, REAL(*) X, INTEGER INCX,
|
||||
REAL BETA, REAL(*) Y, INTEGER INCY ) ;
|
||||
SUBROUTINE: SSPMV ( CHARACTER*1 UPLO,
|
||||
INTEGER N, REAL ALPHA, REAL(*) AP,
|
||||
REAL(*) X, INTEGER INCX,
|
||||
REAL BETA, REAL(*) Y, INTEGER INCY ) ;
|
||||
SUBROUTINE: SGER ( INTEGER M, INTEGER N,
|
||||
REAL ALPHA, REAL(*) X, INTEGER INCX,
|
||||
REAL(*) Y, INTEGER INCY, REAL(*) A, INTEGER LDA ) ;
|
||||
SUBROUTINE: SSYR ( CHARACTER*1 UPLO,
|
||||
INTEGER N, REAL ALPHA, REAL(*) X,
|
||||
INTEGER INCX, REAL(*) A, INTEGER LDA ) ;
|
||||
SUBROUTINE: SSPR ( CHARACTER*1 UPLO,
|
||||
INTEGER N, REAL ALPHA, REAL(*) X,
|
||||
INTEGER INCX, REAL(*) AP ) ;
|
||||
SUBROUTINE: SSYR2 ( CHARACTER*1 UPLO,
|
||||
INTEGER N, REAL ALPHA, REAL(*) X,
|
||||
INTEGER INCX, REAL(*) Y, INTEGER INCY, REAL(*) A,
|
||||
INTEGER LDA ) ;
|
||||
SUBROUTINE: SSPR2 ( CHARACTER*1 UPLO,
|
||||
INTEGER N, REAL ALPHA, REAL(*) X,
|
||||
INTEGER INCX, REAL(*) Y, INTEGER INCY, REAL(*) A ) ;
|
||||
|
||||
SUBROUTINE: DSYMV ( CHARACTER*1 UPLO,
|
||||
INTEGER N, DOUBLE-PRECISION ALPHA, DOUBLE-PRECISION(*) A,
|
||||
INTEGER LDA, DOUBLE-PRECISION(*) X, INTEGER INCX,
|
||||
DOUBLE-PRECISION BETA, DOUBLE-PRECISION(*) Y, INTEGER INCY ) ;
|
||||
SUBROUTINE: DSBMV ( CHARACTER*1 UPLO,
|
||||
INTEGER N, INTEGER K, DOUBLE-PRECISION ALPHA, DOUBLE-PRECISION(*) A,
|
||||
INTEGER LDA, DOUBLE-PRECISION(*) X, INTEGER INCX,
|
||||
DOUBLE-PRECISION BETA, DOUBLE-PRECISION(*) Y, INTEGER INCY ) ;
|
||||
SUBROUTINE: DSPMV ( CHARACTER*1 UPLO,
|
||||
INTEGER N, DOUBLE-PRECISION ALPHA, DOUBLE-PRECISION(*) AP,
|
||||
DOUBLE-PRECISION(*) X, INTEGER INCX,
|
||||
DOUBLE-PRECISION BETA, DOUBLE-PRECISION(*) Y, INTEGER INCY ) ;
|
||||
SUBROUTINE: DGER ( INTEGER M, INTEGER N,
|
||||
DOUBLE-PRECISION ALPHA, DOUBLE-PRECISION(*) X, INTEGER INCX,
|
||||
DOUBLE-PRECISION(*) Y, INTEGER INCY, DOUBLE-PRECISION(*) A, INTEGER LDA ) ;
|
||||
SUBROUTINE: DSYR ( CHARACTER*1 UPLO,
|
||||
INTEGER N, DOUBLE-PRECISION ALPHA, DOUBLE-PRECISION(*) X,
|
||||
INTEGER INCX, DOUBLE-PRECISION(*) A, INTEGER LDA ) ;
|
||||
SUBROUTINE: DSPR ( CHARACTER*1 UPLO,
|
||||
INTEGER N, DOUBLE-PRECISION ALPHA, DOUBLE-PRECISION(*) X,
|
||||
INTEGER INCX, DOUBLE-PRECISION(*) AP ) ;
|
||||
SUBROUTINE: DSYR2 ( CHARACTER*1 UPLO,
|
||||
INTEGER N, DOUBLE-PRECISION ALPHA, DOUBLE-PRECISION(*) X,
|
||||
INTEGER INCX, DOUBLE-PRECISION(*) Y, INTEGER INCY, DOUBLE-PRECISION(*) A,
|
||||
INTEGER LDA ) ;
|
||||
SUBROUTINE: DSPR2 ( CHARACTER*1 UPLO,
|
||||
INTEGER N, DOUBLE-PRECISION ALPHA, DOUBLE-PRECISION(*) X,
|
||||
INTEGER INCX, DOUBLE-PRECISION(*) Y, INTEGER INCY, DOUBLE-PRECISION(*) A ) ;
|
||||
|
||||
|
||||
SUBROUTINE: CHEMV ( CHARACTER*1 UPLO,
|
||||
INTEGER N, COMPLEX ALPHA, COMPLEX(*) A,
|
||||
INTEGER LDA, COMPLEX(*) X, INTEGER INCX,
|
||||
COMPLEX BETA, COMPLEX(*) Y, INTEGER INCY ) ;
|
||||
SUBROUTINE: CHBMV ( CHARACTER*1 UPLO,
|
||||
INTEGER N, INTEGER K, COMPLEX ALPHA, COMPLEX(*) A,
|
||||
INTEGER LDA, COMPLEX(*) X, INTEGER INCX,
|
||||
COMPLEX BETA, COMPLEX(*) Y, INTEGER INCY ) ;
|
||||
SUBROUTINE: CHPMV ( CHARACTER*1 UPLO,
|
||||
INTEGER N, COMPLEX ALPHA, COMPLEX(*) AP,
|
||||
COMPLEX(*) X, INTEGER INCX,
|
||||
COMPLEX BETA, COMPLEX(*) Y, INTEGER INCY ) ;
|
||||
SUBROUTINE: CGERU ( INTEGER M, INTEGER N,
|
||||
COMPLEX ALPHA, COMPLEX(*) X, INTEGER INCX,
|
||||
COMPLEX(*) Y, INTEGER INCY, COMPLEX(*) A, INTEGER LDA ) ;
|
||||
SUBROUTINE: CGERC ( INTEGER M, INTEGER N,
|
||||
COMPLEX ALPHA, COMPLEX(*) X, INTEGER INCX,
|
||||
COMPLEX(*) Y, INTEGER INCY, COMPLEX(*) A, INTEGER LDA ) ;
|
||||
SUBROUTINE: CHER ( CHARACTER*1 UPLO,
|
||||
INTEGER N, REAL ALPHA, COMPLEX(*) X, INTEGER INCX,
|
||||
COMPLEX(*) A, INTEGER LDA ) ;
|
||||
SUBROUTINE: CHPR ( CHARACTER*1 UPLO,
|
||||
INTEGER N, REAL ALPHA, COMPLEX(*) X,
|
||||
INTEGER INCX, COMPLEX(*) A ) ;
|
||||
SUBROUTINE: CHER2 ( CHARACTER*1 UPLO, INTEGER N,
|
||||
COMPLEX ALPHA, COMPLEX(*) X, INTEGER INCX,
|
||||
COMPLEX(*) Y, INTEGER INCY, COMPLEX(*) A, INTEGER LDA ) ;
|
||||
SUBROUTINE: CHPR2 ( CHARACTER*1 UPLO, INTEGER N,
|
||||
COMPLEX ALPHA, COMPLEX(*) X, INTEGER INCX,
|
||||
COMPLEX(*) Y, INTEGER INCY, COMPLEX(*) AP ) ;
|
||||
|
||||
SUBROUTINE: ZHEMV ( CHARACTER*1 UPLO,
|
||||
INTEGER N, DOUBLE-COMPLEX ALPHA, DOUBLE-COMPLEX(*) A,
|
||||
INTEGER LDA, DOUBLE-COMPLEX(*) X, INTEGER INCX,
|
||||
DOUBLE-COMPLEX BETA, DOUBLE-COMPLEX(*) Y, INTEGER INCY ) ;
|
||||
SUBROUTINE: ZHBMV ( CHARACTER*1 UPLO,
|
||||
INTEGER N, INTEGER K, DOUBLE-COMPLEX ALPHA, DOUBLE-COMPLEX(*) A,
|
||||
INTEGER LDA, DOUBLE-COMPLEX(*) X, INTEGER INCX,
|
||||
DOUBLE-COMPLEX BETA, DOUBLE-COMPLEX(*) Y, INTEGER INCY ) ;
|
||||
SUBROUTINE: ZHPMV ( CHARACTER*1 UPLO,
|
||||
INTEGER N, DOUBLE-COMPLEX ALPHA, DOUBLE-COMPLEX(*) AP,
|
||||
DOUBLE-COMPLEX(*) X, INTEGER INCX,
|
||||
DOUBLE-COMPLEX BETA, DOUBLE-COMPLEX(*) Y, INTEGER INCY ) ;
|
||||
SUBROUTINE: ZGERU ( INTEGER M, INTEGER N,
|
||||
DOUBLE-COMPLEX ALPHA, DOUBLE-COMPLEX(*) X, INTEGER INCX,
|
||||
DOUBLE-COMPLEX(*) Y, INTEGER INCY, DOUBLE-COMPLEX(*) A, INTEGER LDA ) ;
|
||||
SUBROUTINE: ZGERC ( INTEGER M, INTEGER N,
|
||||
DOUBLE-COMPLEX ALPHA, DOUBLE-COMPLEX(*) X, INTEGER INCX,
|
||||
DOUBLE-COMPLEX(*) Y, INTEGER INCY, DOUBLE-COMPLEX(*) A, INTEGER LDA ) ;
|
||||
SUBROUTINE: ZHER ( CHARACTER*1 UPLO,
|
||||
INTEGER N, REAL ALPHA, DOUBLE-COMPLEX(*) X, INTEGER INCX,
|
||||
DOUBLE-COMPLEX(*) A, INTEGER LDA ) ;
|
||||
SUBROUTINE: ZHPR ( CHARACTER*1 UPLO,
|
||||
INTEGER N, REAL ALPHA, DOUBLE-COMPLEX(*) X,
|
||||
INTEGER INCX, DOUBLE-COMPLEX(*) A ) ;
|
||||
SUBROUTINE: ZHER2 ( CHARACTER*1 UPLO, INTEGER N,
|
||||
DOUBLE-COMPLEX ALPHA, DOUBLE-COMPLEX(*) X, INTEGER INCX,
|
||||
DOUBLE-COMPLEX(*) Y, INTEGER INCY, DOUBLE-COMPLEX(*) A, INTEGER LDA ) ;
|
||||
SUBROUTINE: ZHPR2 ( CHARACTER*1 UPLO, INTEGER N,
|
||||
DOUBLE-COMPLEX ALPHA, DOUBLE-COMPLEX(*) X, INTEGER INCX,
|
||||
DOUBLE-COMPLEX(*) Y, INTEGER INCY, DOUBLE-COMPLEX(*) AP ) ;
|
||||
|
||||
! LEVEL 3 BLAS (MATRIX-MATRIX)
|
||||
|
||||
SUBROUTINE: SGEMM ( CHARACTER*1 TRANSA,
|
||||
CHARACTER*1 TRANSB, INTEGER M, INTEGER N,
|
||||
INTEGER K, REAL ALPHA, REAL(*) A,
|
||||
INTEGER LDA, REAL(*) B, INTEGER LDB,
|
||||
REAL BETA, REAL(*) C, INTEGER LDC ) ;
|
||||
SUBROUTINE: SSYMM ( CHARACTER*1 SIDE,
|
||||
CHARACTER*1 UPLO, INTEGER M, INTEGER N,
|
||||
REAL ALPHA, REAL(*) A, INTEGER LDA,
|
||||
REAL(*) B, INTEGER LDB, REAL BETA,
|
||||
REAL(*) C, INTEGER LDC ) ;
|
||||
SUBROUTINE: SSYRK ( CHARACTER*1 UPLO,
|
||||
CHARACTER*1 TRANS, INTEGER N, INTEGER K,
|
||||
REAL ALPHA, REAL(*) A, INTEGER LDA,
|
||||
REAL BETA, REAL(*) C, INTEGER LDC ) ;
|
||||
SUBROUTINE: SSYR2K ( CHARACTER*1 UPLO,
|
||||
CHARACTER*1 TRANS, INTEGER N, INTEGER K,
|
||||
REAL ALPHA, REAL(*) A, INTEGER LDA,
|
||||
REAL(*) B, INTEGER LDB, REAL BETA,
|
||||
REAL(*) C, INTEGER LDC ) ;
|
||||
SUBROUTINE: STRMM ( CHARACTER*1 SIDE,
|
||||
CHARACTER*1 UPLO, CHARACTER*1 TRANSA,
|
||||
CHARACTER*1 DIAG, INTEGER M, INTEGER N,
|
||||
REAL ALPHA, REAL(*) A, INTEGER LDA,
|
||||
REAL(*) B, INTEGER LDB ) ;
|
||||
SUBROUTINE: STRSM ( CHARACTER*1 SIDE,
|
||||
CHARACTER*1 UPLO, CHARACTER*1 TRANSA,
|
||||
CHARACTER*1 DIAG, INTEGER M, INTEGER N,
|
||||
REAL ALPHA, REAL(*) A, INTEGER LDA,
|
||||
REAL(*) B, INTEGER LDB ) ;
|
||||
|
||||
SUBROUTINE: DGEMM ( CHARACTER*1 TRANSA,
|
||||
CHARACTER*1 TRANSB, INTEGER M, INTEGER N,
|
||||
INTEGER K, DOUBLE-PRECISION ALPHA, DOUBLE-PRECISION(*) A,
|
||||
INTEGER LDA, DOUBLE-PRECISION(*) B, INTEGER LDB,
|
||||
DOUBLE-PRECISION BETA, DOUBLE-PRECISION(*) C, INTEGER LDC ) ;
|
||||
SUBROUTINE: DSYMM ( CHARACTER*1 SIDE,
|
||||
CHARACTER*1 UPLO, INTEGER M, INTEGER N,
|
||||
DOUBLE-PRECISION ALPHA, DOUBLE-PRECISION(*) A, INTEGER LDA,
|
||||
DOUBLE-PRECISION(*) B, INTEGER LDB, DOUBLE-PRECISION BETA,
|
||||
DOUBLE-PRECISION(*) C, INTEGER LDC ) ;
|
||||
SUBROUTINE: DSYRK ( CHARACTER*1 UPLO,
|
||||
CHARACTER*1 TRANS, INTEGER N, INTEGER K,
|
||||
DOUBLE-PRECISION ALPHA, DOUBLE-PRECISION(*) A, INTEGER LDA,
|
||||
DOUBLE-PRECISION BETA, DOUBLE-PRECISION(*) C, INTEGER LDC ) ;
|
||||
SUBROUTINE: DSYR2K ( CHARACTER*1 UPLO,
|
||||
CHARACTER*1 TRANS, INTEGER N, INTEGER K,
|
||||
DOUBLE-PRECISION ALPHA, DOUBLE-PRECISION(*) A, INTEGER LDA,
|
||||
DOUBLE-PRECISION(*) B, INTEGER LDB, DOUBLE-PRECISION BETA,
|
||||
DOUBLE-PRECISION(*) C, INTEGER LDC ) ;
|
||||
SUBROUTINE: DTRMM ( CHARACTER*1 SIDE,
|
||||
CHARACTER*1 UPLO, CHARACTER*1 TRANSA,
|
||||
CHARACTER*1 DIAG, INTEGER M, INTEGER N,
|
||||
DOUBLE-PRECISION ALPHA, DOUBLE-PRECISION(*) A, INTEGER LDA,
|
||||
DOUBLE-PRECISION(*) B, INTEGER LDB ) ;
|
||||
SUBROUTINE: DTRSM ( CHARACTER*1 SIDE,
|
||||
CHARACTER*1 UPLO, CHARACTER*1 TRANSA,
|
||||
CHARACTER*1 DIAG, INTEGER M, INTEGER N,
|
||||
DOUBLE-PRECISION ALPHA, DOUBLE-PRECISION(*) A, INTEGER LDA,
|
||||
DOUBLE-PRECISION(*) B, INTEGER LDB ) ;
|
||||
|
||||
SUBROUTINE: CGEMM ( CHARACTER*1 TRANSA,
|
||||
CHARACTER*1 TRANSB, INTEGER M, INTEGER N,
|
||||
INTEGER K, COMPLEX ALPHA, COMPLEX(*) A,
|
||||
INTEGER LDA, COMPLEX(*) B, INTEGER LDB,
|
||||
COMPLEX BETA, COMPLEX(*) C, INTEGER LDC ) ;
|
||||
SUBROUTINE: CSYMM ( CHARACTER*1 SIDE,
|
||||
CHARACTER*1 UPLO, INTEGER M, INTEGER N,
|
||||
COMPLEX ALPHA, COMPLEX(*) A, INTEGER LDA,
|
||||
COMPLEX(*) B, INTEGER LDB, COMPLEX BETA,
|
||||
COMPLEX(*) C, INTEGER LDC ) ;
|
||||
SUBROUTINE: CSYRK ( CHARACTER*1 UPLO,
|
||||
CHARACTER*1 TRANS, INTEGER N, INTEGER K,
|
||||
COMPLEX ALPHA, COMPLEX(*) A, INTEGER LDA,
|
||||
COMPLEX BETA, COMPLEX(*) C, INTEGER LDC ) ;
|
||||
SUBROUTINE: CSYR2K ( CHARACTER*1 UPLO,
|
||||
CHARACTER*1 TRANS, INTEGER N, INTEGER K,
|
||||
COMPLEX ALPHA, COMPLEX(*) A, INTEGER LDA,
|
||||
COMPLEX(*) B, INTEGER LDB, COMPLEX BETA,
|
||||
COMPLEX(*) C, INTEGER LDC ) ;
|
||||
SUBROUTINE: CTRMM ( CHARACTER*1 SIDE,
|
||||
CHARACTER*1 UPLO, CHARACTER*1 TRANSA,
|
||||
CHARACTER*1 DIAG, INTEGER M, INTEGER N,
|
||||
COMPLEX ALPHA, COMPLEX(*) A, INTEGER LDA,
|
||||
COMPLEX(*) B, INTEGER LDB ) ;
|
||||
SUBROUTINE: CTRSM ( CHARACTER*1 SIDE,
|
||||
CHARACTER*1 UPLO, CHARACTER*1 TRANSA,
|
||||
CHARACTER*1 DIAG, INTEGER M, INTEGER N,
|
||||
COMPLEX ALPHA, COMPLEX(*) A, INTEGER LDA,
|
||||
COMPLEX(*) B, INTEGER LDB ) ;
|
||||
|
||||
SUBROUTINE: ZGEMM ( CHARACTER*1 TRANSA,
|
||||
CHARACTER*1 TRANSB, INTEGER M, INTEGER N,
|
||||
INTEGER K, DOUBLE-COMPLEX ALPHA, DOUBLE-COMPLEX(*) A,
|
||||
INTEGER LDA, DOUBLE-COMPLEX(*) B, INTEGER LDB,
|
||||
DOUBLE-COMPLEX BETA, DOUBLE-COMPLEX(*) C, INTEGER LDC ) ;
|
||||
SUBROUTINE: ZSYMM ( CHARACTER*1 SIDE,
|
||||
CHARACTER*1 UPLO, INTEGER M, INTEGER N,
|
||||
DOUBLE-COMPLEX ALPHA, DOUBLE-COMPLEX(*) A, INTEGER LDA,
|
||||
DOUBLE-COMPLEX(*) B, INTEGER LDB, DOUBLE-COMPLEX BETA,
|
||||
DOUBLE-COMPLEX(*) C, INTEGER LDC ) ;
|
||||
SUBROUTINE: ZSYRK ( CHARACTER*1 UPLO,
|
||||
CHARACTER*1 TRANS, INTEGER N, INTEGER K,
|
||||
DOUBLE-COMPLEX ALPHA, DOUBLE-COMPLEX(*) A, INTEGER LDA,
|
||||
DOUBLE-COMPLEX BETA, DOUBLE-COMPLEX(*) C, INTEGER LDC ) ;
|
||||
SUBROUTINE: ZSYR2K ( CHARACTER*1 UPLO,
|
||||
CHARACTER*1 TRANS, INTEGER N, INTEGER K,
|
||||
DOUBLE-COMPLEX ALPHA, DOUBLE-COMPLEX(*) A, INTEGER LDA,
|
||||
DOUBLE-COMPLEX(*) B, INTEGER LDB, DOUBLE-COMPLEX BETA,
|
||||
DOUBLE-COMPLEX(*) C, INTEGER LDC ) ;
|
||||
SUBROUTINE: ZTRMM ( CHARACTER*1 SIDE,
|
||||
CHARACTER*1 UPLO, CHARACTER*1 TRANSA,
|
||||
CHARACTER*1 DIAG, INTEGER M, INTEGER N,
|
||||
DOUBLE-COMPLEX ALPHA, DOUBLE-COMPLEX(*) A, INTEGER LDA,
|
||||
DOUBLE-COMPLEX(*) B, INTEGER LDB ) ;
|
||||
SUBROUTINE: ZTRSM ( CHARACTER*1 SIDE,
|
||||
CHARACTER*1 UPLO, CHARACTER*1 TRANSA,
|
||||
CHARACTER*1 DIAG, INTEGER M, INTEGER N,
|
||||
DOUBLE-COMPLEX ALPHA, DOUBLE-COMPLEX(*) A, INTEGER LDA,
|
||||
DOUBLE-COMPLEX(*) B, INTEGER LDB ) ;
|
||||
|
||||
SUBROUTINE: CHEMM ( CHARACTER*1 SIDE,
|
||||
CHARACTER*1 UPLO, INTEGER M, INTEGER N,
|
||||
COMPLEX ALPHA, COMPLEX(*) A, INTEGER LDA,
|
||||
COMPLEX(*) B, INTEGER LDB, COMPLEX BETA,
|
||||
COMPLEX(*) C, INTEGER LDC ) ;
|
||||
SUBROUTINE: CHERK ( CHARACTER*1 UPLO,
|
||||
CHARACTER*1 TRANS, INTEGER N, INTEGER K,
|
||||
REAL ALPHA, COMPLEX(*) A, INTEGER LDA,
|
||||
REAL BETA, COMPLEX(*) C, INTEGER LDC ) ;
|
||||
SUBROUTINE: CHER2K ( CHARACTER*1 UPLO,
|
||||
CHARACTER*1 TRANS, INTEGER N, INTEGER K,
|
||||
COMPLEX ALPHA, COMPLEX(*) A, INTEGER LDA,
|
||||
COMPLEX(*) B, INTEGER LDB, REAL BETA,
|
||||
COMPLEX(*) C, INTEGER LDC ) ;
|
||||
SUBROUTINE: ZHEMM ( CHARACTER*1 SIDE,
|
||||
CHARACTER*1 UPLO, INTEGER M, INTEGER N,
|
||||
DOUBLE-COMPLEX ALPHA, DOUBLE-COMPLEX(*) A, INTEGER LDA,
|
||||
DOUBLE-COMPLEX(*) B, INTEGER LDB, DOUBLE-COMPLEX BETA,
|
||||
DOUBLE-COMPLEX(*) C, INTEGER LDC ) ;
|
||||
SUBROUTINE: ZHERK ( CHARACTER*1 UPLO,
|
||||
CHARACTER*1 TRANS, INTEGER N, INTEGER K,
|
||||
REAL ALPHA, DOUBLE-COMPLEX(*) A, INTEGER LDA,
|
||||
REAL BETA, DOUBLE-COMPLEX(*) C, INTEGER LDC ) ;
|
||||
SUBROUTINE: ZHER2K ( CHARACTER*1 UPLO,
|
||||
CHARACTER*1 TRANS, INTEGER N, INTEGER K,
|
||||
DOUBLE-COMPLEX ALPHA, DOUBLE-COMPLEX(*) A, INTEGER LDA,
|
||||
DOUBLE-COMPLEX(*) B, INTEGER LDB, REAL BETA,
|
||||
DOUBLE-COMPLEX(*) C, INTEGER LDC ) ;
|
|
@ -0,0 +1 @@
|
|||
Low-level bindings to the Basic Linear Algebra Subroutines (BLAS) library
|
|
@ -0,0 +1,3 @@
|
|||
math
|
||||
bindings
|
||||
fortran
|
Loading…
Reference in New Issue