Switch to side-by-side view

--- a/LibDBlasM2.def
+++ b/LibDBlasM2.def
@@ -45,10 +45,10 @@
 
   (* $Id: LibDBlasM2.def,v 1.12 2018/09/12 13:20:49 mriedl Exp mriedl $ *)
 
-FROM Deklera IMPORT FLOAT,CFLOAT; (* REAL/COMPLEX Type *)
-
-PROCEDURE SumVek(VAR X   : ARRAY OF FLOAT;
-                     s,e : CARDINAL) : FLOAT;
+FROM F77func IMPORT REAL8,COMPLEX16; (* REAL/COMPLEX Type *)
+
+PROCEDURE SumVek(VAR X   : ARRAY OF REAL8;
+                     s,e : CARDINAL) : REAL8;
 
           (*----------------------------------------------------------------*)
           (* Berechnet \sum_{i=s}^e X_i, wobei der erste (m"ogliche)        *)
@@ -60,8 +60,8 @@
           (* nete "gard-digit" (c) wegoptimiert wird !!!                    *)
           (*----------------------------------------------------------------*)
 
-PROCEDURE AbsSumVek(VAR X   : ARRAY OF FLOAT;
-                        s,e : CARDINAL) : FLOAT;
+PROCEDURE AbsSumVek(VAR X   : ARRAY OF REAL8;
+                        s,e : CARDINAL) : REAL8;
 
           (*----------------------------------------------------------------*)
           (* Berechnet \sum_{i=s}^e |X_i|, wobei der erste (m"ogliche)      *)
@@ -69,8 +69,8 @@
           (* Bis auf die Absolutwerte identisch mit SumVek.                 *)
           (*----------------------------------------------------------------*)
 
-PROCEDURE ENorm(VAR X   : ARRAY OF FLOAT;
-                    s,e : CARDINAL) : FLOAT;
+PROCEDURE ENorm(VAR X   : ARRAY OF REAL8;
+                    s,e : CARDINAL) : REAL8;
 
           (*----------------------------------------------------------------*)
           (* Berechnet \sqrt{ \sum_{i=s}^e X_i^2} , wobei der erste         *)
@@ -96,8 +96,8 @@
           (*----------------------------------------------------------------*)
 
 PROCEDURE dnrm2(    n    : INTEGER;
-                VAR X    : ARRAY OF FLOAT;
-                    IncX : INTEGER): FLOAT;
+                VAR X    : ARRAY OF REAL8;
+                    IncX : INTEGER): REAL8;
 
           (*----------------------------------------------------------------*)
           (* dnrm2 returns the euclidean norm of a vector via the function  *)
@@ -105,9 +105,9 @@
           (*----------------------------------------------------------------*)
 
 PROCEDURE dswap(    N    : CARDINAL;
-                VAR X    : ARRAY OF FLOAT;  
+                VAR X    : ARRAY OF REAL8;  
                     incX : INTEGER;  
-                VAR Y    : ARRAY OF FLOAT;
+                VAR Y    : ARRAY OF REAL8;
                     incY : INTEGER);
 
           (*----------------------------------------------------------------*)
@@ -116,9 +116,9 @@
           (*----------------------------------------------------------------*)
 
 PROCEDURE dcopy(    N    : INTEGER;
-                VAR X    : ARRAY OF FLOAT;
+                VAR X    : ARRAY OF REAL8;
                     IncX : INTEGER;
-                VAR Y    : ARRAY OF FLOAT;
+                VAR Y    : ARRAY OF REAL8;
                     IncY : INTEGER);
 
           (*----------------------------------------------------------------*)
@@ -129,21 +129,21 @@
           (*----------------------------------------------------------------*)
 
 PROCEDURE drot(    N    : INTEGER;  
-               VAR X    : ARRAY OF FLOAT;  
+               VAR X    : ARRAY OF REAL8;  
                    incX : INTEGER;
-               VAR Y    : ARRAY OF FLOAT;
+               VAR Y    : ARRAY OF REAL8;
                    incY : INTEGER; 
-                   c,s  : FLOAT);
+                   c,s  : REAL8);
 
           (*---------------------------------------------------------------*)
           (* Applies a plane rotation.                                     *)
           (* Jack Dongarra, linpack, 3/11/78.                              *)
           (*---------------------------------------------------------------*)
 
-PROCEDURE drotg(VAR da : FLOAT;  
-                VAR db : FLOAT;  
-                VAR c  : FLOAT;  
-                VAR s  : FLOAT);
+PROCEDURE drotg(VAR da : REAL8;  
+                VAR db : REAL8;  
+                VAR c  : REAL8;  
+                VAR s  : REAL8);
 
           (*---------------------------------------------------------------*)
           (* Construct a Givens plane rotation                             *)
@@ -151,8 +151,8 @@
           (*---------------------------------------------------------------*)
 
 PROCEDURE dscal(   n    : INTEGER; 
-                   da   : FLOAT;
-               VAR dx   : ARRAY OF FLOAT; 
+                   da   : REAL8;
+               VAR dx   : ARRAY OF REAL8; 
                    incx : INTEGER);
 
           (*----------------------------------------------------------------*)
@@ -162,10 +162,10 @@
           (*----------------------------------------------------------------*)
 
 PROCEDURE daxpy(    n    : INTEGER;
-                    da   : FLOAT;
-                VAR dx   : ARRAY OF FLOAT; 
+                    da   : REAL8;
+                VAR dx   : ARRAY OF REAL8; 
                     incx : INTEGER;
-                VAR dy   : ARRAY OF FLOAT; 
+                VAR dy   : ARRAY OF REAL8; 
                     incy : INTEGER);
 
           (*----------------------------------------------------------------*)
@@ -175,10 +175,10 @@
           (*----------------------------------------------------------------*)
 
 PROCEDURE ddot(    N    : INTEGER;
-               VAR X    : ARRAY OF FLOAT;
+               VAR X    : ARRAY OF REAL8;
                    IncX : INTEGER;
-               VAR Y    : ARRAY OF FLOAT;
-                   IncY : INTEGER) : FLOAT;
+               VAR Y    : ARRAY OF REAL8;
+                   IncY : INTEGER) : REAL8;
 
           (*----------------------------------------------------------------*)
           (* Forms the dot product of two vectors. Uses unrolled loops for  *)
@@ -188,7 +188,7 @@
           (*----------------------------------------------------------------*)
 
 PROCEDURE idamax(    n    : INTEGER;
-                 VAR dx   : ARRAY OF FLOAT; 
+                 VAR dx   : ARRAY OF REAL8; 
                      incx : INTEGER) : INTEGER;
 
           (*----------------------------------------------------------------*)
@@ -199,7 +199,7 @@
           (*----------------------------------------------------------------*)
 
 PROCEDURE idamin(    n    : INTEGER;
-                 VAR X    : ARRAY OF FLOAT; 
+                 VAR X    : ARRAY OF REAL8; 
                      IncX : INTEGER) : INTEGER;
 
           (*----------------------------------------------------------------*)
@@ -212,9 +212,9 @@
           (*----------------------------------------------------------------*)
 
 PROCEDURE dasum(    dim      : CARDINAL;
-                VAR X        : ARRAY OF FLOAT;
+                VAR X        : ARRAY OF REAL8;
                     Inc      : CARDINAL; (* Inkrementwert >= 1*)
-                    Unrolled : BOOLEAN) : FLOAT;
+                    Unrolled : BOOLEAN) : REAL8;
 
           (*----------------------------------------------------------------*)
           (* Berechnet die Summe der Absolutwerte der im Feld X gespeich-   *)
