Switch to unified view

a b/LibDBlasLxF77.def.m2pp
1
<* IF (__XDS__) THEN *>
2
DEFINITION MODULE ["C"] LibDBlasLxF77; (* XDS *)
3
<* END *>
4
<* IF (__GM2__) THEN *>
5
DEFINITION MODULE FOR "C" LibDBlasLxF77; (* GNU M2 *)
6
<* END *>
7
<* IF (__MOCKA__) THEN *>
8
FOREIGN MODULE LibDBlasLxF77; (* Mocka  *)
9
<* END *>
10
11
  (*========================================================================*)
12
  (* WICHTIG: BITTE NUR DIE DATEI LibDBlasLxF77.def.m2pp EDITIEREN !!!      *)
13
  (*========================================================================*)
14
  (* Es sind 3 Versionen enthalten die mit                                  *)
15
  (*                                                                        *)
16
  (*   m2pp -D __{Parameter}__ < LibDBlasLxF77.mod.m2pp > LibDBlasLxF77.mod *)
17
  (*                                                                        *)
18
  (* mit Parameter = {XDS|GM2|MOCKA} erzeugt werden koennen.                *)
19
  (*                                                                        *)
20
  (*   GM2    : Definitionsmodul im Stil des GM2 M2 Compilers               *)
21
  (*   XDS    : Definitionsmodul im Stil des XDS M2 Compilers               *)
22
  (*   MOCKA  : Definitionsmodul im Stil des Mocka  Compilers               *)
23
  (*                                                                        *)
24
  (* ansonsten gibt es keine Aenderungen am Quellcode                       *)
25
  (*------------------------------------------------------------------------*)
26
  (* Schnittstelle zu dblas level 2 & 3 FORTRAN 77 Subroutinen.             *)
27
  (* Low level interface to dblas level 2 & 3 FORTRAN 77 subroutines.       *)
28
  (*                                                                        *)
29
  (* Hint: If you use a OpenMPI based version of a Fortran subroutine you   *)
30
  (*       can regulate the numer of threads used by omp_set_num_threads in *)
31
  (*       module OpenMPF77                                                 *)
32
  (*------------------------------------------------------------------------*)
33
  (* Last change:                                                           *)
34
  (*                                                                        *)
35
  (* 29.10.17, MRi: Erstellen der ersten Version nur mit dgemm              *)
36
  (*------------------------------------------------------------------------*)
37
  (* Offene Punkte                                                          *)
38
  (*                                                                        *)
39
  (* - Testen                                                               *)
40
  (*------------------------------------------------------------------------*)
41
  (* Licence : GNU Lesser General Public License (LGPL)                     *)
42
  (*------------------------------------------------------------------------*)
43
44
  (* $Id: LibDBlasLxF77.def.m2pp,v 1.2 2018/01/16 09:19:51 mriedl Exp mriedl $ *)
45
46
FROM LibDBlasL1F77 IMPORT CHAR1,INTEGER4,REAL4,DOUBLEPRECISION;
47
48
<* IF (__XDS__) THEN *>
49
CONST Version = "LibDBlasLxF77 for XDS Modula-2";
50
<* END *>
51
<* IF (__GM2__) THEN *>
52
CONST Version = "LibDBlasLxF77 for GNU Modula-2";
53
<* END *>
54
<* IF (__MOCKA__) THEN *>
55
CONST Version = "LibDBlasLxF77 for GMD Mocka";
56
<* END *>
57
58
PROCEDURE sgemm_(VAR TA    : CHAR1;
59
                 VAR TB    : CHAR1;
60
                 VAR M,N,K : INTEGER4;
61
                 VAR Alpha : REAL4;
62
                 VAR A     : (* ARRAY OF ARRAY OF *) REAL4;
63
                 VAR lda   : INTEGER4;
64
                 VAR B     : (* ARRAY OF ARRAY OF *) REAL4;
65
                 VAR ldb   : INTEGER4;
66
                 VAR Beta  : REAL4;
67
                 VAR C     : (* ARRAY OF ARRAY OF *) REAL4;
68
                 VAR ldc   : INTEGER4);
69
70
PROCEDURE dgemm_(VAR TA    : CHAR1;
71
                 VAR TB    : CHAR1;
72
                 VAR M,N,K : INTEGER4;
73
                 VAR Alpha : DOUBLEPRECISION;
74
                 VAR A     : (* ARRAY OF ARRAY OF *) DOUBLEPRECISION;
75
                 VAR lda   : INTEGER4;
76
                 VAR B     : (* ARRAY OF ARRAY OF *) DOUBLEPRECISION;
77
                 VAR ldb   : INTEGER4;
78
                 VAR Beta  : DOUBLEPRECISION;
79
                 VAR C     : (* ARRAY OF ARRAY OF *) DOUBLEPRECISION;
80
                 VAR ldc   : INTEGER4);
81
82
END LibDBlasLxF77.