-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathATAN2.EXP
More file actions
executable file
·51 lines (40 loc) · 878 Bytes
/
Copy pathATAN2.EXP
File metadata and controls
executable file
·51 lines (40 loc) · 878 Bytes
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
(* @NESTEDCOMMENTS := 'Yes' *)
(* @PATH := '\/Mathematical' *)
(* @OBJECTFLAGS := '0, 8' *)
(* @SYMFILEFLAGS := '2048' *)
FUNCTION ATAN2 : REAL
VAR_INPUT
Y : REAL;
X : REAL;
END_VAR
(*
version 1.2 10. mar. 2009
programmer hugo
tested by oscat
this function calculates the angle in a coordinate system in rad.
*)
(* @END_DECLARATION := '0' *)
IF X > 0.0 THEN
ATAN2 := ATAN(Y/X);
ELSIF X < 0.0 THEN
IF Y >=0.0 THEN
ATAN2 := ATAN(Y/X) + MATH.PI;
ELSE
ATAN2 := ATAN(Y/X) - MATH.PI;
END_IF;
ELSIF Y > 0.0 THEN
ATAN2 := MATH.PI05;
ELSIF Y < 0.0 THEN
ATAN2 := -MATH.PI05;
ELSE
ATAN2 := 0.0;
END_IF;
(* revision history
hm 20. apr. 2008 rev 1.0
original version
hm 18. oct. 2008 rev 1.1
changed to use math constants
hm 10. mar. 2009 rev 1.2
real constants updated to new systax using dot
*)
END_FUNCTION