@@ -223,13 +223,13 @@
 
 PROCEDURE dgemv(    Trans  : CHAR;
                     M,N    : INTEGER;
-                    Alpha  : FLOAT;
-                VAR A      : ARRAY OF ARRAY OF FLOAT;
+                    Alpha  : REAL8;
+                VAR A      : ARRAY OF ARRAY OF REAL8;
                     LDA    : INTEGER;
-                VAR X      : ARRAY OF FLOAT;
+                VAR X      : ARRAY OF REAL8;
                     IncX   : INTEGER;
-                    Beta   : FLOAT;
-                VAR Y      : ARRAY OF FLOAT;
+                    Beta   : REAL8;
+                VAR Y      : ARRAY OF REAL8;
                     IncY   : INTEGER);
 
           (*----------------------------------------------------------------*)
@@ -300,13 +300,13 @@
 
 PROCEDURE dgemm(    TransA,TransB : CHAR;
                     M,N,K         : INTEGER;
-                    Alpha         : FLOAT;
-                VAR A             : ARRAY OF ARRAY OF FLOAT;
+                    Alpha         : REAL8;
+                VAR A             : ARRAY OF ARRAY OF REAL8;
                     LDA           : INTEGER;
-                VAR B             : ARRAY OF ARRAY OF FLOAT;
+                VAR B             : ARRAY OF ARRAY OF REAL8;
                     LDB           : INTEGER;
-                    Beta          : FLOAT;
-                VAR C             : ARRAY OF ARRAY OF FLOAT;
+                    Beta          : REAL8;
+                VAR C             : ARRAY OF ARRAY OF REAL8;
                     LDC           : INTEGER);
 
           (*----------------------------------------------------------------*)
