|
a/CmplxMath.mod |
|
b/CmplxMath.mod |
|
... |
|
... |
2 |
|
2 |
|
3 |
(*------------------------------------------------------------------------*)
|
3 |
(*------------------------------------------------------------------------*)
|
4 |
(* Einige Routinen fuer grundlegende komplexe Arithmetik. *)
|
4 |
(* Einige Routinen fuer grundlegende komplexe Arithmetik. *)
|
5 |
(* Some routinen for basic complex arithmetic. *)
|
5 |
(* Some routinen for basic complex arithmetic. *)
|
6 |
(*------------------------------------------------------------------------*)
|
6 |
(*------------------------------------------------------------------------*)
|
7 |
(* Letzte Veraenderung *)
|
|
|
8 |
(* *)
|
|
|
9 |
(* 16.01.17, MRi: Erstellen der ersten Verion *)
|
|
|
10 |
(*------------------------------------------------------------------------*)
|
|
|
11 |
(* Implementation : Michael Riedl *)
|
7 |
(* Implementation : Michael Riedl *)
|
12 |
(* Licence : GNU Lesser General Public License (LGPL) *)
|
8 |
(* Licence : GNU Lesser General Public License (LGPL) *)
|
13 |
(*------------------------------------------------------------------------*)
|
9 |
(*------------------------------------------------------------------------*)
|
14 |
|
10 |
|
15 |
(* $Id: CmplxMath.mod,v 1.1 2017/09/27 08:15:18 mriedl Exp mriedl $ *)
|
11 |
(* $Id: CmplxMath.mod,v 1.2 2019/02/01 21:24:34 mriedl Exp mriedl $ *)
|
16 |
|
12 |
|
17 |
IMPORT Errors;
|
13 |
IMPORT Errors;
|
18 |
|
14 |
|
19 |
PROCEDURE CDIV( ar,ai : LONGREAL;
|
15 |
PROCEDURE CDIV( ar,ai : LONGREAL;
|
20 |
br,bi : LONGREAL;
|
16 |
br,bi : LONGREAL;
|
|
... |
|
... |
40 |
END CDIV;
|
36 |
END CDIV;
|
41 |
|
37 |
|
42 |
PROCEDURE CMUL( Xr,Xi : LONGREAL;
|
38 |
PROCEDURE CMUL( Xr,Xi : LONGREAL;
|
43 |
Yr,Yi : LONGREAL;
|
39 |
Yr,Yi : LONGREAL;
|
44 |
VAR Zr,Zi : LONGREAL);
|
40 |
VAR Zr,Zi : LONGREAL);
|
|
|
41 |
|
45 |
BEGIN
|
42 |
BEGIN
|
46 |
Zr := Xr*Yr - Xi*Yi;
|
43 |
Zr := Xr*Yr - Xi*Yi;
|
47 |
Zi := Xr*Yi + Xi*Yr;
|
44 |
Zi := Xr*Yi + Xi*Yr;
|
48 |
END CMUL;
|
45 |
END CMUL;
|
49 |
|
46 |
|
50 |
PROCEDURE CMULconj( Xr,Xi : LONGREAL;
|
47 |
PROCEDURE CMULconj( Xr,Xi : LONGREAL;
|
51 |
Yr,Yi : LONGREAL;
|
48 |
Yr,Yi : LONGREAL;
|
52 |
VAR Zr,Zi : LONGREAL);
|
49 |
VAR Zr,Zi : LONGREAL);
|
|
|
50 |
|
53 |
BEGIN
|
51 |
BEGIN
|
54 |
Zr := Xr*Yr + Xi*Yi;
|
52 |
Zr := Xr*Yr + Xi*Yi;
|
55 |
Zi := Xi*Yr - Xr*Yi ;
|
53 |
Zi := Xi*Yr - Xr*Yi ;
|
56 |
END CMULconj;
|
54 |
END CMULconj;
|
57 |
|
55 |
|