Project

General

Profile

Download (5.94 KB) Statistics
| Branch: | Tag: | Revision:
1
-- This file has been generated by CoCoSim2.
2

    
3
-- Compiler: Lustre compiler 2 (ToLustre.m)
4
-- Time: 03-Dec-2018 22:52:54
5
node  _inv_M_4x4(a11 : real;
6
	a21 : real;
7
	a31 : real;
8
	a41 : real;
9
	a12 : real;
10
	a22 : real;
11
	a32 : real;
12
	a42 : real;
13
	a13 : real;
14
	a23 : real;
15
	a33 : real;
16
	a43 : real;
17
	a14 : real;
18
	a24 : real;
19
	a34 : real;
20
	a44 : real;)
21
returns(ai11 : real;
22
	ai21 : real;
23
	ai31 : real;
24
	ai41 : real;
25
	ai12 : real;
26
	ai22 : real;
27
	ai32 : real;
28
	ai42 : real;
29
	ai13 : real;
30
	ai23 : real;
31
	ai33 : real;
32
	ai43 : real;
33
	ai14 : real;
34
	ai24 : real;
35
	ai34 : real;
36
	ai44 : real;);
37
var det : real;
38
	adj11 : real;
39
	adj12 : real;
40
	adj13 : real;
41
	adj14 : real;
42
	adj21 : real;
43
	adj22 : real;
44
	adj23 : real;
45
	adj24 : real;
46
	adj31 : real;
47
	adj32 : real;
48
	adj33 : real;
49
	adj34 : real;
50
	adj41 : real;
51
	adj42 : real;
52
	adj43 : real;
53
	adj44 : real;
54
let
55
	assert (det <> 0.0);
56
	det = (((a11 * adj11) + (a21 * adj12)) + ((a31 * adj13) + (a41 * adj14)));
57
	adj11 = (( ( a22 * a33 * a44 ) + ( a23 * a34 * a42 ) + ( a24 * a32 * a43 ) ) - ( ( a24 * a33 * a42 ) + ( a23 * a32 * a44 ) + ( a22 * a34 * a43 ) ));
58
	adj12 = (( ( a14 * a33 * a42 ) + ( a13 * a32 * a44 ) + ( a12 * a34 * a43 ) ) - ( ( a12 * a33 * a44 ) + ( a13 * a34 * a42 ) + ( a14 * a32 * a43 ) ));
59
	adj13 = (( ( a12 * a23 * a44 ) + ( a13 * a24 * a42 ) + ( a14 * a22 * a43 ) ) - ( ( a14 * a23 * a42 ) + ( a13 * a22 * a44 ) + ( a12 * a24 * a43 ) ));
60
	adj14 = (( ( a14 * a23 * a32 ) + ( a13 * a22 * a34 ) + ( a12 * a24 * a33 ) ) - ( ( a12 * a23 * a34 ) + ( a13 * a24 * a32 ) + ( a14 * a22 * a33 ) ));
61
	adj21 = (( ( a24 * a33 * a41 ) + ( a23 * a31 * a44 ) + ( a21 * a34 * a43 ) ) - ( ( a21 * a33 * a44 ) + ( a23 * a34 * a41 ) + ( a24 * a31 * a43 ) ));
62
	adj22 = (( ( a11 * a33 * a44 ) + ( a13 * a34 * a41 ) + ( a14 * a31 * a43 ) ) - ( ( a14 * a33 * a41 ) + ( a13 * a31 * a44 ) + ( a11 * a34 * a43 ) ));
63
	adj23 = (( ( a14 * a23 * a41 ) + ( a13 * a21 * a44 ) + ( a11 * a24 * a43 ) ) - ( ( a11 * a23 * a44 ) + ( a13 * a24 * a41 ) + ( a14 * a21 * a43 ) ));
64
	adj24 = (( ( a11 * a23 * a34 ) + ( a13 * a24 * a31 ) + ( a14 * a21 * a33 ) ) - ( ( a14 * a23 * a31 ) + ( a13 * a21 * a34 ) + ( a11 * a24 * a33 ) ));
65
	adj31 = (( ( a21 * a32 * a44 ) + ( a22 * a34 * a41 ) + ( a24 * a31 * a42 ) ) - ( ( a24 * a32 * a41 ) + ( a22 * a31 * a44 ) + ( a21 * a34 * a42 ) ));
66
	adj32 = (( ( a14 * a32 * a41 ) + ( a12 * a31 * a44 ) + ( a11 * a34 * a42 ) ) - ( ( a11 * a32 * a44 ) + ( a12 * a34 * a41 ) + ( a14 * a31 * a42 ) ));
67
	adj33 = (( ( a11 * a22 * a44 ) + ( a12 * a24 * a41 ) + ( a14 * a21 * a42 ) ) - ( ( a14 * a22 * a41 ) + ( a12 * a21 * a44 ) + ( a11 * a24 * a42 ) ));
68
	adj34 = (( ( a14 * a22 * a31 ) + ( a12 * a21 * a34 ) + ( a11 * a24 * a32 ) ) - ( ( a11 * a22 * a34 ) + ( a12 * a24 * a31 ) + ( a14 * a21 * a32 ) ));
69
	adj41 = (( ( a23 * a32 * a41 ) + ( a22 * a31 * a43 ) + ( a21 * a33 * a42 ) ) - ( ( a21 * a32 * a43 ) + ( a22 * a33 * a41 ) + ( a23 * a31 * a42 ) ));