@@ -352,7 +352,7 @@
           (*           matrix op( A ) and the number of rows of the matrix  *)
           (*           op( B ). K must be at least zero.                    *)
           (*  Alpha  : On entry, Alpha specifies the scalar alpha.          *)
-          (*  A      : FLOAT array of DIMENSION ( LDA, ka ), where ka is *)
+          (*  A      : REAL8 array of DIMENSION ( LDA, ka ), where ka is *)
           (*           k when  TransA = 'N' or 'n', and is m otherwise.     *)
           (*           Before entry with  TransA = 'N' or 'n', the leading  *)
           (*           m by k part of the array  A  must contain the matrix *)
@@ -363,7 +363,7 @@
           (*           declared in the calling (sub) program. When TransA = *)
           (*           'N' or 'n' then LDA must be at least  max( 1, m ),   *)
           (*           otherwise LDA must be at least  max( 1, k ).         *)
-          (*  B      : FLOAT array of DIMENSION ( LDB, kb ),             *)
+          (*  B      : REAL8 array of DIMENSION ( LDB, kb ),             *)
           (*           where kb is n when  TransB = 'N' or 'n', and is  k   *)
           (*           otherwise. Before entry with TransB = 'N' or 'n',    *)
           (*           the leading  k by n  part of the array  B  must      *)
@@ -376,7 +376,7 @@
           (*           otherwise LDB must be at least  max( 1, n ).         *)
           (*  Beta   : On entry, Beta specifies the scalar beta. When Beta  *)
           (*           is supplied as zero then C need not be set on input. *)
-          (*  C      : FLOAT array of DIMENSION ( LDC, n ).              *)
+          (*  C      : REAL8 array of DIMENSION ( LDC, n ).              *)
           (*           Before entry, the leading  m by n part of the array  *)
           (*           C must contain the matrix C, except when beta is     *)
           (*           zero, in which case C need not be set on entry.      *)
@@ -401,12 +401,12 @@
           (*----------------------------------------------------------------*)
 
 PROCEDURE dger(    m,n   : CARDINAL;
-                   Alpha : FLOAT;
-               VAR X     : ARRAY OF FLOAT;
+                   Alpha : REAL8;
+               VAR X     : ARRAY OF REAL8;
                    IncX  : CARDINAL;
-               VAR Y     : ARRAY OF FLOAT;
+               VAR Y     : ARRAY OF REAL8;
                    IncY  : CARDINAL;
-               VAR A     : ARRAY OF ARRAY OF FLOAT;
+               VAR A     : ARRAY OF ARRAY OF REAL8;
                    lda   : CARDINAL);
 
            (*--------------------------------------------------------------*)
@@ -449,9 +449,9 @@
            (*--------------------------------------------------------------*)
 
 PROCEDURE zswap( N       : CARDINAL;
-                VAR X    : ARRAY OF CFLOAT;
+                VAR X    : ARRAY OF COMPLEX16;
                     IncX : INTEGER;
-                VAR Y    : ARRAY OF CFLOAT;
+                VAR Y    : ARRAY OF COMPLEX16;
                     IncY : INTEGER);
 
           (*----------------------------------------------------------------*)
@@ -459,9 +459,9 @@
           (*----------------------------------------------------------------*)
 
 PROCEDURE zcopy(    N    : INTEGER;
-                VAR X    : ARRAY OF CFLOAT;
+                VAR X    : ARRAY OF COMPLEX16;
                     IncX : INTEGER;
-                VAR Y    : ARRAY OF CFLOAT;
+                VAR Y    : ARRAY OF COMPLEX16;
                     IncY : INTEGER);
 
           (*----------------------------------------------------------------*)
