--- 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);
(*----------------------------------------------------------------*)