summaryrefslogtreecommitdiff
path: root/Doc/Elementary Functions/TrigonometricsDependeces.dot
blob: 23fa74e458ff4111035b0be8cc0018cd50cd9af9 (plain)
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
digraph TrigonometricsFunctions {
	size="8,8";
	node [shape=circle];

//
// -*- Basic Call -*-
//
F77_Call [label="Fortan Call", shape=doublecircle];
C_Call [label="C Call", shape=doublecircle];

//
// -*- Specific LAPACK Call -*-
//
Dlamch_E_Call [label="dlamch('e')", comment="Précision Machine - LAPACK", shape=doublecircle, color=red];


//
// -*- Functions definition -*-
//

// Cosinus
Cos_Real [label="cos(R)"];
Cos_Complex [label="cos(C)"];
Cos_Hyperbolic_Real [label="ch(R)"];
Cos_Hyperbolic_Complex [label="ch(C)"];

// Sinus
Sin_Real [label="sin(R)"];
Sin_Complex [label="sin(C)"];
Sin_Hyperbolic_Real [label="sh(R)"];
Sin_Hyperbolic_Complex [label="sh(C)"];

// Tangeante
Tan_Real [label="tan(R)"];
Tan_Complex [label="tan(C)", comment="wtan"];
Tan_Hyperbolic_Real [label="tanh(R)"];

// Exponentielle
Exp_Real [label="exp(R)"];
Exp_Complex [label="exp(C)"];

// Log
Log_Real [label="log(R)"];
Log_Complex [label="log(C)"];

// Racine Carrée
Sqrt_Real [label="sqrt(R)"];
Sqrt_Positive_Real [label="sqrt(R+)"];
Sqrt_Negative_Real [label="sqrt(R-)"];
Sqrt_Complex [label="sqrt(C)", comment="wsqrt"];


Sqrt_Complex [label="sqrt(C)"];


// Valeur Absolue
Abs_Real [label="abs(R)", comment="|R|"];

// Signe
Sign_Real [label="sign(R)"];



//
// -*- Functions call links -*-
//

// -*- COS -*-
// cos(a+ib) = cos(a).ch(b) - i.sin(a).sh(b)
Cos_Complex -> {
	Cos_Real
	Sin_Real
	Cos_Hyperbolic_Real
	Sin_Hyperbolic_Real
	};
	// Call a cosinus function in F77 math lib
	Cos_Real -> F77_Call;

// -*- SIN -*-
//
// sin(a+ib) = sin(a).ch(b) + i.cos(a).sh(b)
Sin_Complex -> {
	Cos_Real
	Sin_Real
	Cos_Hyperbolic_Real
	Sin_Hyperbolic_Real
	};

// Call a sinus function in F77 math lib
Sin_Real -> F77_Call;


// -*- TAN -*-
//
// tan(a+ib) = x_r + i.x_i
// x_i = | sh(2.b) / 2.d	si |b| <= L
//	 | sign(a)
//
// d = cos(a)^2 + sh(b)^2
//
// L = 1 + log(2 / sqrt(dlamch('e')))
Tan_Complex -> {
	Cos_Real
	Sin_Hyperbolic_Real
	Log_Real
	Sqrt_Real
	Dlamch_E_Call
	Abs_Real
	Sign_Real
	};

// Call a tangeante function in F77 math lib
Tan_Real -> F77_Call;


// -*- SQRT -*-
//
Sqrt_Negative_Real -> Sqrt_Complex;


// Call a sqrt function in F77 math lib
Sqrt_Positive_Real -> F77_Call;


}