|
a |
|
b/CmplxMath.def |
|
|
1 |
DEFINITION MODULE CmplxMath;
|
|
|
2 |
|
|
|
3 |
(*------------------------------------------------------------------------*)
|
|
|
4 |
(* Einige Routinen fuer grundlegende komplexe Arithmetik. *)
|
|
|
5 |
(* Some routinen for basic complex arithmetic. *)
|
|
|
6 |
(*------------------------------------------------------------------------*)
|
|
|
7 |
(* Implementation : Michael Riedl *)
|
|
|
8 |
(* Licence : GNU Lesser General Public License (LGPL) *)
|
|
|
9 |
(*------------------------------------------------------------------------*)
|
|
|
10 |
|
|
|
11 |
(* $Id: CmplxMath.def,v 1.1 2017/09/27 08:14:07 mriedl Exp mriedl $ *)
|
|
|
12 |
|
|
|
13 |
PROCEDURE CABS(ar,ai : LONGREAL) : LONGREAL;
|
|
|
14 |
|
|
|
15 |
(*----------------------------------------------------------------*)
|
|
|
16 |
(* Absolute value of complex value (ar,ai) = sqrt(ar**2 + ai**2) *)
|
|
|
17 |
(*----------------------------------------------------------------*)
|
|
|
18 |
|
|
|
19 |
PROCEDURE CDIV( ar,ai : LONGREAL;
|
|
|
20 |
br,bi : LONGREAL;
|
|
|
21 |
VAR cr,ci : LONGREAL);
|
|
|
22 |
|
|
|
23 |
(*----------------------------------------------------------------*)
|
|
|
24 |
(* Complex divide C = A / B *)
|
|
|
25 |
(*----------------------------------------------------------------*)
|
|
|
26 |
|
|
|
27 |
PROCEDURE CMUL( Xr,Xi : LONGREAL;
|
|
|
28 |
Yr,Yi : LONGREAL;
|
|
|
29 |
VAR Zr,Zi : LONGREAL);
|
|
|
30 |
|
|
|
31 |
(*----------------------------------------------------------------*)
|
|
|
32 |
(* Complex multiplication Z = X * Y *)
|
|
|
33 |
(*----------------------------------------------------------------*)
|
|
|
34 |
|
|
|
35 |
PROCEDURE CMULconj( Xr,Xi : LONGREAL;
|
|
|
36 |
Yr,Yi : LONGREAL;
|
|
|
37 |
VAR Zr,Zi : LONGREAL);
|
|
|
38 |
|
|
|
39 |
(*----------------------------------------------------------------*)
|
|
|
40 |
(* Complex multiplication Z = X * conj(Y) *)
|
|
|
41 |
(*----------------------------------------------------------------*)
|
|
|
42 |
|
|
|
43 |
END CmplxMath.
|