--- a
+++ b/LibDBlasL3F77.mod
@@ -0,0 +1,71 @@
+IMPLEMENTATION MODULE LibDBlasL3F77;
+
+ (*------------------------------------------------------------------------*)
+ (* Schnittstell zu Level 3 Blas FORTRAN77 Subroutinen. *)
+ (* Interface to level 3 Blas FORTRAN77 subroutines. *)
+ (*------------------------------------------------------------------------*)
+ (* Letzte Veraenderung *)
+ (* *)
+ (* 29.10.17, MRi: Erstellen der ersten Version nur mit dgemm *)
+ (*------------------------------------------------------------------------*)
+ (* Offene Punkte *)
+ (* *)
+ (* - Testen *)
+ (* - Lot of other routines ;-) *)
+ (*------------------------------------------------------------------------*)
+ (* Implementation : Michael Riedl *)
+ (* Licence : GNU Lesser General Public License (LGPL) *)
+ (*------------------------------------------------------------------------*)
+
+ (* $Id: LibDBlasL3F77.mod,v 1.1 2017/11/01 10:42:09 mriedl Exp mriedl $ *)
+
+FROM LibDBlasL1F77 IMPORT CHAR1,INTEGER4,REAL4,DOUBLEPRECISION;
+FROM LibDBlasLxF77 IMPORT sgemm_,dgemm_;
+
+PROCEDURE sgemm( TA : CHAR1;
+ TB : CHAR1;
+ M,N,K : INTEGER4;
+ Alpha : REAL4;
+ VAR A : ARRAY OF ARRAY OF REAL4;
+ lda : INTEGER4;
+ VAR B : ARRAY OF ARRAY OF REAL4;
+ ldb : INTEGER4;
+ Beta : REAL4;
+ VAR C : ARRAY OF ARRAY OF REAL4;
+ ldc : INTEGER4);
+
+ (*---------------------------------------------------------------*)
+ (* Aufruf der Fortran Version von BLAS3 subroutine dgemm *)
+ (*---------------------------------------------------------------*)
+
+BEGIN
+ lda:=HIGH(A[0]) + 1;
+ ldb:=HIGH(B[0]) + 1;
+ ldc:=HIGH(C[0]) + 1;
+ sgemm_(TB,TA,N,M,K,Alpha,B[0][0],ldb,A[0][0],lda,Beta,C[0][0],ldc);
+END sgemm;
+
+PROCEDURE dgemm( TA : CHAR1;
+ TB : CHAR1;
+ M,N,K : INTEGER4;
+ Alpha : DOUBLEPRECISION;
+ VAR A : ARRAY OF ARRAY OF DOUBLEPRECISION;
+ lda : INTEGER4;
+ VAR B : ARRAY OF ARRAY OF DOUBLEPRECISION;
+ ldb : INTEGER4;
+ Beta : DOUBLEPRECISION;
+ VAR C : ARRAY OF ARRAY OF DOUBLEPRECISION;
+ ldc : INTEGER4);
+
+ (*---------------------------------------------------------------*)
+ (* Aufruf der Fortran Version von BLAS3 subroutine dgemm *)
+ (*---------------------------------------------------------------*)
+
+BEGIN
+ lda:=HIGH(A[0]) + 1;
+ ldb:=HIGH(B[0]) + 1;
+ ldc:=HIGH(C[0]) + 1;
+ dgemm_(TB,TA,N,M,K,Alpha,B[0][0],ldb,A[0][0],lda,Beta,C[0][0],ldc);
+END dgemm;
+
+END LibDBlasL3F77.