2 # Generated python file of Graph GraphLoopSwitchOddEven
6 # Graph creation of GraphLoopSwitchOddEven
7 def DefGraphLoopSwitchOddEven() :
8 GraphLoopSwitchOddEven = Graph( 'GraphLoopSwitchOddEven' )
9 GraphLoopSwitchOddEven.SetName( 'GraphLoopSwitchOddEven' )
10 GraphLoopSwitchOddEven.SetAuthor( 'JR' )
11 GraphLoopSwitchOddEven.SetComment( '' )
12 GraphLoopSwitchOddEven.Coords( 0 , 0 )
14 # Creation of Factory Nodes
16 # Creation of InLine Nodes
18 PyIsOdd.append( 'from time import * ' )
19 PyIsOdd.append( 'def IsOdd(a) : ' )
20 PyIsOdd.append( ' print a,"IsOdd (GraphLoopSwitch1)" ' )
21 PyIsOdd.append( ' sleep( 1 ) ' )
22 PyIsOdd.append( ' return a ' )
23 IsOdd = GraphLoopSwitchOddEven.INode( 'IsOdd' , PyIsOdd )
24 IsOdd.SetName( 'IsOdd' )
26 IsOdd.SetComment( 'Python function' )
27 IsOdd.Coords( 397 , 1 )
28 IIsOdda = IsOdd.InPort( 'a' , 'long' )
29 IIsOddGate = IsOdd.GetInPort( 'Gate' )
30 OIsOdda = IsOdd.OutPort( 'a' , 'long' )
31 OIsOddGate = IsOdd.GetOutPort( 'Gate' )
34 PyIsEven.append( 'from time import * ' )
35 PyIsEven.append( 'def IsEven(a) : ' )
36 PyIsEven.append( ' sleep(1) ' )
37 PyIsEven.append( ' return a ' )
38 PyIsEven.append( ' ' )
39 IsEven = GraphLoopSwitchOddEven.INode( 'IsEven' , PyIsEven )
40 IsEven.SetName( 'IsEven' )
41 IsEven.SetAuthor( '' )
42 IsEven.SetComment( 'Compute Node' )
43 IsEven.Coords( 400 , 160 )
44 IIsEvena = IsEven.InPort( 'a' , 'long' )
45 IIsEvenGate = IsEven.GetInPort( 'Gate' )
46 OIsEvena = IsEven.OutPort( 'a' , 'long' )
47 OIsEvenGate = IsEven.GetOutPort( 'Gate' )
49 # Creation of Loop Nodes
51 PyInitLoop.append( 'def InitLoop(Index,Min,Max) : ' )
52 PyInitLoop.append( ' Index = Min ' )
53 PyInitLoop.append( ' return Index,Min,Max ' )
54 PyInitLoop.append( '' )
56 PyMoreInitLoop.append( '' )
58 PyNextInitLoop.append( '' )
59 InitLoop,EndOfInitLoop = GraphLoopSwitchOddEven.LNode( 'InitLoop' , PyInitLoop , '' , PyMoreInitLoop , '' , PyNextInitLoop )
60 EndOfInitLoop.SetName( 'EndOfInitLoop' )
61 EndOfInitLoop.SetAuthor( '' )
62 EndOfInitLoop.SetComment( 'Compute Node' )
63 EndOfInitLoop.Coords( 767 , 102 )
65 PyEndOfInitLoop.append( 'def EndOfInitLoop( DoLoop , Index , Min , Max ) :' )
66 PyEndOfInitLoop.append( ' Index = Index + 1 ' )
67 PyEndOfInitLoop.append( ' if Index <= Max : ' )
68 PyEndOfInitLoop.append( ' DoLoop = 1 ' )
69 PyEndOfInitLoop.append( ' else : ' )
70 PyEndOfInitLoop.append( ' DoLoop = 0 ' )
71 PyEndOfInitLoop.append( ' return DoLoop,Index,Min,Max ' )
72 EndOfInitLoop.SetPyFunction( 'EndOfInitLoop' , PyEndOfInitLoop )
73 IInitLoopDoLoop = InitLoop.GetInPort( 'DoLoop' )
74 IInitLoopIndex = InitLoop.InPort( 'Index' , 'long' )
75 IInitLoopMin = InitLoop.InPort( 'Min' , 'long' )
76 IInitLoopMax = InitLoop.InPort( 'Max' , 'long' )
77 IInitLoopGate = InitLoop.GetInPort( 'Gate' )
78 OInitLoopDoLoop = InitLoop.GetOutPort( 'DoLoop' )
79 OInitLoopIndex = InitLoop.GetOutPort( 'Index' )
80 OInitLoopMin = InitLoop.GetOutPort( 'Min' )
81 OInitLoopMax = InitLoop.GetOutPort( 'Max' )
82 IEndOfInitLoopDoLoop = EndOfInitLoop.GetInPort( 'DoLoop' )
83 IEndOfInitLoopIndex = EndOfInitLoop.GetInPort( 'Index' )
84 IEndOfInitLoopMin = EndOfInitLoop.GetInPort( 'Min' )
85 IEndOfInitLoopMax = EndOfInitLoop.GetInPort( 'Max' )
86 IEndOfInitLoopGate = EndOfInitLoop.GetInPort( 'Gate' )
87 OEndOfInitLoopDoLoop = EndOfInitLoop.GetOutPort( 'DoLoop' )
88 OEndOfInitLoopIndex = EndOfInitLoop.GetOutPort( 'Index' )
89 OEndOfInitLoopMin = EndOfInitLoop.GetOutPort( 'Min' )
90 OEndOfInitLoopMax = EndOfInitLoop.GetOutPort( 'Max' )
91 OEndOfInitLoopGate = EndOfInitLoop.GetOutPort( 'Gate' )
92 InitLoop.SetName( 'InitLoop' )
93 InitLoop.SetAuthor( '' )
94 InitLoop.SetComment( 'Compute Node' )
95 InitLoop.Coords( 10 , 108 )
97 # Creation of Switch Nodes
99 PySwitch.append( 'from time import * ' )
100 PySwitch.append( 'def Switch(a) : ' )
101 PySwitch.append( ' if ( a & 1 ) == 0 : ' )
102 PySwitch.append( ' sleep(1) ' )
103 PySwitch.append( ' return a & 1,1-(a&1),a ' )
104 Switch,EndSwitch = GraphLoopSwitchOddEven.SNode( 'Switch' , PySwitch )
105 EndSwitch.SetName( 'EndSwitch' )
106 EndSwitch.SetAuthor( '' )
107 EndSwitch.SetComment( 'Compute Node' )
108 EndSwitch.Coords( 587 , 103 )
110 PyEndSwitch.append( 'def EndSwitch(a) : ' )
111 PyEndSwitch.append( ' sleep(1) ' )
112 PyEndSwitch.append( ' return a ' )
113 EndSwitch.SetPyFunction( 'EndSwitch' , PyEndSwitch )
114 IEndSwitcha = EndSwitch.InPort( 'a' , 'long' )
115 IEndSwitchDefault = EndSwitch.GetInPort( 'Default' )
116 OEndSwitcha = EndSwitch.OutPort( 'a' , 'long' )
117 OEndSwitchGate = EndSwitch.GetOutPort( 'Gate' )
118 Switch.SetName( 'Switch' )
119 Switch.SetAuthor( '' )
120 Switch.SetComment( 'Compute Node' )
121 Switch.Coords( 194 , 109 )
122 ISwitcha = Switch.InPort( 'a' , 'long' )
123 ISwitchGate = Switch.GetInPort( 'Gate' )
124 OSwitchOdd = Switch.OutPort( 'Odd' , 'long' )
125 OSwitchEven = Switch.OutPort( 'Even' , 'int' )
126 OSwitcha = Switch.OutPort( 'a' , 'int' )
127 OSwitchDefault = Switch.GetOutPort( 'Default' )
130 LIsOddaEndSwitcha = GraphLoopSwitchOddEven.Link( OIsOdda , IEndSwitcha )
132 LInitLoopIndexSwitcha = GraphLoopSwitchOddEven.Link( OInitLoopIndex , ISwitcha )
134 LInitLoopMinEndOfInitLoopMin = GraphLoopSwitchOddEven.Link( OInitLoopMin , IEndOfInitLoopMin )
136 LInitLoopMaxEndOfInitLoopMax = GraphLoopSwitchOddEven.Link( OInitLoopMax , IEndOfInitLoopMax )
138 LSwitchOddIsOddGate = GraphLoopSwitchOddEven.Link( OSwitchOdd , IIsOddGate )
140 LSwitchEvenIsEvenGate = GraphLoopSwitchOddEven.Link( OSwitchEven , IIsEvenGate )
142 LSwitchaIsOdda = GraphLoopSwitchOddEven.Link( OSwitcha , IIsOdda )
144 LSwitchaIsEvena = GraphLoopSwitchOddEven.Link( OSwitcha , IIsEvena )
146 LEndSwitchaEndOfInitLoopIndex = GraphLoopSwitchOddEven.Link( OEndSwitcha , IEndOfInitLoopIndex )
148 LIsEvenaEndSwitcha = GraphLoopSwitchOddEven.Link( OIsEvena , IEndSwitcha )
151 IInitLoopIndex.Input( 0 )
152 IInitLoopMin.Input( 5 )
153 IInitLoopMax.Input( 23 )
155 # Output Ports of the graph
156 #OEndOfInitLoopIndex = EndOfInitLoop.GetOutPort( 'Index' )
157 #OEndOfInitLoopMin = EndOfInitLoop.GetOutPort( 'Min' )
158 #OEndOfInitLoopMax = EndOfInitLoop.GetOutPort( 'Max' )
159 return GraphLoopSwitchOddEven
162 GraphLoopSwitchOddEven = DefGraphLoopSwitchOddEven()