]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/m2/gm2-libs-iso/ShortComplexMath.def
Update copyright years.
[thirdparty/gcc.git] / gcc / m2 / gm2-libs-iso / ShortComplexMath.def
CommitLineData
1eee94d3
GM
1(* ShortComplexMath.def provides access to the ShortComplex intrincics.
2
83ffe9cd 3Copyright (C) 2010-2023 Free Software Foundation, Inc.
1eee94d3
GM
4Contributed by Gaius Mulley <gaius.mulley@southwales.ac.uk>.
5
6This file is part of GNU Modula-2.
7
8GNU Modula-2 is free software; you can redistribute it and/or modify
9it under the terms of the GNU General Public License as published by
10the Free Software Foundation; either version 3, or (at your option)
11any later version.
12
13GNU Modula-2 is distributed in the hope that it will be useful, but
14WITHOUT ANY WARRANTY; without even the implied warranty of
15MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16General Public License for more details.
17
18Under Section 7 of GPL version 3, you are granted additional
19permissions described in the GCC Runtime Library Exception, version
203.1, as published by the Free Software Foundation.
21
22You should have received a copy of the GNU General Public License and
23a copy of the GCC Runtime Library Exception along with this program;
24see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
25<http://www.gnu.org/licenses/>. *)
26
27DEFINITION MODULE ShortComplexMath;
28
29 (* Mathematical functions for the type SHORTCOMPLEX *)
30
31CONST
32 i = CMPLX (0.0, 1.0);
33 one = CMPLX (1.0, 0.0);
34 zero = CMPLX (0.0, 0.0);
35
36PROCEDURE abs (z: SHORTCOMPLEX): SHORTREAL;
37 (* Returns the length of z *)
38
39PROCEDURE arg (z: SHORTCOMPLEX): SHORTREAL;
40 (* Returns the angle that z subtends to the positive real axis *)
41
42PROCEDURE conj (z: SHORTCOMPLEX): SHORTCOMPLEX;
43 (* Returns the complex conjugate of z *)
44
45PROCEDURE power (base: SHORTCOMPLEX; exponent: SHORTREAL): SHORTCOMPLEX;
46 (* Returns the value of the number base raised to the power exponent *)
47
48PROCEDURE sqrt (z: SHORTCOMPLEX): SHORTCOMPLEX;
49 (* Returns the principal square root of z *)
50
51PROCEDURE exp (z: SHORTCOMPLEX): SHORTCOMPLEX;
52 (* Returns the complex exponential of z *)
53
54PROCEDURE ln (z: SHORTCOMPLEX): SHORTCOMPLEX;
55 (* Returns the principal value of the natural logarithm of z *)
56
57PROCEDURE sin (z: SHORTCOMPLEX): SHORTCOMPLEX;
58 (* Returns the sine of z *)
59
60PROCEDURE cos (z: SHORTCOMPLEX): SHORTCOMPLEX;
61 (* Returns the cosine of z *)
62
63PROCEDURE tan (z: SHORTCOMPLEX): SHORTCOMPLEX;
64 (* Returns the tangent of z *)
65
66PROCEDURE arcsin (z: SHORTCOMPLEX): SHORTCOMPLEX;
67 (* Returns the arcsine of z *)
68
69PROCEDURE arccos (z: SHORTCOMPLEX): SHORTCOMPLEX;
70 (* Returns the arccosine of z *)
71
72PROCEDURE arctan (z: SHORTCOMPLEX): SHORTCOMPLEX;
73 (* Returns the arctangent of z *)
74
75PROCEDURE polarToComplex (abs, arg: SHORTREAL): SHORTCOMPLEX;
76 (* Returns the complex number with the specified polar coordinates *)
77
78PROCEDURE scalarMult (scalar: SHORTREAL; z: SHORTCOMPLEX): SHORTCOMPLEX;
79 (* Returns the scalar product of scalar with z *)
80
81PROCEDURE IsCMathException (): BOOLEAN;
82 (* Returns TRUE if the current coroutine is in the exceptional execution state
83 because of the raising of an exception in a routine from this module; otherwise
84 returns FALSE.
85 *)
86
87END ShortComplexMath.
88