Download this file

CmplxMath.def    44 lines (32 with data), 2.0 kB

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
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.