]> SALOME platform Git repositories - modules/superv.git/blob - examples/SyrStruct.py
Salome HOME
PAL8521
[modules/superv.git] / examples / SyrStruct.py
1
2 # Generated python file of Graph SyrStruct
3
4 from SuperV import *
5
6 # Graph creation of SyrStruct
7 def DefSyrStruct() :
8     SyrStruct = Graph( 'SyrStruct' )
9     SyrStruct.SetName( 'SyrStruct' )
10     SyrStruct.SetAuthor( 'JR' )
11     SyrStruct.SetComment( 'Syracuse algorithm' )
12     SyrStruct.Coords( 0 , 0 )
13     
14     # Creation of Factory Nodes
15     
16     m3 = SyrStruct.FNode( 'SyrComponent' , 'SyrComponent' , 'C_M3' )
17     m3.SetName( 'm3' )
18     m3.SetAuthor( '' )
19     m3.SetContainer( 'localhost/FactoryServer' )
20     m3.SetComment( 'C_M3 from SyrComponent' )
21     m3.Coords( 672 , 28 )
22     Im3anOddInteger = m3.GetInPort( 'anOddInteger' )
23     Im3Gate = m3.GetInPort( 'Gate' )
24     Om3anInteger = m3.GetOutPort( 'anInteger' )
25     Om3Gate = m3.GetOutPort( 'Gate' )
26     
27     m3incr = SyrStruct.FNode( 'SyrComponent' , 'SyrComponent' , 'C_INCR' )
28     m3incr.SetName( 'm3incr' )
29     m3incr.SetAuthor( '' )
30     m3incr.SetContainer( 'localhost/FactoryServer' )
31     m3incr.SetComment( 'C_INCR from SyrComponent' )
32     m3incr.Coords( 899 , 28 )
33     Im3incraCount = m3incr.GetInPort( 'aCount' )
34     Im3incrGate = m3incr.GetInPort( 'Gate' )
35     Om3incraNewCount = m3incr.GetOutPort( 'aNewCount' )
36     Om3incrGate = m3incr.GetOutPort( 'Gate' )
37     
38     incra = SyrStruct.FNode( 'SyrComponent' , 'SyrComponent' , 'C_INCR' )
39     incra.SetName( 'incra' )
40     incra.SetAuthor( '' )
41     incra.SetContainer( 'localhost/FactoryServer' )
42     incra.SetComment( 'C_INCR from SyrComponent' )
43     incra.Coords( 824 , 218 )
44     IincraaCount = incra.GetInPort( 'aCount' )
45     IincraGate = incra.GetInPort( 'Gate' )
46     OincraaNewCount = incra.GetOutPort( 'aNewCount' )
47     OincraGate = incra.GetOutPort( 'Gate' )
48     
49     div2 = SyrStruct.FNode( 'SyrComponent' , 'SyrComponent' , 'C_DIV2' )
50     div2.SetName( 'div2' )
51     div2.SetAuthor( '' )
52     div2.SetContainer( 'localhost/FactoryServer' )
53     div2.SetComment( 'C_DIV2 from SyrComponent' )
54     div2.Coords( 817 , 431 )
55     Idiv2anEvenInteger = div2.GetInPort( 'anEvenInteger' )
56     Idiv2Gate = div2.GetInPort( 'Gate' )
57     Odiv2anInteger = div2.GetOutPort( 'anInteger' )
58     Odiv2Gate = div2.GetOutPort( 'Gate' )
59     
60     incrb = SyrStruct.FNode( 'SyrComponent' , 'SyrComponent' , 'C_INCR' )
61     incrb.SetName( 'incrb' )
62     incrb.SetAuthor( '' )
63     incrb.SetContainer( 'localhost/FactoryServer' )
64     incrb.SetComment( 'C_INCR from SyrComponent' )
65     incrb.Coords( 821 , 574 )
66     IincrbaCount = incrb.GetInPort( 'aCount' )
67     IincrbGate = incrb.GetInPort( 'Gate' )
68     OincrbaNewCount = incrb.GetOutPort( 'aNewCount' )
69     OincrbGate = incrb.GetOutPort( 'Gate' )
70     
71     # Creation of InLine Nodes
72     PySyrComponent = []
73     PySyrComponent.append( 'from LifeCycleCORBA import * ' )
74     PySyrComponent.append( 'def SyrComponent( aContainer , aComponent ) : ' )
75     PySyrComponent.append( '    orb = CORBA.ORB_init([], CORBA.ORB_ID) ' )
76     PySyrComponent.append( '    lcc = LifeCycleCORBA(orb) ' )
77     PySyrComponent.append( '    ComponentRef = lcc.FindOrLoadComponent( aContainer , aComponent ) ' )
78     PySyrComponent.append( '    return ComponentRef ' )
79     SyrComponent = SyrStruct.INode( 'SyrComponent' , PySyrComponent )
80     SyrComponent.SetName( 'SyrComponent' )
81     SyrComponent.SetAuthor( '' )
82     SyrComponent.SetComment( 'SyrComponent( aContainer , aComponent )' )
83     SyrComponent.Coords( 0 , 0 )
84     ISyrComponentaContainer = SyrComponent.InPort( 'aContainer' , 'string' )
85     ISyrComponentaComponent = SyrComponent.InPort( 'aComponent' , 'string' )
86     ISyrComponentGate = SyrComponent.GetInPort( 'Gate' )
87     OSyrComponentSyrComponentobjref = SyrComponent.OutPort( 'SyrComponentobjref' , 'objref' )
88     OSyrComponentGate = SyrComponent.GetOutPort( 'Gate' )
89     
90     # Creation of Loop Nodes
91     PyforN = []
92     PyforN.append( 'def InitN( NN , K , SyrComponent , min , max ) : ' )
93     PyforN.append( '    N = max ' )
94     PyforN.append( '    if min > 0 : ' )
95     PyforN.append( '        if max >= min : ' )
96     PyforN.append( '            N = min ' )
97     PyforN.append( '    return N,K,SyrComponent,min,max ' )
98     PyMoreforN = []
99     PyMoreforN.append( 'def MoreN( NN , KK , SyrComponent , min , max ) : ' )
100     PyMoreforN.append( '    N = NN ' )
101     PyMoreforN.append( '    OutLoop = 0 ' )
102     PyMoreforN.append( '    if max > NN : ' )
103     PyMoreforN.append( '        OutLoop = 1 ' )
104     PyMoreforN.append( '    return OutLoop,N,0,SyrComponent,min,max ' )
105     PyNextforN = []
106     PyNextforN.append( 'def NextN( NN , KK , SyrComponent , min , max ) : ' )
107     PyNextforN.append( '    N = NN + 1 ' )
108     PyNextforN.append( '    K = KK ' )
109     PyNextforN.append( '    return N,K,SyrComponent,min,max ' )
110     forN,EndOfforN = SyrStruct.LNode( 'InitN' , PyforN , 'MoreN' , PyMoreforN , 'NextN' , PyNextforN )
111     EndOfforN.SetName( 'EndOfforN' )
112     EndOfforN.SetAuthor( '' )
113     EndOfforN.SetComment( 'Compute Node' )
114     EndOfforN.Coords( 1590 , 331 )
115     PyEndOfforN = []
116     EndOfforN.SetPyFunction( '' , PyEndOfforN )
117     IforNDoLoop = forN.GetInPort( 'DoLoop' )
118     IforNN = forN.InPort( 'N' , 'long' )
119     IforNK = forN.InPort( 'K' , 'long' )
120     IforNSyrComponent = forN.InPort( 'SyrComponent' , 'objref' )
121     IforNmin = forN.InPort( 'min' , 'long' )
122     IforNmax = forN.InPort( 'max' , 'long' )
123     IforNGate = forN.GetInPort( 'Gate' )
124     OforNDoLoop = forN.GetOutPort( 'DoLoop' )
125     OforNN = forN.GetOutPort( 'N' )
126     OforNK = forN.GetOutPort( 'K' )
127     OforNSyrComponent = forN.GetOutPort( 'SyrComponent' )
128     OforNmin = forN.GetOutPort( 'min' )
129     OforNmax = forN.GetOutPort( 'max' )
130     IEndOfforNDoLoop = EndOfforN.GetInPort( 'DoLoop' )
131     IEndOfforNN = EndOfforN.GetInPort( 'N' )
132     IEndOfforNK = EndOfforN.GetInPort( 'K' )
133     IEndOfforNSyrComponent = EndOfforN.GetInPort( 'SyrComponent' )
134     IEndOfforNmin = EndOfforN.GetInPort( 'min' )
135     IEndOfforNmax = EndOfforN.GetInPort( 'max' )
136     IEndOfforNGate = EndOfforN.GetInPort( 'Gate' )
137     OEndOfforNDoLoop = EndOfforN.GetOutPort( 'DoLoop' )
138     OEndOfforNN = EndOfforN.GetOutPort( 'N' )
139     OEndOfforNK = EndOfforN.GetOutPort( 'K' )
140     OEndOfforNSyrComponent = EndOfforN.GetOutPort( 'SyrComponent' )
141     OEndOfforNmin = EndOfforN.GetOutPort( 'min' )
142     OEndOfforNmax = EndOfforN.GetOutPort( 'max' )
143     OEndOfforNGate = EndOfforN.GetOutPort( 'Gate' )
144     forN.SetName( 'forN' )
145     forN.SetAuthor( '' )
146     forN.SetComment( 'InitN , MoreN , NextN' )
147     forN.Coords( 20 , 302 )
148     
149     PywhileNotOne = []
150     PywhileNotOne.append( 'import threading' )
151     PywhileNotOne.append( 'import SyrComponent_idl' )
152     PywhileNotOne.append( 'def InitNotOne( SyrComponent , N , K ) :' )
153     PywhileNotOne.append( '    return SyrComponent,N,K' )
154     PyMorewhileNotOne = []
155     PyMorewhileNotOne.append( 'import SyrComponent_idl' )
156     PyMorewhileNotOne.append( 'def MoreNotOne( SyrComponent , N , K ) :' )
157     PyMorewhileNotOne.append( '    OutLoop = 1 - SyrComponent.C_ISONE( N )' )
158     PyMorewhileNotOne.append( '    return OutLoop,SyrComponent,N,K ' )
159     PyNextwhileNotOne = []
160     PyNextwhileNotOne.append( 'import SyrComponent_idl' )
161     PyNextwhileNotOne.append( 'def NextNotOne( SyrComponent , N , K ) :' )
162     PyNextwhileNotOne.append( '    return SyrComponent,N,K' )
163     whileNotOne,EndOfwhileNotOne = SyrStruct.LNode( 'InitNotOne' , PywhileNotOne , 'MoreNotOne' , PyMorewhileNotOne , 'NextNotOne' , PyNextwhileNotOne )
164     EndOfwhileNotOne.SetName( 'EndOfwhileNotOne' )
165     EndOfwhileNotOne.SetAuthor( '' )
166     EndOfwhileNotOne.SetComment( 'Compute Node' )
167     EndOfwhileNotOne.Coords( 1405 , 311 )
168     PyEndOfwhileNotOne = []
169     EndOfwhileNotOne.SetPyFunction( '' , PyEndOfwhileNotOne )
170     IwhileNotOneDoLoop = whileNotOne.GetInPort( 'DoLoop' )
171     IwhileNotOneSyrComponent = whileNotOne.InPort( 'SyrComponent' , 'objref' )
172     IwhileNotOneN = whileNotOne.InPort( 'N' , 'long' )
173     IwhileNotOneK = whileNotOne.InPort( 'K' , 'long' )
174     IwhileNotOneGate = whileNotOne.GetInPort( 'Gate' )
175     OwhileNotOneDoLoop = whileNotOne.GetOutPort( 'DoLoop' )
176     OwhileNotOneSyrComponent = whileNotOne.GetOutPort( 'SyrComponent' )
177     OwhileNotOneN = whileNotOne.GetOutPort( 'N' )
178     OwhileNotOneK = whileNotOne.GetOutPort( 'K' )
179     IEndOfwhileNotOneDoLoop = EndOfwhileNotOne.GetInPort( 'DoLoop' )
180     IEndOfwhileNotOneSyrComponent = EndOfwhileNotOne.GetInPort( 'SyrComponent' )
181     IEndOfwhileNotOneN = EndOfwhileNotOne.GetInPort( 'N' )
182     IEndOfwhileNotOneK = EndOfwhileNotOne.GetInPort( 'K' )
183     IEndOfwhileNotOneGate = EndOfwhileNotOne.GetInPort( 'Gate' )
184     OEndOfwhileNotOneDoLoop = EndOfwhileNotOne.GetOutPort( 'DoLoop' )
185     OEndOfwhileNotOneSyrComponent = EndOfwhileNotOne.GetOutPort( 'SyrComponent' )
186     OEndOfwhileNotOneN = EndOfwhileNotOne.GetOutPort( 'N' )
187     OEndOfwhileNotOneK = EndOfwhileNotOne.GetOutPort( 'K' )
188     OEndOfwhileNotOneGate = EndOfwhileNotOne.GetOutPort( 'Gate' )
189     whileNotOne.SetName( 'whileNotOne' )
190     whileNotOne.SetAuthor( '' )
191     whileNotOne.SetComment( 'InitNotOne , MoreNotOne , NextNotOne' )
192     whileNotOne.Coords( 215 , 282 )
193     
194     Pyfori = []
195     Pyfori.append( 'def Initfori( ii , K ) :  ' )
196     Pyfori.append( '    ii = 0    ' )
197     Pyfori.append( '    return ii,K    ' )
198     PyMorefori = []
199     PyMorefori.append( 'from time import *    ' )
200     PyMorefori.append( 'def Morefori( ii , K ) :    ' )
201     PyMorefori.append( '    OutLoop = 0    ' )
202     PyMorefori.append( '    if ii < 2 :    ' )
203     PyMorefori.append( '        OutLoop = 1 ' )
204     PyMorefori.append( '    return OutLoop,ii,K    ' )
205     PyNextfori = []
206     PyNextfori.append( 'def Nextfori( ii , K ) :    ' )
207     PyNextfori.append( '    ii = ii + 1 ' )
208     PyNextfori.append( '    return ii,K    ' )
209     fori,EndOffori = SyrStruct.LNode( 'Initfori' , Pyfori , 'Morefori' , PyMorefori , 'Nextfori' , PyNextfori )
210     EndOffori.SetName( 'EndOffori' )
211     EndOffori.SetAuthor( '' )
212     EndOffori.SetComment( 'Compute Node' )
213     EndOffori.Coords( 1009 , 238 )
214     PyEndOffori = []
215     EndOffori.SetPyFunction( '' , PyEndOffori )
216     IforiDoLoop = fori.GetInPort( 'DoLoop' )
217     Iforii = fori.InPort( 'i' , 'long' )
218     IforiK = fori.InPort( 'K' , 'long' )
219     IforiGate = fori.GetInPort( 'Gate' )
220     OforiDoLoop = fori.GetOutPort( 'DoLoop' )
221     Oforii = fori.GetOutPort( 'i' )
222     OforiK = fori.GetOutPort( 'K' )
223     IEndOfforiDoLoop = EndOffori.GetInPort( 'DoLoop' )
224     IEndOfforii = EndOffori.GetInPort( 'i' )
225     IEndOfforiK = EndOffori.GetInPort( 'K' )
226     IEndOfforiGate = EndOffori.GetInPort( 'Gate' )
227     OEndOfforiDoLoop = EndOffori.GetOutPort( 'DoLoop' )
228     OEndOfforii = EndOffori.GetOutPort( 'i' )
229     OEndOfforiK = EndOffori.GetOutPort( 'K' )
230     OEndOfforiGate = EndOffori.GetOutPort( 'Gate' )
231     fori.SetName( 'fori' )
232     fori.SetAuthor( '' )
233     fori.SetComment( 'Initfori, Morefori, Nextfori' )
234     fori.Coords( 641 , 238 )
235     
236     PywhileEven = []
237     PywhileEven.append( 'import SyrComponent_idl' )
238     PywhileEven.append( 'def InitEven( SyrComponent , N , K ) :' )
239     PywhileEven.append( '    return SyrComponent,N,K' )
240     PyMorewhileEven = []
241     PyMorewhileEven.append( 'import SyrComponent_idl' )
242     PyMorewhileEven.append( 'def MoreEven( SyrComponent , N , K ) :' )
243     PyMorewhileEven.append( '    OutLoop = SyrComponent.C_ISEVEN( N )' )
244     PyMorewhileEven.append( '    return OutLoop,SyrComponent,N,K ' )
245     PyNextwhileEven = []
246     PyNextwhileEven.append( 'import SyrComponent_idl' )
247     PyNextwhileEven.append( 'def NextEven( SyrComponent , N , K ) :' )
248     PyNextwhileEven.append( '    return SyrComponent,N,K' )
249     whileEven,EndOfwhileEven = SyrStruct.LNode( 'InitEven' , PywhileEven , 'MoreEven' , PyMorewhileEven , 'NextEven' , PyNextwhileEven )
250     EndOfwhileEven.SetName( 'EndOfwhileEven' )
251     EndOfwhileEven.SetAuthor( '' )
252     EndOfwhileEven.SetComment( 'Compute Node' )
253     EndOfwhileEven.Coords( 1006 , 451 )
254     PyEndOfwhileEven = []
255     EndOfwhileEven.SetPyFunction( '' , PyEndOfwhileEven )
256     IwhileEvenDoLoop = whileEven.GetInPort( 'DoLoop' )
257     IwhileEvenSyrComponent = whileEven.InPort( 'SyrComponent' , 'objref' )
258     IwhileEvenN = whileEven.InPort( 'N' , 'long' )
259     IwhileEvenK = whileEven.InPort( 'K' , 'long' )
260     IwhileEvenGate = whileEven.GetInPort( 'Gate' )
261     OwhileEvenDoLoop = whileEven.GetOutPort( 'DoLoop' )
262     OwhileEvenSyrComponent = whileEven.GetOutPort( 'SyrComponent' )
263     OwhileEvenN = whileEven.GetOutPort( 'N' )
264     OwhileEvenK = whileEven.GetOutPort( 'K' )
265     IEndOfwhileEvenDoLoop = EndOfwhileEven.GetInPort( 'DoLoop' )
266     IEndOfwhileEvenSyrComponent = EndOfwhileEven.GetInPort( 'SyrComponent' )
267     IEndOfwhileEvenN = EndOfwhileEven.GetInPort( 'N' )
268     IEndOfwhileEvenK = EndOfwhileEven.GetInPort( 'K' )
269     IEndOfwhileEvenGate = EndOfwhileEven.GetInPort( 'Gate' )
270     OEndOfwhileEvenDoLoop = EndOfwhileEven.GetOutPort( 'DoLoop' )
271     OEndOfwhileEvenSyrComponent = EndOfwhileEven.GetOutPort( 'SyrComponent' )
272     OEndOfwhileEvenN = EndOfwhileEven.GetOutPort( 'N' )
273     OEndOfwhileEvenK = EndOfwhileEven.GetOutPort( 'K' )
274     OEndOfwhileEvenGate = EndOfwhileEven.GetOutPort( 'Gate' )
275     whileEven.SetName( 'whileEven' )
276     whileEven.SetAuthor( '' )
277     whileEven.SetComment( 'InitEven, MoreEven, NextEven' )
278     whileEven.Coords( 632 , 451 )
279     
280     # Creation of Switch Nodes
281     PyifNotEven = []
282     PyifNotEven.append( 'import SyrComponent_idl' )
283     PyifNotEven.append( 'def ifNotEven( SyrComponent , N , K ) :' )
284     PyifNotEven.append( '    Even = SyrComponent.C_ISEVEN( N )' )
285     PyifNotEven.append( '    Odd = 1 - Even' )
286     PyifNotEven.append( '    return Odd,Even,SyrComponent,N,K' )
287     ifNotEven,EndOfifNotEven = SyrStruct.SNode( 'ifNotEven' , PyifNotEven )
288     EndOfifNotEven.SetName( 'EndOfifNotEven' )
289     EndOfifNotEven.SetAuthor( '' )
290     EndOfifNotEven.SetComment( 'Compute Node' )
291     EndOfifNotEven.Coords( 1220 , 331 )
292     PyEndOfifNotEven = []
293     EndOfifNotEven.SetPyFunction( '' , PyEndOfifNotEven )
294     IEndOfifNotEvenN = EndOfifNotEven.InPort( 'N' , 'long' )
295     IEndOfifNotEvenK = EndOfifNotEven.InPort( 'K' , 'long' )
296     IEndOfifNotEvenDefault = EndOfifNotEven.GetInPort( 'Default' )
297     OEndOfifNotEvenN = EndOfifNotEven.OutPort( 'N' , 'long' )
298     OEndOfifNotEvenK = EndOfifNotEven.OutPort( 'K' , 'long' )
299     OEndOfifNotEvenGate = EndOfifNotEven.GetOutPort( 'Gate' )
300     ifNotEven.SetName( 'ifNotEven' )
301     ifNotEven.SetAuthor( '' )
302     ifNotEven.SetComment( 'ifNotEven' )
303     ifNotEven.Coords( 407 , 282 )
304     IifNotEvenSyrComponent = ifNotEven.InPort( 'SyrComponent' , 'objref' )
305     IifNotEvenN = ifNotEven.InPort( 'N' , 'long' )
306     IifNotEvenK = ifNotEven.InPort( 'K' , 'long' )
307     IifNotEvenGate = ifNotEven.GetInPort( 'Gate' )
308     OifNotEvenOdd = ifNotEven.OutPort( 'Odd' , 'long' )
309     OifNotEvenEven = ifNotEven.OutPort( 'Even' , 'long' )
310     OifNotEvenSyrComponent = ifNotEven.OutPort( 'SyrComponent' , 'objref' )
311     OifNotEvenN = ifNotEven.OutPort( 'N' , 'long' )
312     OifNotEvenK = ifNotEven.OutPort( 'K' , 'long' )
313     OifNotEvenDefault = ifNotEven.GetOutPort( 'Default' )
314     
315     # Creation of Links
316     Lm3anIntegerm3incraCount = SyrStruct.Link( Om3anInteger , Im3incraCount )
317     
318     Lm3incraNewCountEndOfifNotEvenN = SyrStruct.Link( Om3incraNewCount , IEndOfifNotEvenN )
319     Lm3incraNewCountEndOfifNotEvenN.AddCoord( 1 , 1193 , 362 )
320     Lm3incraNewCountEndOfifNotEvenN.AddCoord( 2 , 1191 , 100 )
321     
322     LincraaNewCountEndOfforiK = SyrStruct.Link( OincraaNewCount , IEndOfforiK )
323     
324     Ldiv2anIntegerEndOfwhileEvenN = SyrStruct.Link( Odiv2anInteger , IEndOfwhileEvenN )
325     
326     LincrbaNewCountEndOfwhileEvenK = SyrStruct.Link( OincrbaNewCount , IEndOfwhileEvenK )
327     LincrbaNewCountEndOfwhileEvenK.AddCoord( 1 , 992 , 521 )
328     LincrbaNewCountEndOfwhileEvenK.AddCoord( 2 , 992 , 645 )
329     
330     LSyrComponentSyrComponentobjrefforNSyrComponent = SyrStruct.Link( OSyrComponentSyrComponentobjref , IforNSyrComponent )
331     LSyrComponentSyrComponentobjrefforNSyrComponent.AddCoord( 1 , 8 , 373 )
332     LSyrComponentSyrComponentobjrefforNSyrComponent.AddCoord( 2 , 8 , 181 )
333     LSyrComponentSyrComponentobjrefforNSyrComponent.AddCoord( 3 , 196 , 181 )
334     LSyrComponentSyrComponentobjrefforNSyrComponent.AddCoord( 4 , 196 , 71 )
335     
336     LforNNwhileNotOneN = SyrStruct.Link( OforNN , IwhileNotOneN )
337     
338     LforNNEndOfforNN = SyrStruct.Link( OforNN , IEndOfforNN )
339     
340     LforNKwhileNotOneK = SyrStruct.Link( OforNK , IwhileNotOneK )
341     
342     LforNSyrComponentEndOfforNSyrComponent = SyrStruct.Link( OforNSyrComponent , IEndOfforNSyrComponent )
343     
344     LforNSyrComponentwhileNotOneSyrComponent = SyrStruct.Link( OforNSyrComponent , IwhileNotOneSyrComponent )
345     LforNSyrComponentwhileNotOneSyrComponent.AddCoord( 1 , 197 , 313 )
346     LforNSyrComponentwhileNotOneSyrComponent.AddCoord( 2 , 197 , 373 )
347     
348     LforNminEndOfforNmin = SyrStruct.Link( OforNmin , IEndOfforNmin )
349     
350     LforNmaxEndOfforNmax = SyrStruct.Link( OforNmax , IEndOfforNmax )
351     
352     LwhileNotOneSyrComponentEndOfwhileNotOneSyrComponent = SyrStruct.Link( OwhileNotOneSyrComponent , IEndOfwhileNotOneSyrComponent )
353     
354     LwhileNotOneSyrComponentifNotEvenSyrComponent = SyrStruct.Link( OwhileNotOneSyrComponent , IifNotEvenSyrComponent )
355     
356     LwhileNotOneNifNotEvenN = SyrStruct.Link( OwhileNotOneN , IifNotEvenN )
357     
358     LwhileNotOneKifNotEvenK = SyrStruct.Link( OwhileNotOneK , IifNotEvenK )
359     
360     LEndOfwhileNotOneKEndOfforNK = SyrStruct.Link( OEndOfwhileNotOneK , IEndOfforNK )
361     
362     LforiiEndOfforii = SyrStruct.Link( Oforii , IEndOfforii )
363     
364     LforiKincraaCount = SyrStruct.Link( OforiK , IincraaCount )
365     
366     LEndOfforiKEndOfifNotEvenK = SyrStruct.Link( OEndOfforiK , IEndOfifNotEvenK )
367     LEndOfforiKEndOfifNotEvenK.AddCoord( 1 , 1180 , 382 )
368     LEndOfforiKEndOfifNotEvenK.AddCoord( 2 , 1180 , 289 )
369     
370     LwhileEvenSyrComponentEndOfwhileEvenSyrComponent = SyrStruct.Link( OwhileEvenSyrComponent , IEndOfwhileEvenSyrComponent )
371     
372     LwhileEvenNdiv2anEvenInteger = SyrStruct.Link( OwhileEvenN , Idiv2anEvenInteger )
373     
374     LwhileEvenKincrbaCount = SyrStruct.Link( OwhileEvenK , IincrbaCount )
375     LwhileEvenKincrbaCount.AddCoord( 1 , 805 , 645 )
376     LwhileEvenKincrbaCount.AddCoord( 2 , 805 , 522 )
377     
378     LEndOfwhileEvenNEndOfifNotEvenN = SyrStruct.Link( OEndOfwhileEvenN , IEndOfifNotEvenN )
379     LEndOfwhileEvenNEndOfifNotEvenN.AddCoord( 1 , 1192 , 362 )
380     LEndOfwhileEvenNEndOfifNotEvenN.AddCoord( 2 , 1192 , 502 )
381     
382     LEndOfwhileEvenKEndOfifNotEvenK = SyrStruct.Link( OEndOfwhileEvenK , IEndOfifNotEvenK )
383     LEndOfwhileEvenKEndOfifNotEvenK.AddCoord( 1 , 1180 , 382 )
384     LEndOfwhileEvenKEndOfifNotEvenK.AddCoord( 2 , 1180 , 522 )
385     
386     LifNotEvenOddm3Gate = SyrStruct.Link( OifNotEvenOdd , Im3Gate )
387     LifNotEvenOddm3Gate.AddCoord( 1 , 594 , 123 )
388     LifNotEvenOddm3Gate.AddCoord( 2 , 594 , 313 )
389     
390     LifNotEvenOddforiGate = SyrStruct.Link( OifNotEvenOdd , IforiGate )
391     
392     LifNotEvenEvenwhileEvenGate = SyrStruct.Link( OifNotEvenEven , IwhileEvenGate )
393     LifNotEvenEvenwhileEvenGate.AddCoord( 1 , 594 , 546 )
394     LifNotEvenEvenwhileEvenGate.AddCoord( 2 , 594 , 334 )
395     
396     LifNotEvenSyrComponentwhileEvenSyrComponent = SyrStruct.Link( OifNotEvenSyrComponent , IwhileEvenSyrComponent )
397     LifNotEvenSyrComponentwhileEvenSyrComponent.AddCoord( 1 , 588 , 482 )
398     LifNotEvenSyrComponentwhileEvenSyrComponent.AddCoord( 2 , 588 , 354 )
399     
400     LifNotEvenNwhileEvenN = SyrStruct.Link( OifNotEvenN , IwhileEvenN )
401     LifNotEvenNwhileEvenN.AddCoord( 1 , 603 , 502 )
402     LifNotEvenNwhileEvenN.AddCoord( 2 , 603 , 373 )
403     
404     LifNotEvenNm3anOddInteger = SyrStruct.Link( OifNotEvenN , Im3anOddInteger )
405     LifNotEvenNm3anOddInteger.AddCoord( 1 , 605 , 99 )
406     LifNotEvenNm3anOddInteger.AddCoord( 2 , 604 , 372 )
407     
408     LifNotEvenKwhileEvenK = SyrStruct.Link( OifNotEvenK , IwhileEvenK )
409     LifNotEvenKwhileEvenK.AddCoord( 1 , 620 , 523 )
410     LifNotEvenKwhileEvenK.AddCoord( 2 , 620 , 396 )
411     
412     LifNotEvenKforiK = SyrStruct.Link( OifNotEvenK , IforiK )
413     LifNotEvenKforiK.AddCoord( 1 , 620 , 289 )
414     LifNotEvenKforiK.AddCoord( 2 , 620 , 395 )
415     
416     LifNotEvenDefaultEndOfifNotEvenDefault = SyrStruct.Link( OifNotEvenDefault , IEndOfifNotEvenDefault )
417     LifNotEvenDefaultEndOfifNotEvenDefault.AddCoord( 1 , 1204 , 407 )
418     LifNotEvenDefaultEndOfifNotEvenDefault.AddCoord( 2 , 1203 , 12 )
419     LifNotEvenDefaultEndOfifNotEvenDefault.AddCoord( 3 , 581 , 13 )
420     LifNotEvenDefaultEndOfifNotEvenDefault.AddCoord( 4 , 581 , 418 )
421     
422     LEndOfifNotEvenNEndOfwhileNotOneN = SyrStruct.Link( OEndOfifNotEvenN , IEndOfwhileNotOneN )
423     
424     LEndOfifNotEvenKEndOfwhileNotOneK = SyrStruct.Link( OEndOfifNotEvenK , IEndOfwhileNotOneK )
425     
426     # Input datas
427     ISyrComponentaContainer.Input( 'FactoryServer' )
428     ISyrComponentaComponent.Input( 'SyrComponent' )
429     IforNN.Input( 0 )
430     IforNK.Input( 0 )
431     IforNmin.Input( 5 )
432     IforNmax.Input( 9 )
433     Iforii.Input( 0 )
434     
435     # Output Ports of the graph
436     #OEndOfforNN = EndOfforN.GetOutPort( 'N' )
437     #OEndOfforNK = EndOfforN.GetOutPort( 'K' )
438     #OEndOfforNSyrComponent = EndOfforN.GetOutPort( 'SyrComponent' )
439     #OEndOfforNmin = EndOfforN.GetOutPort( 'min' )
440     #OEndOfforNmax = EndOfforN.GetOutPort( 'max' )
441     #OEndOfwhileNotOneSyrComponent = EndOfwhileNotOne.GetOutPort( 'SyrComponent' )
442     #OEndOfwhileNotOneN = EndOfwhileNotOne.GetOutPort( 'N' )
443     #OEndOfforii = EndOffori.GetOutPort( 'i' )
444     #OEndOfwhileEvenSyrComponent = EndOfwhileEven.GetOutPort( 'SyrComponent' )
445     return SyrStruct
446
447
448 SyrStruct = DefSyrStruct()