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.