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