Download this file

LngCmplxMath.def    138 lines (107 with data), 5.8 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
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
DEFINITION MODULE LngCmplxMath;
(*------------------------------------------------------------------------*)
(* Baisisrechenoperationen f端r den Record-Typ Deklera.LONGCMPLX *)
(* und abgeleitete Funktionen *)
(* Mathematical functions for the type LONGCMPLX *)
(* *)
(* This module should not be used in new projects !!! *)
(*------------------------------------------------------------------------*)
(* Implementation : Michael Riedl *)
(* Licence : GNU Lesser General Public License (LGPL) *)
(*------------------------------------------------------------------------*)
(* $Id: LngCmplxMath.def,v 1.2 2017/09/24 10:14:20 mriedl Exp mriedl $ *)
FROM Deklera IMPORT LONGCMPLX;
PROCEDURE CMPLX(real,imag : LONGREAL) : LONGCMPLX;
PROCEDURE CAdd(x,y : LONGCMPLX) : LONGCMPLX; (* x + y *)
PROCEDURE CSub(x,y : LONGCMPLX) : LONGCMPLX; (* x - y *)
PROCEDURE CMul(x,y : LONGCMPLX) : LONGCMPLX; (* x*y *)
PROCEDURE CDiv(x,y : LONGCMPLX) : LONGCMPLX; (* x / y *)
PROCEDURE CRez(x : LONGCMPLX) : LONGCMPLX; (* 1 / x *)
(* Fehlt
*
* CONST
* i = CMPLX (0.0, 1.0);
* one = CMPLX (1.0, 0.0);
* zero = CMPLX (0.0, 0.0);
*)
PROCEDURE abs(z: LONGCMPLX): LONGREAL;
(*----------------------------------------------------------------*)
(* Returns the length of z *)
(*----------------------------------------------------------------*)
(* Fehlt
*
* PROCEDURE arg (z: LONGCMPLX): LONGREAL;
*
* (*----------------------------------------------------------------*)
* (* Returns the angle that z subtends to the positive real axis *)
* (*----------------------------------------------------------------*)
*)
PROCEDURE conj (z: LONGCMPLX): LONGCMPLX;
(*----------------------------------------------------------------*)
(* Returns the complex conjugate of z *)
(*----------------------------------------------------------------*)
(* Fehlt
*
* PROCEDURE power (base: LONGCMPLX; exponent: LONGREAL): LONGCMPLX;
*
* (*----------------------------------------------------------------*)
* (* value of the number base raised to the power exponent *)
* (*----------------------------------------------------------------*)
*)
PROCEDURE sqrt (z: LONGCMPLX): LONGCMPLX;
(*----------------------------------------------------------------*)
(* Returns the principal square root of z *)
(*----------------------------------------------------------------*)
PROCEDURE exp (z: LONGCMPLX): LONGCMPLX;
(*----------------------------------------------------------------*)
(* Returns the complex exponential of z *)
(*----------------------------------------------------------------*)
PROCEDURE ln (z: LONGCMPLX): LONGCMPLX;
(*----------------------------------------------------------------*)
(* Returns the principal value of the natural logarithm of z *)
(*----------------------------------------------------------------*)
PROCEDURE sin (z: LONGCMPLX): LONGCMPLX;
(*----------------------------------------------------------------*)
(* Returns the sine of z *)
(*----------------------------------------------------------------*)
PROCEDURE cos (z: LONGCMPLX): LONGCMPLX;
(*----------------------------------------------------------------*)
(* Returns the cosine of z *)
(*----------------------------------------------------------------*)
PROCEDURE tan (z: LONGCMPLX): LONGCMPLX;
(*----------------------------------------------------------------*)
(* Returns the tangent of z *)
(*----------------------------------------------------------------*)
(* Fehlt
*
* PROCEDURE arcsin (z: LONGCMPLX): LONGCMPLX;
*
* (*----------------------------------------------------------------*)
* (* Returns the arcsine of z *)
* (*----------------------------------------------------------------*)
*)
(* Fehlt
*
* PROCEDURE arccos (z: LONGCMPLX): LONGCMPLX;
*
* (*----------------------------------------------------------------*)
* (* Returns the arccosine of z *)
* (*----------------------------------------------------------------*)
*)
PROCEDURE arctan (z: LONGCMPLX): LONGCMPLX;
(*----------------------------------------------------------------*)
(* Returns the arctangent of z *)
(*----------------------------------------------------------------*)
(* Fehlt
*
* PROCEDURE polarToComplex (abs, arg: LONGREAL): LONGCMPLX;
*
* (*----------------------------------------------------------------*)
* (* Complex number with the specified polar coordinates *)
* (*----------------------------------------------------------------*)
*)
PROCEDURE scalarMult (scalar: LONGREAL; z: LONGCMPLX): LONGCMPLX;
(*----------------------------------------------------------------*)
(* Returns the scalar product of scalar with z *)
(*----------------------------------------------------------------*)
END LngCmplxMath.