--- a
+++ b/CmplxMath.def
@@ -0,0 +1,43 @@
+DEFINITION MODULE CmplxMath;
+
+ (*------------------------------------------------------------------------*)
+ (* Einige Routinen fuer grundlegende komplexe Arithmetik. *)
+ (* Some routinen for basic complex arithmetic. *)
+ (*------------------------------------------------------------------------*)
+ (* Implementation : Michael Riedl *)
+ (* Licence : GNU Lesser General Public License (LGPL) *)
+ (*------------------------------------------------------------------------*)
+
+ (* $Id: CmplxMath.def,v 1.1 2017/09/27 08:14:07 mriedl Exp mriedl $ *)
+
+PROCEDURE CABS(ar,ai : LONGREAL) : LONGREAL;
+
+ (*----------------------------------------------------------------*)
+ (* Absolute value of complex value (ar,ai) = sqrt(ar**2 + ai**2) *)
+ (*----------------------------------------------------------------*)
+
+PROCEDURE CDIV( ar,ai : LONGREAL;
+ br,bi : LONGREAL;
+ VAR cr,ci : LONGREAL);
+
+ (*----------------------------------------------------------------*)
+ (* Complex divide C = A / B *)
+ (*----------------------------------------------------------------*)
+
+PROCEDURE CMUL( Xr,Xi : LONGREAL;
+ Yr,Yi : LONGREAL;
+ VAR Zr,Zi : LONGREAL);
+
+ (*----------------------------------------------------------------*)
+ (* Complex multiplication Z = X * Y *)
+ (*----------------------------------------------------------------*)
+
+PROCEDURE CMULconj( Xr,Xi : LONGREAL;
+ Yr,Yi : LONGREAL;
+ VAR Zr,Zi : LONGREAL);
+
+ (*----------------------------------------------------------------*)
+ (* Complex multiplication Z = X * conj(Y) *)
+ (*----------------------------------------------------------------*)
+
+END CmplxMath.