70
	adj42 = (( ( a11 * a32 * a43 ) + ( a12 * a33 * a41 ) + ( a13 * a31 * a42 ) ) - ( ( a13 * a32 * a41 ) + ( a12 * a31 * a43 ) + ( a11 * a33 * a42 ) ));
71
	adj43 = (( ( a13 * a22 * a41 ) + ( a12 * a21 * a43 ) + ( a11 * a23 * a42 ) ) - ( ( a11 * a22 * a43 ) + ( a12 * a23 * a41 ) + ( a13 * a21 * a42 ) ));
72
	adj44 = (( ( a11 * a22 * a33 ) + ( a12 * a23 * a31 ) + ( a13 * a21 * a32 ) ) - ( ( a13 * a22 * a31 ) + ( a12 * a21 * a33 ) + ( a11 * a23 * a32 ) ));
73
	ai11 = (adj11 / det);
74
	ai12 = (adj12 / det);
75
	ai13 = (adj13 / det);
76
	ai14 = (adj14 / det);
77
	ai21 = (adj21 / det);
78
	ai22 = (adj22 / det);
79
	ai23 = (adj23 / det);
80
	ai24 = (adj24 / det);
81
	ai31 = (adj31 / det);
82
	ai32 = (adj32 / det);
83
	ai33 = (adj33 / det);
84
	ai34 = (adj34 / det);
85
	ai41 = (adj41 / det);
86
	ai42 = (adj42 / det);
87
	ai43 = (adj43 / det);
88
	ai44 = (adj44 / det);
89
tel
90

    
91
(*
92
Original block name: inv_M_4x4
93
*)
94
node  inv_M_4x4(_virtual : bool;)
95
returns(Out1_1 : real;
96
	Out1_2 : real;
97
	Out1_3 : real;
98
	Out1_4 : real;
99
	Out1_5 : real;
100
	Out1_6 : real;
101
	Out1_7 : real;
102
	Out1_8 : real;
103
	Out1_9 : real;
104
	Out1_10 : real;
105
	Out1_11 : real;
106
	Out1_12 : real;
107
	Out1_13 : real;
108
	Out1_14 : real;
109
	Out1_15 : real;
110
	Out1_16 : real;);
111
var Constant_1 : real;
112
	Constant_2 : real;
113
	Constant_3 : real;
114
	Constant_4 : real;
115
	Constant_5 : real;
116
	Constant_6 : real;
117
	Constant_7 : real;
118
	Constant_8 : real;
119
	Constant_9 : real;
120
	Constant_10 : real;
121
	Constant_11 : real;
122
	Constant_12 : real;
123
	Constant_13 : real;
124
	Constant_14 : real;
125
	Constant_15 : real;
126
	Constant_16 : real;
127
	Divide_1 : real;
128
	Divide_2 : real;
129
	Divide_3 : real;
130
	Divide_4 : real;
131
	Divide_5 : real;
132
	Divide_6 : real;
133
	Divide_7 : real;
134
	Divide_8 : real;
135
	Divide_9 : real;
136
	Divide_10 : real;
137
	Divide_11 : real;
138
	Divide_12 : real;
139
	Divide_13 : real;
140
	Divide_14 : real;
141
	Divide_15 : real;
142
	Divide_16 : real;
143
	__time_step : real;
144
	__nb_step : int;
145
let
146
	Constant_1 = 1.000000000000000;
147
	Constant_2 = 3.000000000000000;
148
	Constant_3 = 0.000000000000000;
149
	Constant_4 = 4.000000000000000;
150
	Constant_5 = 2.000000000000000;
151
	Constant_6 = 1.000000000000000;
152
	Constant_7 = 2.000000000000000;
153
	Constant_8 = 0.000000000000000;
154
	Constant_9 = 3.000000000000000;
155
	Constant_10 = 4.000000000000000;
156
	Constant_11 = 4.000000000000000;
157
	Constant_12 = 1.000000000000000;
158
	Constant_13 = 4.000000000000000;
159
	Constant_14 = 2.000000000000000;
160
	Constant_15 = 3.000000000000000;
161
	Constant_16 = 1.000000000000000;
162
	(Divide_1, Divide_2, Divide_3, Divide_4, Divide_5, Divide_6, Divide_7, Divide_8, Divide_9, Divide_10, Divide_11, Divide_12, Divide_13, Divide_14, Divide_15, Divide_16) = _inv_M_4x4(Constant_1, Constant_2, Constant_3, Constant_4, Constant_5, Constant_6, Constant_7, Constant_8, Constant_9, Constant_10, Constant_11, Constant_12, Constant_13, Constant_14, Constant_15, Constant_16);
163
	Out1_1 = Divide_1;
164
	Out1_2 = Divide_2;
165
	Out1_3 = Divide_3;
166
	Out1_4 = Divide_4;
167
	Out1_5 = Divide_5;
168
	Out1_6 = Divide_6;
169
	Out1_7 = Divide_7;
170
	Out1_8 = Divide_8;
171
	Out1_9 = Divide_9;
172
	Out1_10 = Divide_10;
173
	Out1_11 = Divide_11;
174
	Out1_12 = Divide_12;
175
	Out1_13 = Divide_13;
176
	Out1_14 = Divide_14;
177
	Out1_15 = Divide_15;
178
	Out1_16 = Divide_16;
179
	__time_step = (0.0 -> ((pre __time_step) + 0.200000000000000));
180
	__nb_step = (0 -> ((pre __nb_step) + 1));
181
tel
182

    
(1080-1080/1153)