Salome HOME
cf52c775f9ba5976c2d21cff4d09ecf26d84361f
[modules/superv.git] / SyrStruct.py
1
2 # Generated python file of Graph SyrStruct
3
4 from SuperV import *
5 # Graph creation 
6 SyrStruct = Graph( 'SyrStruct' )
7 SyrStruct.SetName( 'SyrStruct' )
8 SyrStruct.SetAuthor( 'JR' )
9 SyrStruct.SetComment( 'Syracuse algorithm' )
10 SyrStruct.Coords( 0 , 0 )
11
12 # Creation of Factory Nodes
13 m3 = SyrStruct.FNode( 'SyrComponent' , 'SyrComponent' , 'C_M3' )
14 m3.SetName( 'm3' )
15 m3.SetAuthor( '' )
16 m3.SetContainer( 'localhost/FactoryServer' )
17 m3.SetComment( '' )
18 m3.Coords( 678 , 11 )
19 m3incr = SyrStruct.FNode( 'SyrComponent' , 'SyrComponent' , 'C_INCR' )
20 m3incr.SetName( 'm3incr' )
21 m3incr.SetAuthor( '' )
22 m3incr.SetContainer( 'localhost/FactoryServer' )
23 m3incr.SetComment( '' )
24 m3incr.Coords( 896 , 10 )
25 incra = SyrStruct.FNode( 'SyrComponent' , 'SyrComponent' , 'C_INCR' )
26 incra.SetName( 'incra' )
27 incra.SetAuthor( '' )
28 incra.SetContainer( 'localhost/FactoryServer' )
29 incra.SetComment( '' )
30 incra.Coords( 789 , 201 )
31 div2 = SyrStruct.FNode( 'SyrComponent' , 'SyrComponent' , 'C_DIV2' )
32 div2.SetName( 'div2' )
33 div2.SetAuthor( '' )
34 div2.SetContainer( 'localhost/FactoryServer' )
35 div2.SetComment( '' )
36 div2.Coords( 792 , 387 )
37 incrb = SyrStruct.FNode( 'SyrComponent' , 'SyrComponent' , 'C_INCR' )
38 incrb.SetName( 'incrb' )
39 incrb.SetAuthor( '' )
40 incrb.SetContainer( 'localhost/FactoryServer' )
41 incrb.SetComment( '' )
42 incrb.Coords( 796 , 577 )
43
44 # Creation of Loop Nodes
45 PyforN = []
46 PyforN.append( 'def InitN( NN , K , SyrComponent , min , max ) :' )
47 PyforN.append( '    N = max' )
48 PyforN.append( '    if min > 0 :' )
49 PyforN.append( '        if min <= max :' )
50 PyforN.append( '            N = min' )
51 PyforN.append( '    return N,K,SyrComponent,min,max' )
52 PyMoreforN = []
53 PyMoreforN.append( 'def MoreN( NN , KK , SyrComponent , min , max ) :' )
54 PyMoreforN.append( '    N = 0' )
55 PyMoreforN.append( '    OutLoop = 0' )
56 PyMoreforN.append( '    if NN < max :' )
57 PyMoreforN.append( '        N = NN' )
58 PyMoreforN.append( '        OutLoop = 1' )
59 PyMoreforN.append( '    return OutLoop,N,0,SyrComponent,min,max' )
60 PyNextforN = []
61 PyNextforN.append( 'def NextN( NN , KK , SyrComponent , min , max ) :' )
62 PyNextforN.append( '    N = NN + 1' )
63 PyNextforN.append( '    K = KK' )
64 PyNextforN.append( '    return N,K,SyrComponent,min,max' )
65 forN,endforN = SyrStruct.LNode( 'InitN' , PyforN , 'MoreN' , PyMoreforN , 'NextN' , PyNextforN )
66 endforN.SetName( 'endforN' )
67 endforN.SetAuthor( '' )
68 endforN.SetComment( '' )
69 endforN.Coords( 1530 , 332 )
70 forN.InPort( 'N' , 'long' )
71 forN.InPort( 'K' , 'long' )
72 forN.InPort( 'SyrComponent' , 'objref' )
73 forN.InPort( 'min' , 'long' )
74 forN.InPort( 'max' , 'long' )
75 forN.OutPort( 'N' , 'long' )
76 forN.OutPort( 'K' , 'long' )
77 forN.OutPort( 'SyrComponent' , 'objref' )
78 forN.OutPort( 'min' , 'long' )
79 forN.OutPort( 'max' , 'long' )
80 forN.SetName( 'forN' )
81 forN.SetAuthor( '' )
82 forN.SetComment( '' )
83 forN.Coords( 21 , 242 )
84 PywhileNotOne = []
85 PywhileNotOne.append( 'import threading' )
86 PywhileNotOne.append( 'import SyrComponent_idl' )
87 PywhileNotOne.append( 'def InitNotOne( SyrComponent , N , K ) :' )
88 PywhileNotOne.append( '    return SyrComponent,N,K' )
89 PyMorewhileNotOne = []
90 PyMorewhileNotOne.append( 'import SyrComponent_idl' )
91 PyMorewhileNotOne.append( 'def MoreNotOne( SyrComponent , N , K ) :' )
92 PyMorewhileNotOne.append( '    OutLoop = 1 - SyrComponent.C_ISONE( N )' )
93 PyMorewhileNotOne.append( '    return OutLoop,SyrComponent,N,K ' )
94 PyNextwhileNotOne = []
95 PyNextwhileNotOne.append( 'import SyrComponent_idl' )
96 PyNextwhileNotOne.append( 'def NextNotOne( SyrComponent , N , K ) :' )
97 PyNextwhileNotOne.append( '    return SyrComponent,N,K' )
98 whileNotOne,endwhileNotOne = SyrStruct.LNode( 'InitNotOne' , PywhileNotOne , 'MoreNotOne' , PyMorewhileNotOne , 'NextNotOne' , PyNextwhileNotOne )
99 endwhileNotOne.SetName( 'endwhileNotOne' )
100 endwhileNotOne.SetAuthor( '' )
101 endwhileNotOne.SetComment( '' )
102 endwhileNotOne.Coords( 1340 , 332 )
103 whileNotOne.InPort( 'SyrComponent' , 'objref' )
104 whileNotOne.InPort( 'N' , 'long' )
105 whileNotOne.InPort( 'K' , 'long' )
106 whileNotOne.OutPort( 'SyrComponent' , 'objref' )
107 whileNotOne.OutPort( 'N' , 'long' )
108 whileNotOne.OutPort( 'K' , 'long' )
109 whileNotOne.SetName( 'whileNotOne' )
110 whileNotOne.SetAuthor( '' )
111 whileNotOne.SetComment( '' )
112 whileNotOne.Coords( 210 , 297 )
113 Pyfori = []
114 Pyfori.append( 'def Initfori( ii , K ) :' )
115 Pyfori.append( '    return 1,0,K' )
116 PyMorefori = []
117 PyMorefori.append( 'def Morefori( ii , K ) :' )
118 PyMorefori.append( '    OutLoop = 0' )
119 PyMorefori.append( '    if ii < 2 :' )
120 PyMorefori.append( '        OutLoop = 1' )
121 PyMorefori.append( '    return OutLoop,ii,K' )
122 PyNextfori = []
123 PyNextfori.append( 'def Nextfori( ii , K ) :' )
124 PyNextfori.append( '    ii = ii + 1' )
125 PyNextfori.append( '    return ii,K' )
126 fori,endfori = SyrStruct.LNode( 'Initfori' , Pyfori , 'Morefori' , PyMorefori , 'Nextfori' , PyNextfori )
127 endfori.SetName( 'endfori' )
128 endfori.SetAuthor( '' )
129 endfori.SetComment( '' )
130 endfori.Coords( 971 , 202 )
131 fori.InPort( 'i' , 'long' )
132 fori.InPort( 'K' , 'long' )
133 fori.OutPort( 'i' , 'long' )
134 fori.OutPort( 'K' , 'long' )
135 fori.SetName( 'fori' )
136 fori.SetAuthor( '' )
137 fori.SetComment( '' )
138 fori.Coords( 605 , 202 )
139 PywhileEven = []
140 PywhileEven.append( 'import SyrComponent_idl' )
141 PywhileEven.append( 'def InitEven( SyrComponent , N , K ) :' )
142 PywhileEven.append( '    return SyrComponent,N,K' )
143 PyMorewhileEven = []
144 PyMorewhileEven.append( 'import SyrComponent_idl' )
145 PyMorewhileEven.append( 'def MoreEven( SyrComponent , N , K ) :' )
146 PyMorewhileEven.append( '    OutLoop = SyrComponent.C_ISEVEN( N )' )
147 PyMorewhileEven.append( '    return OutLoop,SyrComponent,N,K ' )
148 PyNextwhileEven = []
149 PyNextwhileEven.append( 'import SyrComponent_idl' )
150 PyNextwhileEven.append( 'def NextEven( SyrComponent , N , K ) :' )
151 PyNextwhileEven.append( '    return SyrComponent,N,K' )
152 whileEven,endwhileEven = SyrStruct.LNode( 'InitEven' , PywhileEven , 'MoreEven' , PyMorewhileEven , 'NextEven' , PyNextwhileEven )
153 endwhileEven.SetName( 'endwhileEven' )
154 endwhileEven.SetAuthor( '' )
155 endwhileEven.SetComment( '' )
156 endwhileEven.Coords( 974 , 450 )
157 whileEven.InPort( 'SyrComponent' , 'objref' )
158 whileEven.InPort( 'N' , 'long' )
159 whileEven.InPort( 'K' , 'long' )
160 whileEven.OutPort( 'SyrComponent' , 'objref' )
161 whileEven.OutPort( 'N' , 'long' )
162 whileEven.OutPort( 'K' , 'long' )
163 whileEven.SetName( 'whileEven' )
164 whileEven.SetAuthor( '' )
165 whileEven.SetComment( '' )
166 whileEven.Coords( 605 , 452 )
167
168 # Creation of Switch Nodes
169 PyifNotEven = []
170 PyifNotEven.append( 'import SyrComponent_idl' )
171 PyifNotEven.append( 'def ifNotEven( SyrComponent , N , K ) :' )
172 PyifNotEven.append( '    Even = SyrComponent.C_ISEVEN( N )' )
173 PyifNotEven.append( '    Odd = 1 - Even' )
174 PyifNotEven.append( '    return Odd,Even,SyrComponent,N,K' )
175 ifNotEven,endifNotEven = SyrStruct.SNode( 'ifNotEven' , PyifNotEven )
176 endifNotEven.SetName( 'endifNotEven' )
177 endifNotEven.SetAuthor( '' )
178 endifNotEven.SetComment( '' )
179 endifNotEven.Coords( 1155 , 331 )
180 PyendifNotEven = []
181 endifNotEven.SetPyFunction( 'EndifNotEven' , PyendifNotEven )
182 endifNotEven.InPort( 'N' , 'long' )
183 endifNotEven.InPort( 'K' , 'long' )
184 endifNotEven.OutPort( 'N' , 'long' )
185 endifNotEven.OutPort( 'K' , 'long' )
186 ifNotEven.InPort( 'SyrComponent' , 'objref' )
187 ifNotEven.InPort( 'N' , 'long' )
188 ifNotEven.InPort( 'K' , 'long' )
189 ifNotEven.OutPort( 'Odd' , 'long' )
190 ifNotEven.OutPort( 'Even' , 'long' )
191 ifNotEven.OutPort( 'SyrComponent' , 'objref' )
192 ifNotEven.OutPort( 'N' , 'long' )
193 ifNotEven.OutPort( 'K' , 'long' )
194 ifNotEven.SetName( 'ifNotEven' )
195 ifNotEven.SetAuthor( '' )
196 ifNotEven.SetComment( '' )
197 ifNotEven.Coords( 416 , 286 )
198
199 # Creation of intermediate Output variables and of Control Links
200 m3anInteger = m3.Port( 'anInteger' )
201 m3incraCount = SyrStruct.Link( m3anInteger , m3incr.Port( 'aCount' ) )
202 m3incraNewCount = m3incr.Port( 'aNewCount' )
203 endifNotEvenN = SyrStruct.Link( m3incraNewCount , endifNotEven.Port( 'N' ) )
204 incraaNewCount = incra.Port( 'aNewCount' )
205 endforiK = SyrStruct.Link( incraaNewCount , endfori.Port( 'K' ) )
206 endforiK.AddCoord( 1 , 953 , 414 )
207 endforiK.AddCoord( 2 , 953 , 353 )
208 div2anInteger = div2.Port( 'anInteger' )
209 endwhileEvenN = SyrStruct.Link( div2anInteger , endwhileEven.Port( 'N' ) )
210 endwhileEvenN.AddCoord( 1 , 960 , 632 )
211 endwhileEvenN.AddCoord( 2 , 960 , 539 )
212 incrbaNewCount = incrb.Port( 'aNewCount' )
213 endwhileEvenK = SyrStruct.Link( incrbaNewCount , endwhileEven.Port( 'K' ) )
214 endwhileEvenK.AddCoord( 1 , 963 , 662 )
215 endwhileEvenK.AddCoord( 2 , 963 , 729 )
216 forNDoLoop = forN.Port( 'DoLoop' )
217 endforNDoLoop = SyrStruct.Link( forNDoLoop , endforN.Port( 'DoLoop' ) )
218 forNN = forN.Port( 'N' )
219 endforNN = SyrStruct.Link( forNN , endforN.Port( 'N' ) )
220 endforNN.AddCoord( 1 , 1554 , 513 )
221 endforNN.AddCoord( 2 , 1523 , 513 )
222 endforNN.AddCoord( 3 , 1523 , 806 )
223 endforNN.AddCoord( 4 , 202 , 806 )
224 endforNN.AddCoord( 5 , 202 , 424 )
225 whileNotOneN = SyrStruct.Link( forNN , whileNotOne.Port( 'N' ) )
226 whileNotOneN.AddCoord( 1 , 200 , 479 )
227 whileNotOneN.AddCoord( 2 , 200 , 424 )
228 forNK = forN.Port( 'K' )
229 whileNotOneK = SyrStruct.Link( forNK , whileNotOne.Port( 'K' ) )
230 whileNotOneK.AddCoord( 1 , 187 , 509 )
231 whileNotOneK.AddCoord( 2 , 187 , 454 )
232 forNSyrComponent = forN.Port( 'SyrComponent' )
233 endforNSyrComponent = SyrStruct.Link( forNSyrComponent , endforN.Port( 'SyrComponent' ) )
234 whileNotOneSyrComponent = SyrStruct.Link( forNSyrComponent , whileNotOne.Port( 'SyrComponent' ) )
235 forNmin = forN.Port( 'min' )
236 endforNmin = SyrStruct.Link( forNmin , endforN.Port( 'min' ) )
237 forNmax = forN.Port( 'max' )
238 endforNmax = SyrStruct.Link( forNmax , endforN.Port( 'max' ) )
239 endforNDoLoop = endforN.Port( 'DoLoop' )
240 forNInitLoop = SyrStruct.Link( endforNDoLoop , forN.Port( 'InitLoop' ) )
241 whileNotOneDoLoop = whileNotOne.Port( 'DoLoop' )
242 endwhileNotOneDoLoop = SyrStruct.Link( whileNotOneDoLoop , endwhileNotOne.Port( 'DoLoop' ) )
243 whileNotOneSyrComponent = whileNotOne.Port( 'SyrComponent' )
244 endwhileNotOneSyrComponent = SyrStruct.Link( whileNotOneSyrComponent , endwhileNotOne.Port( 'SyrComponent' ) )
245 ifNotEvenSyrComponent = SyrStruct.Link( whileNotOneSyrComponent , ifNotEven.Port( 'SyrComponent' ) )
246 whileNotOneN = whileNotOne.Port( 'N' )
247 ifNotEvenN = SyrStruct.Link( whileNotOneN , ifNotEven.Port( 'N' ) )
248 ifNotEvenN.AddCoord( 1 , 378 , 438 )
249 ifNotEvenN.AddCoord( 2 , 378 , 479 )
250 whileNotOneK = whileNotOne.Port( 'K' )
251 ifNotEvenK = SyrStruct.Link( whileNotOneK , ifNotEven.Port( 'K' ) )
252 ifNotEvenK.AddCoord( 1 , 395 , 468 )
253 ifNotEvenK.AddCoord( 2 , 395 , 509 )
254 endwhileNotOneDoLoop = endwhileNotOne.Port( 'DoLoop' )
255 whileNotOneInitLoop = SyrStruct.Link( endwhileNotOneDoLoop , whileNotOne.Port( 'InitLoop' ) )
256 endwhileNotOneK = endwhileNotOne.Port( 'K' )
257 endforNK = SyrStruct.Link( endwhileNotOneK , endforN.Port( 'K' ) )
258 foriDoLoop = fori.Port( 'DoLoop' )
259 endforiDoLoop = SyrStruct.Link( foriDoLoop , endfori.Port( 'DoLoop' ) )
260 forii = fori.Port( 'i' )
261 endforii = SyrStruct.Link( forii , endfori.Port( 'i' ) )
262 foriK = fori.Port( 'K' )
263 incraaCount = SyrStruct.Link( foriK , incra.Port( 'aCount' ) )
264 incraaCount.AddCoord( 1 , 783 , 353 )
265 incraaCount.AddCoord( 2 , 783 , 414 )
266 endforiDoLoop = endfori.Port( 'DoLoop' )
267 foriInitLoop = SyrStruct.Link( endforiDoLoop , fori.Port( 'InitLoop' ) )
268 endforiK = endfori.Port( 'K' )
269 endifNotEvenK = SyrStruct.Link( endforiK , endifNotEven.Port( 'K' ) )
270 whileEvenDoLoop = whileEven.Port( 'DoLoop' )
271 endwhileEvenDoLoop = SyrStruct.Link( whileEvenDoLoop , endwhileEven.Port( 'DoLoop' ) )
272 whileEvenSyrComponent = whileEven.Port( 'SyrComponent' )
273 endwhileEvenSyrComponent = SyrStruct.Link( whileEvenSyrComponent , endwhileEven.Port( 'SyrComponent' ) )
274 whileEvenN = whileEven.Port( 'N' )
275 div2anEvenInteger = SyrStruct.Link( whileEvenN , div2.Port( 'anEvenInteger' ) )
276 div2anEvenInteger.AddCoord( 1 , 779 , 539 )
277 div2anEvenInteger.AddCoord( 2 , 779 , 634 )
278 whileEvenK = whileEven.Port( 'K' )
279 incrbaCount = SyrStruct.Link( whileEvenK , incrb.Port( 'aCount' ) )
280 incrbaCount.AddCoord( 1 , 777 , 729 )
281 incrbaCount.AddCoord( 2 , 777 , 664 )
282 endwhileEvenDoLoop = endwhileEven.Port( 'DoLoop' )
283 whileEvenInitLoop = SyrStruct.Link( endwhileEvenDoLoop , whileEven.Port( 'InitLoop' ) )
284 endwhileEvenN = endwhileEven.Port( 'N' )
285 endifNotEvenN = SyrStruct.Link( endwhileEvenN , endifNotEven.Port( 'N' ) )
286 endwhileEvenK = endwhileEven.Port( 'K' )
287 endifNotEvenK = SyrStruct.Link( endwhileEvenK , endifNotEven.Port( 'K' ) )
288 ifNotEvenDefault = ifNotEven.Port( 'Default' )
289 endifNotEvenDefault = SyrStruct.Link( ifNotEvenDefault , endifNotEven.Port( 'Default' ) )
290 ifNotEvenOdd = ifNotEven.Port( 'Odd' )
291 m3InGate = SyrStruct.Link( ifNotEvenOdd , m3.Port( 'InGate' ) )
292 m3InGate.AddCoord( 1 , 585 , 133 )
293 m3InGate.AddCoord( 2 , 585 , 438 )
294 foriInGate = SyrStruct.Link( ifNotEvenOdd , fori.Port( 'InGate' ) )
295 foriInGate.AddCoord( 1 , 584 , 324 )
296 foriInGate.AddCoord( 2 , 584 , 438 )
297 ifNotEvenEven = ifNotEven.Port( 'Even' )
298 whileEvenInGate = SyrStruct.Link( ifNotEvenEven , whileEven.Port( 'InGate' ) )
299 whileEvenInGate.AddCoord( 1 , 593 , 574 )
300 whileEvenInGate.AddCoord( 2 , 593 , 468 )
301 ifNotEvenSyrComponent = ifNotEven.Port( 'SyrComponent' )
302 whileEvenSyrComponent = SyrStruct.Link( ifNotEvenSyrComponent , whileEven.Port( 'SyrComponent' ) )
303 ifNotEvenN = ifNotEven.Port( 'N' )
304 whileEvenN = SyrStruct.Link( ifNotEvenN , whileEven.Port( 'N' ) )
305 whileEvenN.AddCoord( 1 , 586 , 634 )
306 whileEvenN.AddCoord( 2 , 586 , 498 )
307 m3anOddInteger = SyrStruct.Link( ifNotEvenN , m3.Port( 'anOddInteger' ) )
308 m3anOddInteger.AddCoord( 1 , 579 , 163 )
309 m3anOddInteger.AddCoord( 2 , 579 , 498 )
310 ifNotEvenK = ifNotEven.Port( 'K' )
311 whileEvenK = SyrStruct.Link( ifNotEvenK , whileEven.Port( 'K' ) )
312 whileEvenK.AddCoord( 1 , 580 , 664 )
313 whileEvenK.AddCoord( 2 , 580 , 528 )
314 foriK = SyrStruct.Link( ifNotEvenK , fori.Port( 'K' ) )
315 foriK.AddCoord( 1 , 599 , 414 )
316 foriK.AddCoord( 2 , 599 , 528 )
317 endifNotEvenN = endifNotEven.Port( 'N' )
318 endwhileNotOneN = SyrStruct.Link( endifNotEvenN , endwhileNotOne.Port( 'N' ) )
319 endwhileNotOneN.AddCoord( 1 , 1324 , 514 )
320 endwhileNotOneN.AddCoord( 2 , 1324 , 483 )
321 endifNotEvenK = endifNotEven.Port( 'K' )
322 endwhileNotOneK = SyrStruct.Link( endifNotEvenK , endwhileNotOne.Port( 'K' ) )
323 endwhileNotOneK.AddCoord( 1 , 1318 , 544 )
324 endwhileNotOneK.AddCoord( 2 , 1318 , 513 )
325
326 # Creation of Input datas
327 forNN = forN.Input( 'N' , 0)
328 forNK = forN.Input( 'K' , 0)
329 FactoryServerSyrComponent = SyrStruct.ComponentRef( 'FactoryServer' , 'SyrComponent' )
330 forNSyrComponent.Input( FactoryServerSyrComponent )
331 forNmin = forN.Input( 'min' , 5)
332 forNmax = forN.Input( 'max' , 9)
333 forii = fori.Input( 'i' , 0)
334
335 # Creation of Output variables
336 endforNN = endforN.Port( 'N' )
337 endforNK = endforN.Port( 'K' )
338 endforNSyrComponent = endforN.Port( 'SyrComponent' )
339 endforNmin = endforN.Port( 'min' )
340 endforNmax = endforN.Port( 'max' )
341 endwhileNotOneSyrComponent = endwhileNotOne.Port( 'SyrComponent' )
342 endwhileNotOneN = endwhileNotOne.Port( 'N' )
343 endforii = endfori.Port( 'i' )
344 endwhileEvenSyrComponent = endwhileEven.Port( 'SyrComponent' )
345
346
347 SyrStruct.Run()
348
349 SyrStruct.DoneW()
350
351 SyrStruct.State()
352
353 SyrStruct.PrintPorts()
354