aboutsummaryrefslogtreecommitdiff
path: root/src/blas.F90
diff options
context:
space:
mode:
Diffstat (limited to 'src/blas.F90')
-rw-r--r--src/blas.F9040
1 files changed, 40 insertions, 0 deletions
diff --git a/src/blas.F90 b/src/blas.F90
new file mode 100644
index 0000000..86364b7
--- /dev/null
+++ b/src/blas.F90
@@ -0,0 +1,40 @@
+module blas
+ implicit none
+
+ integer, parameter :: izero = 0
+ integer, parameter :: blas_integer_kind = kind(izero)
+
+ interface gemm
+ SUBROUTINE SGEMM(TRANSA,TRANSB,M,N,K,ALPHA,A,LDA,B,LDB,BETA,C,LDC)
+ IMPLICIT NONE
+ REAL ALPHA,BETA
+ INTEGER K,LDA,LDB,LDC,M,N
+ CHARACTER TRANSA,TRANSB
+ REAL A(LDA,*),B(LDB,*),C(LDC,*)
+ END SUBROUTINE SGEMM
+
+ SUBROUTINE DGEMM(TRANSA,TRANSB,M,N,K,ALPHA,A,LDA,B,LDB,BETA,C,LDC)
+ IMPLICIT NONE
+ DOUBLE PRECISION ALPHA,BETA
+ INTEGER K,LDA,LDB,LDC,M,N
+ CHARACTER TRANSA,TRANSB
+ DOUBLE PRECISION A(LDA,*),B(LDB,*),C(LDC,*)
+ END SUBROUTINE DGEMM
+
+ SUBROUTINE CGEMM(TRANSA,TRANSB,M,N,K,ALPHA,A,LDA,B,LDB,BETA,C,LDC)
+ IMPLICIT NONE
+ COMPLEX ALPHA,BETA
+ INTEGER K,LDA,LDB,LDC,M,N
+ CHARACTER TRANSA,TRANSB
+ COMPLEX A(LDA,*),B(LDB,*),C(LDC,*)
+ END SUBROUTINE CGEMM
+
+ SUBROUTINE ZGEMM(TRANSA,TRANSB,M,N,K,ALPHA,A,LDA,B,LDB,BETA,C,LDC)
+ COMPLEX*16 ALPHA,BETA
+ INTEGER K,LDA,LDB,LDC,M,N
+ CHARACTER TRANSA,TRANSB
+ COMPLEX*16 A(LDA,*),B(LDB,*),C(LDC,*)
+ END SUBROUTINE ZGEMM
+ end interface gemm
+
+end module blas