--- a/LibDBlasL1F77.def.m2pp
+++ b/LibDBlasL1F77.def.m2pp
@@ -60,7 +60,7 @@
(* Licence : GNU Lesser General Public License (LGPL) *)
(*------------------------------------------------------------------------*)
- (* $Id: LibDBlasL1F77.def.m2pp,v 1.3 2018/01/16 09:19:51 mriedl Exp mriedl $ *)
+ (* $Id: LibDBlasL1F77.def.m2pp,v 1.5 2018/09/12 13:20:49 mriedl Exp mriedl $ *)
<* IF (__XDS__) THEN *>
CONST Version = "LibDBlasL1F77 for XDS Modula-2";
@@ -198,4 +198,80 @@
(* Calculated the sum of absolute values stored in field X *)
(*----------------------------------------------------------------*)
+(*=========================== Complex valued procedures ====================*)
+
+PROCEDURE zswap_(VAR N : INTEGER4;
+ VAR X : (* ARRAY OF *) DOUBLECOMPLEX;
+ VAR IncX : INTEGER4;
+ VAR Y : (* ARRAY OF *) DOUBLECOMPLEX;
+ VAR IncY : INTEGER4);
+
+ (*----------------------------------------------------------------*)
+ (* Swap complex vectors X and Y *)
+ (*----------------------------------------------------------------*)
+
+PROCEDURE zcopy_(VAR N : INTEGER4;
+ VAR X : (* ARRAY OF *) DOUBLECOMPLEX;
+ VAR IncX : INTEGER4;
+ VAR Y : (* ARRAY OF *) DOUBLECOMPLEX;
+ VAR IncY : INTEGER4);
+
+ (*----------------------------------------------------------------*)
+ (* copies a vector, x, to a vector, y. *)
+ (* uses unrolled loops for increments equal to one. *)
+ (* jack dongarra, linpack, 3/11/78. *)
+ (* MRi, Modula-2 10.04.16 | 09.09.18 (complex version) *)
+ (*----------------------------------------------------------------*)
+
+PROCEDURE zdotc_(VAR N : INTEGER4;
+ VAR X : (* ARRAY OF *) DOUBLECOMPLEX;
+ VAR IncX : INTEGER4;
+ VAR Y : (* ARRAY OF *) DOUBLECOMPLEX;
+ VAR IncY : INTEGER4) : DOUBLECOMPLEX;
+
+ (*----------------------------------------------------------------*)
+ (* Forms the dot product of two vectors. Uses unrolled loops for *)
+ (* increments equal to one. *)
+ (*----------------------------------------------------------------*)
+
+PROCEDURE dznrm2_(VAR N : INTEGER4;
+ VAR X : (* ARRAY OF *) DOUBLECOMPLEX;
+ VAR IncX : INTEGER4) : DOUBLEPRECISION;
+
+ (*----------------------------------------------------------------*)
+ (* dznrm2 returns the euclidean norm of a vector so that *)
+ (* dznrm2 := sqrt( X**H*X ) *)
+ (*----------------------------------------------------------------*)
+
+PROCEDURE zscal_(VAR n : INTEGER4;
+ VAR da : DOUBLECOMPLEX;
+ VAR dx : (* ARRAY OF *) DOUBLECOMPLEX;
+ VAR IncX : INTEGER4);
+
+ (*----------------------------------------------------------------*)
+ (* Scales a vector by a constant (UNROLLED version) *)
+ (*----------------------------------------------------------------*)
+
+PROCEDURE zaxpy_(VAR n : INTEGER4;
+ VAR da : DOUBLECOMPLEX;
+ VAR X : (* ARRAY OF *) DOUBLECOMPLEX;
+ VAR IncX : INTEGER4;
+ VAR Y : (* ARRAY OF *) DOUBLECOMPLEX;
+ VAR IncY : INTEGER4);
+
+ (*----------------------------------------------------------------*)
+ (* constant times a vector plus a vector *)
+ (*----------------------------------------------------------------*)
+
+PROCEDURE zdrot_(VAR N : INTEGER4;
+ VAR X : (* ARRAY OF *) DOUBLECOMPLEX;
+ VAR IncX : INTEGER4;
+ VAR Y : (* ARRAY OF *) DOUBLECOMPLEX;
+ VAR IncY : INTEGER4;
+ VAR c,s : REAL4);
+
+ (*----------------------------------------------------------------*)
+ (* Applies a plane rotation. *)
+ (*----------------------------------------------------------------*)
+
END LibDBlasL1F77.