@@ -472,10 +472,10 @@
           (*----------------------------------------------------------------*)
 
 PROCEDURE zdotc(    N    : INTEGER;
-                VAR X    : ARRAY OF CFLOAT;
+                VAR X    : ARRAY OF COMPLEX16;
                     IncX : INTEGER;
-                VAR Y    : ARRAY OF CFLOAT;
-                    IncY : INTEGER) : CFLOAT;
+                VAR Y    : ARRAY OF COMPLEX16;
+                    IncY : INTEGER) : COMPLEX16;
 
           (*----------------------------------------------------------------*)
           (* Forms the dot product of two vectors. Uses unrolled loops for  *)
@@ -484,8 +484,8 @@
 
 
 PROCEDURE dznrm2(    N    : INTEGER;
-                 VAR X    : ARRAY OF CFLOAT;
-                     IncX : INTEGER) : FLOAT;
+                 VAR X    : ARRAY OF COMPLEX16;
+                     IncX : INTEGER) : REAL8;
 
           (*----------------------------------------------------------------*)
           (* dznrm2 returns the euclidean norm of a vector so that          *)
@@ -493,8 +493,8 @@
           (*----------------------------------------------------------------*)
 
 PROCEDURE zscal(    n    : INTEGER;
-                    da   : CFLOAT;
-                VAR dx   : ARRAY OF CFLOAT;
+                    da   : COMPLEX16;
+                VAR dx   : ARRAY OF COMPLEX16;
                     IncX : INTEGER);
 
           (*----------------------------------------------------------------*)
@@ -502,10 +502,10 @@
           (*----------------------------------------------------------------*)
 
 PROCEDURE zaxpy(    n    : INTEGER;
-                    da   : CFLOAT;
-                VAR X    : ARRAY OF CFLOAT;
+                    da   : COMPLEX16;
+                VAR X    : ARRAY OF COMPLEX16;
                     IncX : INTEGER;
-                VAR Y    : ARRAY OF CFLOAT;
+                VAR Y    : ARRAY OF COMPLEX16;
                     IncY : INTEGER);
 
           (*----------------------------------------------------------------*)
@@ -513,11 +513,11 @@
           (*----------------------------------------------------------------*)
 
 PROCEDURE zdrot(    N    : INTEGER;
-                VAR X    : ARRAY OF CFLOAT;
+                VAR X    : ARRAY OF COMPLEX16;
                     IncX : INTEGER;
-                VAR Y    : ARRAY OF CFLOAT;
+                VAR Y    : ARRAY OF COMPLEX16;
                     IncY : INTEGER;
-                    c,s  : FLOAT);
+                    c,s  : REAL8);
 
           (*----------------------------------------------------------------*)
           (* Applies a plane rotation, where the cos and sin (c and s) are  *)
@@ -526,13 +526,13 @@
 
 PROCEDURE zgemv(    Trans : CHAR; 
                     M,N   : INTEGER;
-                    Alpha : CFLOAT;
-                VAR A     : ARRAY OF ARRAY OF CFLOAT;
+                    Alpha : COMPLEX16;
+                VAR A     : ARRAY OF ARRAY OF COMPLEX16;
                     lda   : INTEGER;
-                VAR X     : ARRAY OF CFLOAT;
+                VAR X     : ARRAY OF COMPLEX16;
                     IncX  : INTEGER;
-                    Beta  : CFLOAT;
-                VAR Y     : ARRAY OF CFLOAT;
+                    Beta  : COMPLEX16;
+                VAR Y     : ARRAY OF COMPLEX16;
                     IncY  : INTEGER);
 
           (*----------------------------------------------------------------*)
@@ -597,13 +597,13 @@
 
 PROCEDURE zgemm(    TransA,TransB : CHAR;
                     M,N,K         : INTEGER;
-                    Alpha         : CFLOAT;
-                VAR A             : ARRAY OF ARRAY OF CFLOAT;
+                    Alpha         : COMPLEX16;
+                VAR A             : ARRAY OF ARRAY OF COMPLEX16;
                     LDA           : INTEGER;
-                VAR B             : ARRAY OF ARRAY OF CFLOAT;
+                VAR B             : ARRAY OF ARRAY OF COMPLEX16;
                     LDB           : INTEGER;
-                    Beta          : CFLOAT;
-                VAR C             : ARRAY OF ARRAY OF CFLOAT;
+                    Beta          : COMPLEX16;
+                VAR C             : ARRAY OF ARRAY OF COMPLEX16;
                     LDC           : INTEGER);
 
           (*----------------------------------------------------------------*)