OPrintOddGate = PrintOdd.GetOutPort( 'Gate' )
PyPrintEven = []
- PyPrintEven.append( 'from time import * ' )
- PyPrintEven.append( 'def Print_1(a,Branch) : ' )
- PyPrintEven.append( ' print "Print ",a,Branch ' )
- PyPrintEven.append( ' sleep(1) ' )
- PyPrintEven.append( ' return Branch ' )
+ PyPrintEven.append( 'from time import * ' )
+ PyPrintEven.append( 'def Print_1(a,Branch) : ' )
+ PyPrintEven.append( ' print "Print ",a,Branch ' )
+ PyPrintEven.append( ' sleep(1) ' )
+ PyPrintEven.append( ' return a,Branch ' )
PrintEven = GraphSwitchCheckDefault1.INode( 'Print_1' , PyPrintEven )
PrintEven.SetName( 'PrintEven' )
PrintEven.SetAuthor( '' )
IPrintEvena = PrintEven.InPort( 'a' , 'long' )
IPrintEvenBranch = PrintEven.InPort( 'Branch' , 'string' )
IPrintEvenGate = PrintEven.GetInPort( 'Gate' )
+ OPrintEvena = PrintEven.OutPort( 'a' , 'long' )
OPrintEvenBranch = PrintEven.OutPort( 'Branch' , 'string' )
OPrintEvenGate = PrintEven.GetOutPort( 'Gate' )
LIsOddaEmptyNodea = GraphSwitchCheckDefault1.Link( OIsOdda , IEmptyNodea )
LIsOddaEmptyNodea.AddCoord( 1 , 646 , 78 )
- LIsEvenaEndOfSwitcha = GraphSwitchCheckDefault1.Link( OIsEvena , IEndOfSwitcha )
+ LIsEvenGateEndOfSwitchDefault = GraphSwitchCheckDefault1.Link( OIsEvenGate , IEndOfSwitchDefault )
LPrintOddBranchEmptyNodeBranch = GraphSwitchCheckDefault1.Link( OPrintOddBranch , IEmptyNodeBranch )
+ LPrintEvenaEndOfSwitcha = GraphSwitchCheckDefault1.Link( OPrintEvena , IEndOfSwitcha )
+
LPrintEvenBranchEndOfSwitchBranch = GraphSwitchCheckDefault1.Link( OPrintEvenBranch , IEndOfSwitchBranch )
LEmptyNodeaEndOfSwitcha = GraphSwitchCheckDefault1.Link( OEmptyNodea , IEndOfSwitcha )
LSwitchaPrintOdda = GraphSwitchCheckDefault1.Link( OSwitcha , IPrintOdda )
LSwitchaPrintEvena = GraphSwitchCheckDefault1.Link( OSwitcha , IPrintEvena )
- LSwitchaPrintEvena.AddCoord( 1 , 381 , 361 )
- LSwitchaPrintEvena.AddCoord( 2 , 382 , 200 )
LSwitchBranchPrintOddBranch = GraphSwitchCheckDefault1.Link( OSwitchBranch , IPrintOddBranch )
LSwitchBranchPrintEvenBranch = GraphSwitchCheckDefault1.Link( OSwitchBranch , IPrintEvenBranch )
- LSwitchBranchPrintEvenBranch.AddCoord( 1 , 369 , 381 )
- LSwitchBranchPrintEvenBranch.AddCoord( 2 , 369 , 219 )
LSwitchDefaultEndOfSwitchDefault = GraphSwitchCheckDefault1.Link( OSwitchDefault , IEndOfSwitchDefault )
IInitLoopSwitchMax.Input( 10 )
# Output Ports of the graph
+ #OIsEvena = IsEven.GetOutPort( 'a' )
#OEndOfInitLoopSwitchIndex = EndOfInitLoopSwitch.GetOutPort( 'Index' )
#OEndOfInitLoopSwitchMin = EndOfInitLoopSwitch.GetOutPort( 'Min' )
#OEndOfInitLoopSwitchMax = EndOfInitLoopSwitch.GetOutPort( 'Max' )
<kind>1</kind>
<coupled-node>?</coupled-node>
<service>
-<service-name>GraphSwitchCheckDefault_1</service-name>
+<service-name>GraphSwitchCheckDefault1</service-name>
<inParameter-list>
<inParameter>
<inParameter-type>long</inParameter-type>
<inParameter-name>InitLoopSwitch__Max</inParameter-name> </inParameter> </inParameter-list>
<outParameter-list>
<outParameter>
+<outParameter-type>long</outParameter-type>
+ <outParameter-name>IsEven__a</outParameter-name> </outParameter>
+ <outParameter>
<outParameter-type>long</outParameter-type>
<outParameter-name>EndOfInitLoopSwitch__Index</outParameter-name> </outParameter>
<outParameter>
<DataStream-list/>
<PyFunction-list/>
<creation-date>13/1/2005 - 12:21:43</creation-date>
- <lastmodification-date>9/2/2005 - 17:21:22</lastmodification-date>
+ <lastmodification-date>16/2/2005 - 14:31:44</lastmodification-date>
<editor-release>2.0</editor-release>
<author>JR</author>
<container>?</container>
<PyFunc><![CDATA[ print a,"IsOdd (GraphSwitch)" ]]></PyFunc>
<PyFunc><![CDATA[ sleep( 1 ) ]]></PyFunc>
<PyFunc><![CDATA[ return a ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>9/2/2005 - 17:21:22</creation-date>
- <lastmodification-date>9/2/2005 - 17:21:22</lastmodification-date>
+ <creation-date>16/2/2005 - 14:29:20</creation-date>
+ <lastmodification-date>16/2/2005 - 14:29:20</lastmodification-date>
<editor-release>2.0</editor-release>
<author>?</author>
<container>?</container>
<PyFunc><![CDATA[ print a,"IsEven (GraphSwitch)" ]]></PyFunc>
<PyFunc><![CDATA[ sleep( 1 ) ]]></PyFunc>
<PyFunc><![CDATA[ return a ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>9/2/2005 - 17:21:22</creation-date>
- <lastmodification-date>9/2/2005 - 17:21:22</lastmodification-date>
+ <creation-date>16/2/2005 - 14:29:20</creation-date>
+ <lastmodification-date>16/2/2005 - 14:29:20</lastmodification-date>
<editor-release>2.0</editor-release>
<author>?</author>
<container>?</container>
<PyFunc><![CDATA[ print "Print ",a,Branch ]]></PyFunc>
<PyFunc><![CDATA[ sleep(1) ]]></PyFunc>
<PyFunc><![CDATA[ return Branch ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>9/2/2005 - 17:21:22</creation-date>
- <lastmodification-date>9/2/2005 - 17:21:22</lastmodification-date>
+ <creation-date>16/2/2005 - 14:29:20</creation-date>
+ <lastmodification-date>16/2/2005 - 14:29:20</lastmodification-date>
<editor-release>2.0</editor-release>
<author>?</author>
<container>?</container>
<inParameter-name>Branch</inParameter-name> </inParameter> </inParameter-list>
<outParameter-list>
<outParameter>
+<outParameter-type>long</outParameter-type>
+ <outParameter-name>a</outParameter-name> </outParameter>
+ <outParameter>
<outParameter-type>string</outParameter-type>
<outParameter-name>Branch</outParameter-name> </outParameter> </outParameter-list> </service>
<DataStream-list/>
<PyFunction-list>
<PyFunction>
<FuncName>Print_1</FuncName>
- <PyFunc><![CDATA[from time import * ]]></PyFunc>
- <PyFunc><![CDATA[def Print_1(a,Branch) : ]]></PyFunc>
- <PyFunc><![CDATA[ print "Print ",a,Branch ]]></PyFunc>
- <PyFunc><![CDATA[ sleep(1) ]]></PyFunc>
- <PyFunc><![CDATA[ return Branch ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>9/2/2005 - 17:21:22</creation-date>
- <lastmodification-date>9/2/2005 - 17:21:22</lastmodification-date>
+ <PyFunc><![CDATA[from time import * ]]></PyFunc>
+ <PyFunc><![CDATA[def Print_1(a,Branch) : ]]></PyFunc>
+ <PyFunc><![CDATA[ print "Print ",a,Branch ]]></PyFunc>
+ <PyFunc><![CDATA[ sleep(1) ]]></PyFunc>
+ <PyFunc><![CDATA[ return a,Branch ]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>16/2/2005 - 14:29:20</creation-date>
+ <lastmodification-date>16/2/2005 - 14:29:20</lastmodification-date>
<editor-release>2.0</editor-release>
<author>?</author>
<container>?</container>
<PyFunc><![CDATA[def EmptyNode(a,Branch) : ]]></PyFunc>
<PyFunc><![CDATA[ sleep(1) ]]></PyFunc>
<PyFunc><![CDATA[ return a,Branch ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>9/2/2005 - 17:21:22</creation-date>
- <lastmodification-date>9/2/2005 - 17:21:22</lastmodification-date>
+ <creation-date>16/2/2005 - 14:29:20</creation-date>
+ <lastmodification-date>16/2/2005 - 14:29:20</lastmodification-date>
<editor-release>2.0</editor-release>
<author>?</author>
<container>?</container>
<PyFunc><![CDATA[def NextLoop(Index,Min,Max) : ]]></PyFunc>
<PyFunc><![CDATA[ Index = Index - 1 ]]></PyFunc>
<PyFunc><![CDATA[ return Index,Min,Max ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>9/2/2005 - 17:21:22</creation-date>
- <lastmodification-date>9/2/2005 - 17:21:22</lastmodification-date>
+ <creation-date>16/2/2005 - 14:29:20</creation-date>
+ <lastmodification-date>16/2/2005 - 14:29:20</lastmodification-date>
<editor-release>2.0</editor-release>
<author>?</author>
<container>?</container>
<PyFunc><![CDATA[def EndOfInitLoopSwitch(DoLoop,Index,Min,Max) : ]]></PyFunc>
<PyFunc><![CDATA[ sleep(1) ]]></PyFunc>
<PyFunc><![CDATA[ return DoLoop,Index,Min,Max ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>9/2/2005 - 17:21:22</creation-date>
- <lastmodification-date>9/2/2005 - 17:21:22</lastmodification-date>
+ <creation-date>16/2/2005 - 14:29:20</creation-date>
+ <lastmodification-date>16/2/2005 - 14:29:20</lastmodification-date>
<editor-release>2.0</editor-release>
<author>?</author>
<container>?</container>
<PyFunc><![CDATA[ else : ]]></PyFunc>
<PyFunc><![CDATA[ Branch = "Odd" ]]></PyFunc>
<PyFunc><![CDATA[ return a & 1,1-(a&1),a,Branch,0 ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>9/2/2005 - 17:21:22</creation-date>
- <lastmodification-date>9/2/2005 - 17:21:22</lastmodification-date>
+ <creation-date>16/2/2005 - 14:29:20</creation-date>
+ <lastmodification-date>16/2/2005 - 14:29:20</lastmodification-date>
<editor-release>2.0</editor-release>
<author>?</author>
<container>?</container>
<PyFunc><![CDATA[def EndOfSwitch(a,Branch) : ]]></PyFunc>
<PyFunc><![CDATA[ sleep(1) ]]></PyFunc>
<PyFunc><![CDATA[ return a ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>9/2/2005 - 17:21:22</creation-date>
- <lastmodification-date>9/2/2005 - 17:21:22</lastmodification-date>
+ <creation-date>16/2/2005 - 14:29:20</creation-date>
+ <lastmodification-date>16/2/2005 - 14:29:20</lastmodification-date>
<editor-release>2.0</editor-release>
<author>?</author>
<container>?</container>
<y>78</y> </coord> </coord-list> </link>
<link>
<fromnode-name>IsEven</fromnode-name>
- <fromserviceparameter-name>a</fromserviceparameter-name>
+ <fromserviceparameter-name>Gate</fromserviceparameter-name>
<tonode-name>EndOfSwitch</tonode-name>
- <toserviceparameter-name>a</toserviceparameter-name>
+ <toserviceparameter-name>Default</toserviceparameter-name>
<coord-list/> </link>
<link>
<fromnode-name>PrintOdd</fromnode-name>
<toserviceparameter-name>Branch</toserviceparameter-name>
<coord-list/> </link>
<link>
+<fromnode-name>PrintEven</fromnode-name>
+ <fromserviceparameter-name>a</fromserviceparameter-name>
+ <tonode-name>EndOfSwitch</tonode-name>
+ <toserviceparameter-name>a</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
<fromnode-name>PrintEven</fromnode-name>
<fromserviceparameter-name>Branch</fromserviceparameter-name>
<tonode-name>EndOfSwitch</tonode-name>
<fromserviceparameter-name>a</fromserviceparameter-name>
<tonode-name>PrintEven</tonode-name>
<toserviceparameter-name>a</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>381</x>
- <y>361</y> </coord>
- <coord>
-<x>382</x>
- <y>200</y> </coord> </coord-list> </link>
+ <coord-list/> </link>
<link>
<fromnode-name>Switch</fromnode-name>
<fromserviceparameter-name>Branch</fromserviceparameter-name>
<fromserviceparameter-name>Branch</fromserviceparameter-name>
<tonode-name>PrintEven</tonode-name>
<toserviceparameter-name>Branch</toserviceparameter-name>
- <coord-list>
-<coord>
-<x>369</x>
- <y>381</y> </coord>
- <coord>
-<x>369</x>
- <y>219</y> </coord> </coord-list> </link>
+ <coord-list/> </link>
<link>
<fromnode-name>Switch</fromnode-name>
<fromserviceparameter-name>Default</fromserviceparameter-name>
--- /dev/null
+
+# Generated python file of Graph GraphSwitchGates
+
+from SuperV import *
+
+# Graph creation of GraphSwitchGates
+def DefGraphSwitchGates() :
+ GraphSwitchGates = Graph( 'GraphSwitchGates' )
+ GraphSwitchGates.SetName( 'GraphSwitchGates' )
+ GraphSwitchGates.SetAuthor( 'JR' )
+ GraphSwitchGates.SetComment( '' )
+ GraphSwitchGates.Coords( 0 , 0 )
+
+ # Creation of Factory Nodes
+
+ # Creation of InLine Nodes
+ PyIsOdd = []
+ PyIsOdd.append( 'from time import * ' )
+ PyIsOdd.append( 'def IsOdd() : ' )
+ PyIsOdd.append( ' sleep(1) ' )
+ PyIsOdd.append( ' return ' )
+ IsOdd = GraphSwitchGates.INode( 'IsOdd' , PyIsOdd )
+ IsOdd.SetName( 'IsOdd' )
+ IsOdd.SetAuthor( '' )
+ IsOdd.SetComment( 'Compute Node' )
+ IsOdd.Coords( 424 , 116 )
+ IIsOddGate = IsOdd.GetInPort( 'Gate' )
+ OIsOddGate = IsOdd.GetOutPort( 'Gate' )
+
+ PyIsEven = []
+ PyIsEven.append( 'from time import * ' )
+ PyIsEven.append( 'def IsEven() : ' )
+ PyIsEven.append( ' sleep(1) ' )
+ PyIsEven.append( ' return ' )
+ IsEven = GraphSwitchGates.INode( 'IsEven' , PyIsEven )
+ IsEven.SetName( 'IsEven' )
+ IsEven.SetAuthor( '' )
+ IsEven.SetComment( 'Compute Node' )
+ IsEven.Coords( 428 , 345 )
+ IIsEvenGate = IsEven.GetInPort( 'Gate' )
+ OIsEvenGate = IsEven.GetOutPort( 'Gate' )
+
+ # Creation of Loop Nodes
+ PyLoopGates = []
+ PyLoopGates.append( 'def InitLoop(Index,Max,Min) : ' )
+ PyLoopGates.append( ' Index = Max ' )
+ PyLoopGates.append( ' return Index,Max,Min ' )
+ PyMoreLoopGates = []
+ PyMoreLoopGates.append( 'from time import * ' )
+ PyMoreLoopGates.append( 'def MoreLoop(Index,Max,Min) : ' )
+ PyMoreLoopGates.append( ' sleep(1) ' )
+ PyMoreLoopGates.append( ' DoLoop = 0 ' )
+ PyMoreLoopGates.append( ' if Index >= Min : ' )
+ PyMoreLoopGates.append( ' DoLoop = 1 ' )
+ PyMoreLoopGates.append( ' return DoLoop,Index,Max,Min ' )
+ PyNextLoopGates = []
+ PyNextLoopGates.append( 'def NextLoop(Index,Max,Min) : ' )
+ PyNextLoopGates.append( ' Index = Index - 1 ' )
+ PyNextLoopGates.append( ' return Index,Max,Min ' )
+ LoopGates,EndLoopGates = GraphSwitchGates.LNode( 'InitLoop' , PyLoopGates , 'MoreLoop' , PyMoreLoopGates , 'NextLoop' , PyNextLoopGates )
+ EndLoopGates.SetName( 'EndLoopGates' )
+ EndLoopGates.SetAuthor( '' )
+ EndLoopGates.SetComment( 'Compute Node' )
+ EndLoopGates.Coords( 875 , 216 )
+ PyEndLoopGates = []
+ EndLoopGates.SetPyFunction( 'EndLoopGates' , PyEndLoopGates )
+ ILoopGatesDoLoop = LoopGates.GetInPort( 'DoLoop' )
+ ILoopGatesIndex = LoopGates.InPort( 'Index' , 'long' )
+ ILoopGatesMax = LoopGates.InPort( 'Max' , 'long' )
+ ILoopGatesMin = LoopGates.InPort( 'Min' , 'long' )
+ ILoopGatesGate = LoopGates.GetInPort( 'Gate' )
+ OLoopGatesDoLoop = LoopGates.GetOutPort( 'DoLoop' )
+ OLoopGatesIndex = LoopGates.GetOutPort( 'Index' )
+ OLoopGatesMax = LoopGates.GetOutPort( 'Max' )
+ OLoopGatesMin = LoopGates.GetOutPort( 'Min' )
+ IEndLoopGatesDoLoop = EndLoopGates.GetInPort( 'DoLoop' )
+ IEndLoopGatesIndex = EndLoopGates.GetInPort( 'Index' )
+ IEndLoopGatesMax = EndLoopGates.GetInPort( 'Max' )
+ IEndLoopGatesMin = EndLoopGates.GetInPort( 'Min' )
+ IEndLoopGatesGate = EndLoopGates.GetInPort( 'Gate' )
+ OEndLoopGatesDoLoop = EndLoopGates.GetOutPort( 'DoLoop' )
+ OEndLoopGatesIndex = EndLoopGates.GetOutPort( 'Index' )
+ OEndLoopGatesMax = EndLoopGates.GetOutPort( 'Max' )
+ OEndLoopGatesMin = EndLoopGates.GetOutPort( 'Min' )
+ OEndLoopGatesGate = EndLoopGates.GetOutPort( 'Gate' )
+ LoopGates.SetName( 'LoopGates' )
+ LoopGates.SetAuthor( '' )
+ LoopGates.SetComment( 'Compute Node' )
+ LoopGates.Coords( 13 , 236 )
+
+ # Creation of Switch Nodes
+ PySwitchGates = []
+ PySwitchGates.append( 'def SwitchGates(Index) : ' )
+ PySwitchGates.append( ' Odd = 0 ' )
+ PySwitchGates.append( ' Even = 0 ' )
+ PySwitchGates.append( ' if (Index & 1) == 1 : ' )
+ PySwitchGates.append( ' Odd = 1 ' )
+ PySwitchGates.append( ' if (Index & 1) == 0 : ' )
+ PySwitchGates.append( ' Even = 1 ' )
+ PySwitchGates.append( ' return Odd,Even ' )
+ SwitchGates,EndSwitchGates = GraphSwitchGates.SNode( 'SwitchGates' , PySwitchGates )
+ EndSwitchGates.SetName( 'EndSwitchGates' )
+ EndSwitchGates.SetAuthor( '' )
+ EndSwitchGates.SetComment( 'Compute Node' )
+ EndSwitchGates.Coords( 648 , 276 )
+ PyEndSwitchGates = []
+ PyEndSwitchGates.append( 'from time import * ' )
+ PyEndSwitchGates.append( 'def EndSwitchGates() : ' )
+ PyEndSwitchGates.append( ' sleep(1) ' )
+ PyEndSwitchGates.append( ' return ' )
+ PyEndSwitchGates.append( '' )
+ EndSwitchGates.SetPyFunction( 'EndSwitchGates' , PyEndSwitchGates )
+ IEndSwitchGatesDefault = EndSwitchGates.GetInPort( 'Default' )
+ OEndSwitchGatesGate = EndSwitchGates.GetOutPort( 'Gate' )
+ SwitchGates.SetName( 'SwitchGates' )
+ SwitchGates.SetAuthor( '' )
+ SwitchGates.SetComment( 'Compute Node' )
+ SwitchGates.Coords( 204 , 236 )
+ ISwitchGatesIndex = SwitchGates.InPort( 'Index' , 'long' )
+ ISwitchGatesGate = SwitchGates.GetInPort( 'Gate' )
+ OSwitchGatesOdd = SwitchGates.OutPort( 'Odd' , 'long' )
+ OSwitchGatesEven = SwitchGates.OutPort( 'Even' , 'long' )
+ OSwitchGatesDefault = SwitchGates.GetOutPort( 'Default' )
+
+ # Creation of Links
+ LLoopGatesIndexEndLoopGatesIndex = GraphSwitchGates.Link( OLoopGatesIndex , IEndLoopGatesIndex )
+
+ LLoopGatesIndexSwitchGatesIndex = GraphSwitchGates.Link( OLoopGatesIndex , ISwitchGatesIndex )
+
+ LLoopGatesMaxEndLoopGatesMax = GraphSwitchGates.Link( OLoopGatesMax , IEndLoopGatesMax )
+
+ LLoopGatesMinEndLoopGatesMin = GraphSwitchGates.Link( OLoopGatesMin , IEndLoopGatesMin )
+
+ LSwitchGatesOddIsOddGate = GraphSwitchGates.Link( OSwitchGatesOdd , IIsOddGate )
+
+ LSwitchGatesEvenIsEvenGate = GraphSwitchGates.Link( OSwitchGatesEven , IIsEvenGate )
+
+ LEndSwitchGatesGateEndLoopGatesGate = GraphSwitchGates.Link( OEndSwitchGatesGate , IEndLoopGatesGate )
+
+ LIsOddGateEndSwitchGatesDefault = GraphSwitchGates.Link( OIsOddGate , IEndSwitchGatesDefault )
+
+ LIsEvenGateEndSwitchGatesDefault = GraphSwitchGates.Link( OIsEvenGate , IEndSwitchGatesDefault )
+
+ # Input datas
+ ILoopGatesIndex.Input( 0 )
+ ILoopGatesMax.Input( 13 )
+ ILoopGatesMin.Input( -7 )
+
+ # Output Ports of the graph
+ #OEndLoopGatesIndex = EndLoopGates.GetOutPort( 'Index' )
+ #OEndLoopGatesMax = EndLoopGates.GetOutPort( 'Max' )
+ #OEndLoopGatesMin = EndLoopGates.GetOutPort( 'Min' )
+ return GraphSwitchGates
+
+
+GraphSwitchGates = DefGraphSwitchGates()
--- /dev/null
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>GraphSwitchGates</node-name>
+ <kind>1</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>GraphSwitchGatesDefault</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+ <inParameter-name>LoopGates__Index</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>long</inParameter-type>
+ <inParameter-name>LoopGates__Max</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>long</inParameter-type>
+ <inParameter-name>LoopGates__Min</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+ <outParameter-name>EndLoopGates__Index</outParameter-name> </outParameter>
+ <outParameter>
+<outParameter-type>long</outParameter-type>
+ <outParameter-name>EndLoopGates__Max</outParameter-name> </outParameter>
+ <outParameter>
+<outParameter-type>long</outParameter-type>
+ <outParameter-name>EndLoopGates__Min</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list/>
+ <creation-date>16/2/2005 - 10:40:8</creation-date>
+ <lastmodification-date>16/2/2005 - 11:44:13</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>JR</author>
+ <container>?</container>
+ <comment>?</comment>
+ <x-position>0</x-position>
+ <y-position>0</y-position> </node> </info-list>
+ <node-list>
+<node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>LoopGates</node-name>
+ <kind>4</kind>
+ <coupled-node>EndLoopGates</coupled-node>
+ <service>
+<service-name>LoopGates</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+ <inParameter-name>Index</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>long</inParameter-type>
+ <inParameter-name>Max</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>long</inParameter-type>
+ <inParameter-name>Min</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+ <outParameter-name>Index</outParameter-name> </outParameter>
+ <outParameter>
+<outParameter-type>long</outParameter-type>
+ <outParameter-name>Max</outParameter-name> </outParameter>
+ <outParameter>
+<outParameter-type>long</outParameter-type>
+ <outParameter-name>Min</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list>
+<PyFunction>
+<FuncName>InitLoop</FuncName>
+ <PyFunc><![CDATA[def InitLoop(Index,Max,Min) : ]]></PyFunc>
+ <PyFunc><![CDATA[ Index = Max ]]></PyFunc>
+ <PyFunc><![CDATA[ return Index,Max,Min ]]></PyFunc> </PyFunction>
+ <PyFunction>
+<FuncName>MoreLoop</FuncName>
+ <PyFunc><![CDATA[from time import * ]]></PyFunc>
+ <PyFunc><![CDATA[def MoreLoop(Index,Max,Min) : ]]></PyFunc>
+ <PyFunc><![CDATA[ sleep(1) ]]></PyFunc>
+ <PyFunc><![CDATA[ DoLoop = 0 ]]></PyFunc>
+ <PyFunc><![CDATA[ if Index >= Min : ]]></PyFunc>
+ <PyFunc><![CDATA[ DoLoop = 1 ]]></PyFunc>
+ <PyFunc><![CDATA[ return DoLoop,Index,Max,Min ]]></PyFunc> </PyFunction>
+ <PyFunction>
+<FuncName>NextLoop</FuncName>
+ <PyFunc><![CDATA[def NextLoop(Index,Max,Min) : ]]></PyFunc>
+ <PyFunc><![CDATA[ Index = Index - 1 ]]></PyFunc>
+ <PyFunc><![CDATA[ return Index,Max,Min ]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>16/2/2005 - 11:33:14</creation-date>
+ <lastmodification-date>16/2/2005 - 11:33:14</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>Compute Node</comment>
+ <x-position>13</x-position>
+ <y-position>236</y-position> </node>
+ <node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>EndLoopGates</node-name>
+ <kind>5</kind>
+ <coupled-node>LoopGates</coupled-node>
+ <service>
+<service-name>EndLoopGates</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+ <inParameter-name>Index</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>long</inParameter-type>
+ <inParameter-name>Max</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>long</inParameter-type>
+ <inParameter-name>Min</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+ <outParameter-name>Index</outParameter-name> </outParameter>
+ <outParameter>
+<outParameter-type>long</outParameter-type>
+ <outParameter-name>Max</outParameter-name> </outParameter>
+ <outParameter>
+<outParameter-type>long</outParameter-type>
+ <outParameter-name>Min</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list>
+<PyFunction>
+<FuncName>EndLoopGates</FuncName>
+ <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>16/2/2005 - 11:33:14</creation-date>
+ <lastmodification-date>16/2/2005 - 11:33:14</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>Compute Node</comment>
+ <x-position>875</x-position>
+ <y-position>216</y-position> </node>
+ <node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>SwitchGates</node-name>
+ <kind>6</kind>
+ <coupled-node>EndSwitchGates</coupled-node>
+ <service>
+<service-name>SwitchGates</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+ <inParameter-name>Index</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+ <outParameter-name>Odd</outParameter-name> </outParameter>
+ <outParameter>
+<outParameter-type>long</outParameter-type>
+ <outParameter-name>Even</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list>
+<PyFunction>
+<FuncName>SwitchGates</FuncName>
+ <PyFunc><![CDATA[def SwitchGates(Index) : ]]></PyFunc>
+ <PyFunc><![CDATA[ Odd = 0 ]]></PyFunc>
+ <PyFunc><![CDATA[ Even = 0 ]]></PyFunc>
+ <PyFunc><![CDATA[ if (Index & 1) == 1 : ]]></PyFunc>
+ <PyFunc><![CDATA[ Odd = 1 ]]></PyFunc>
+ <PyFunc><![CDATA[ if (Index & 1) == 0 : ]]></PyFunc>
+ <PyFunc><![CDATA[ Even = 1 ]]></PyFunc>
+ <PyFunc><![CDATA[ return Odd,Even ]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>16/2/2005 - 11:33:14</creation-date>
+ <lastmodification-date>16/2/2005 - 11:33:14</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>Compute Node</comment>
+ <x-position>204</x-position>
+ <y-position>236</y-position> </node>
+ <node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>EndSwitchGates</node-name>
+ <kind>7</kind>
+ <coupled-node>SwitchGates</coupled-node>
+ <service>
+<service-name>EndSwitchGates</service-name>
+ <inParameter-list/>
+ <outParameter-list/> </service>
+ <DataStream-list/>
+ <PyFunction-list>
+<PyFunction>
+<FuncName>EndSwitchGates</FuncName>
+ <PyFunc><![CDATA[from time import * ]]></PyFunc>
+ <PyFunc><![CDATA[def EndSwitchGates() : ]]></PyFunc>
+ <PyFunc><![CDATA[ sleep(1) ]]></PyFunc>
+ <PyFunc><![CDATA[ return ]]></PyFunc>
+ <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>16/2/2005 - 11:33:14</creation-date>
+ <lastmodification-date>16/2/2005 - 11:33:14</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>Compute Node</comment>
+ <x-position>648</x-position>
+ <y-position>276</y-position> </node>
+ <node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>IsOdd</node-name>
+ <kind>3</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>IsOdd</service-name>
+ <inParameter-list/>
+ <outParameter-list/> </service>
+ <DataStream-list/>
+ <PyFunction-list>
+<PyFunction>
+<FuncName>IsOdd</FuncName>
+ <PyFunc><![CDATA[from time import * ]]></PyFunc>
+ <PyFunc><![CDATA[def IsOdd() : ]]></PyFunc>
+ <PyFunc><![CDATA[ sleep(1) ]]></PyFunc>
+ <PyFunc><![CDATA[ return ]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>16/2/2005 - 11:33:14</creation-date>
+ <lastmodification-date>16/2/2005 - 11:33:14</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>Compute Node</comment>
+ <x-position>424</x-position>
+ <y-position>116</y-position> </node>
+ <node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>IsEven</node-name>
+ <kind>3</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>IsEven</service-name>
+ <inParameter-list/>
+ <outParameter-list/> </service>
+ <DataStream-list/>
+ <PyFunction-list>
+<PyFunction>
+<FuncName>IsEven</FuncName>
+ <PyFunc><![CDATA[from time import * ]]></PyFunc>
+ <PyFunc><![CDATA[def IsEven() : ]]></PyFunc>
+ <PyFunc><![CDATA[ sleep(1) ]]></PyFunc>
+ <PyFunc><![CDATA[ return ]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>16/2/2005 - 11:33:14</creation-date>
+ <lastmodification-date>16/2/2005 - 11:33:14</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>Compute Node</comment>
+ <x-position>428</x-position>
+ <y-position>345</y-position> </node> </node-list>
+ <link-list>
+<link>
+<fromnode-name>LoopGates</fromnode-name>
+ <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+ <tonode-name>EndLoopGates</tonode-name>
+ <toserviceparameter-name>DoLoop</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>LoopGates</fromnode-name>
+ <fromserviceparameter-name>Index</fromserviceparameter-name>
+ <tonode-name>EndLoopGates</tonode-name>
+ <toserviceparameter-name>Index</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>LoopGates</fromnode-name>
+ <fromserviceparameter-name>Index</fromserviceparameter-name>
+ <tonode-name>SwitchGates</tonode-name>
+ <toserviceparameter-name>Index</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>LoopGates</fromnode-name>
+ <fromserviceparameter-name>Max</fromserviceparameter-name>
+ <tonode-name>EndLoopGates</tonode-name>
+ <toserviceparameter-name>Max</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>LoopGates</fromnode-name>
+ <fromserviceparameter-name>Min</fromserviceparameter-name>
+ <tonode-name>EndLoopGates</tonode-name>
+ <toserviceparameter-name>Min</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>EndLoopGates</fromnode-name>
+ <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+ <tonode-name>LoopGates</tonode-name>
+ <toserviceparameter-name>DoLoop</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>SwitchGates</fromnode-name>
+ <fromserviceparameter-name>Odd</fromserviceparameter-name>
+ <tonode-name>IsOdd</tonode-name>
+ <toserviceparameter-name>Gate</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>SwitchGates</fromnode-name>
+ <fromserviceparameter-name>Even</fromserviceparameter-name>
+ <tonode-name>IsEven</tonode-name>
+ <toserviceparameter-name>Gate</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>EndSwitchGates</fromnode-name>
+ <fromserviceparameter-name>Gate</fromserviceparameter-name>
+ <tonode-name>EndLoopGates</tonode-name>
+ <toserviceparameter-name>Gate</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>IsOdd</fromnode-name>
+ <fromserviceparameter-name>Gate</fromserviceparameter-name>
+ <tonode-name>EndSwitchGates</tonode-name>
+ <toserviceparameter-name>Default</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>IsEven</fromnode-name>
+ <fromserviceparameter-name>Gate</fromserviceparameter-name>
+ <tonode-name>EndSwitchGates</tonode-name>
+ <toserviceparameter-name>Default</toserviceparameter-name>
+ <coord-list/> </link> </link-list>
+ <data-list>
+<data>
+<fromnode-name>GraphSwitchGates</fromnode-name>
+ <fromserviceparameter-name>LoopGates__Index</fromserviceparameter-name>
+ <tonode-name>LoopGates</tonode-name>
+ <toserviceparameter-name>Index</toserviceparameter-name>
+ <data-value>
+<value-type>3</value-type>
+ <value>0</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>GraphSwitchGates</fromnode-name>
+ <fromserviceparameter-name>LoopGates__Max</fromserviceparameter-name>
+ <tonode-name>LoopGates</tonode-name>
+ <toserviceparameter-name>Max</toserviceparameter-name>
+ <data-value>
+<value-type>3</value-type>
+ <value>13</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>GraphSwitchGates</fromnode-name>
+ <fromserviceparameter-name>LoopGates__Min</fromserviceparameter-name>
+ <tonode-name>LoopGates</tonode-name>
+ <toserviceparameter-name>Min</toserviceparameter-name>
+ <data-value>
+<value-type>3</value-type>
+ <value>-7</value> </data-value>
+ <coord-list/> </data> </data-list> </dataflow></supergraph>
--- /dev/null
+
+# Generated python file of Graph GraphSwitchGatesDefault
+
+from SuperV import *
+
+# Graph creation of GraphSwitchGatesDefault
+def DefGraphSwitchGatesDefault() :
+ GraphSwitchGatesDefault = Graph( 'GraphSwitchGatesDefault' )
+ GraphSwitchGatesDefault.SetName( 'GraphSwitchGatesDefault' )
+ GraphSwitchGatesDefault.SetAuthor( 'JR' )
+ GraphSwitchGatesDefault.SetComment( '' )
+ GraphSwitchGatesDefault.Coords( 0 , 0 )
+
+ # Creation of Factory Nodes
+
+ # Creation of InLine Nodes
+ PyIsOdd = []
+ PyIsOdd.append( 'from time import * ' )
+ PyIsOdd.append( 'def IsOdd() : ' )
+ PyIsOdd.append( ' sleep(1) ' )
+ PyIsOdd.append( ' return ' )
+ IsOdd = GraphSwitchGatesDefault.INode( 'IsOdd' , PyIsOdd )
+ IsOdd.SetName( 'IsOdd' )
+ IsOdd.SetAuthor( '' )
+ IsOdd.SetComment( 'Compute Node' )
+ IsOdd.Coords( 424 , 116 )
+ IIsOddGate = IsOdd.GetInPort( 'Gate' )
+ OIsOddGate = IsOdd.GetOutPort( 'Gate' )
+
+ PyIsEven = []
+ PyIsEven.append( 'from time import * ' )
+ PyIsEven.append( 'def IsEven() : ' )
+ PyIsEven.append( ' sleep(1) ' )
+ PyIsEven.append( ' return ' )
+ IsEven = GraphSwitchGatesDefault.INode( 'IsEven' , PyIsEven )
+ IsEven.SetName( 'IsEven' )
+ IsEven.SetAuthor( '' )
+ IsEven.SetComment( 'Compute Node' )
+ IsEven.Coords( 428 , 345 )
+ IIsEvenGate = IsEven.GetInPort( 'Gate' )
+ OIsEvenGate = IsEven.GetOutPort( 'Gate' )
+
+ # Creation of Loop Nodes
+ PyLoopGates = []
+ PyLoopGates.append( 'def InitLoop(Index,Max,Min) : ' )
+ PyLoopGates.append( ' Index = Max ' )
+ PyLoopGates.append( ' return Index,Max,Min ' )
+ PyMoreLoopGates = []
+ PyMoreLoopGates.append( 'from time import * ' )
+ PyMoreLoopGates.append( 'def MoreLoop(Index,Max,Min) : ' )
+ PyMoreLoopGates.append( ' sleep(1) ' )
+ PyMoreLoopGates.append( ' DoLoop = 0 ' )
+ PyMoreLoopGates.append( ' if Index >= Min : ' )
+ PyMoreLoopGates.append( ' DoLoop = 1 ' )
+ PyMoreLoopGates.append( ' return DoLoop,Index,Max,Min ' )
+ PyNextLoopGates = []
+ PyNextLoopGates.append( 'def NextLoop(Index,Max,Min) : ' )
+ PyNextLoopGates.append( ' Index = Index - 1 ' )
+ PyNextLoopGates.append( ' return Index,Max,Min ' )
+ LoopGates,EndLoopGates = GraphSwitchGatesDefault.LNode( 'InitLoop' , PyLoopGates , 'MoreLoop' , PyMoreLoopGates , 'NextLoop' , PyNextLoopGates )
+ EndLoopGates.SetName( 'EndLoopGates' )
+ EndLoopGates.SetAuthor( '' )
+ EndLoopGates.SetComment( 'Compute Node' )
+ EndLoopGates.Coords( 875 , 216 )
+ PyEndLoopGates = []
+ EndLoopGates.SetPyFunction( 'EndLoopGates' , PyEndLoopGates )
+ ILoopGatesDoLoop = LoopGates.GetInPort( 'DoLoop' )
+ ILoopGatesIndex = LoopGates.InPort( 'Index' , 'long' )
+ ILoopGatesMax = LoopGates.InPort( 'Max' , 'long' )
+ ILoopGatesMin = LoopGates.InPort( 'Min' , 'long' )
+ ILoopGatesGate = LoopGates.GetInPort( 'Gate' )
+ OLoopGatesDoLoop = LoopGates.GetOutPort( 'DoLoop' )
+ OLoopGatesIndex = LoopGates.GetOutPort( 'Index' )
+ OLoopGatesMax = LoopGates.GetOutPort( 'Max' )
+ OLoopGatesMin = LoopGates.GetOutPort( 'Min' )
+ IEndLoopGatesDoLoop = EndLoopGates.GetInPort( 'DoLoop' )
+ IEndLoopGatesIndex = EndLoopGates.GetInPort( 'Index' )
+ IEndLoopGatesMax = EndLoopGates.GetInPort( 'Max' )
+ IEndLoopGatesMin = EndLoopGates.GetInPort( 'Min' )
+ IEndLoopGatesGate = EndLoopGates.GetInPort( 'Gate' )
+ OEndLoopGatesDoLoop = EndLoopGates.GetOutPort( 'DoLoop' )
+ OEndLoopGatesIndex = EndLoopGates.GetOutPort( 'Index' )
+ OEndLoopGatesMax = EndLoopGates.GetOutPort( 'Max' )
+ OEndLoopGatesMin = EndLoopGates.GetOutPort( 'Min' )
+ OEndLoopGatesGate = EndLoopGates.GetOutPort( 'Gate' )
+ LoopGates.SetName( 'LoopGates' )
+ LoopGates.SetAuthor( '' )
+ LoopGates.SetComment( 'Compute Node' )
+ LoopGates.Coords( 13 , 236 )
+
+ # Creation of Switch Nodes
+ PySwitchGates = []
+ PySwitchGates.append( 'def SwitchGates(Index) : ' )
+ PySwitchGates.append( ' Odd = 0 ' )
+ PySwitchGates.append( ' Even = 0 ' )
+ PySwitchGates.append( ' if Index > 0 : ' )
+ PySwitchGates.append( ' if (Index & 1) == 1 : ' )
+ PySwitchGates.append( ' Odd = 1 ' )
+ PySwitchGates.append( ' if (Index & 1) == 0 : ' )
+ PySwitchGates.append( ' Even = 1 ' )
+ PySwitchGates.append( ' return Odd,Even ' )
+ SwitchGates,EndSwitchGates = GraphSwitchGatesDefault.SNode( 'SwitchGates' , PySwitchGates )
+ EndSwitchGates.SetName( 'EndSwitchGates' )
+ EndSwitchGates.SetAuthor( '' )
+ EndSwitchGates.SetComment( 'Compute Node' )
+ EndSwitchGates.Coords( 648 , 276 )
+ PyEndSwitchGates = []
+ PyEndSwitchGates.append( 'from time import * ' )
+ PyEndSwitchGates.append( 'def EndSwitchGates() : ' )
+ PyEndSwitchGates.append( ' sleep(1) ' )
+ PyEndSwitchGates.append( ' return ' )
+ PyEndSwitchGates.append( '' )
+ EndSwitchGates.SetPyFunction( 'EndSwitchGates' , PyEndSwitchGates )
+ IEndSwitchGatesDefault = EndSwitchGates.GetInPort( 'Default' )
+ OEndSwitchGatesGate = EndSwitchGates.GetOutPort( 'Gate' )
+ SwitchGates.SetName( 'SwitchGates' )
+ SwitchGates.SetAuthor( '' )
+ SwitchGates.SetComment( 'Compute Node' )
+ SwitchGates.Coords( 204 , 236 )
+ ISwitchGatesIndex = SwitchGates.InPort( 'Index' , 'long' )
+ ISwitchGatesGate = SwitchGates.GetInPort( 'Gate' )
+ OSwitchGatesOdd = SwitchGates.OutPort( 'Odd' , 'long' )
+ OSwitchGatesEven = SwitchGates.OutPort( 'Even' , 'long' )
+ OSwitchGatesDefault = SwitchGates.GetOutPort( 'Default' )
+
+ # Creation of Links
+ LLoopGatesIndexEndLoopGatesIndex = GraphSwitchGatesDefault.Link( OLoopGatesIndex , IEndLoopGatesIndex )
+
+ LLoopGatesIndexSwitchGatesIndex = GraphSwitchGatesDefault.Link( OLoopGatesIndex , ISwitchGatesIndex )
+
+ LLoopGatesMaxEndLoopGatesMax = GraphSwitchGatesDefault.Link( OLoopGatesMax , IEndLoopGatesMax )
+
+ LLoopGatesMinEndLoopGatesMin = GraphSwitchGatesDefault.Link( OLoopGatesMin , IEndLoopGatesMin )
+
+ LSwitchGatesOddIsOddGate = GraphSwitchGatesDefault.Link( OSwitchGatesOdd , IIsOddGate )
+
+ LSwitchGatesEvenIsEvenGate = GraphSwitchGatesDefault.Link( OSwitchGatesEven , IIsEvenGate )
+
+ LSwitchGatesDefaultEndSwitchGatesDefault = GraphSwitchGatesDefault.Link( OSwitchGatesDefault , IEndSwitchGatesDefault )
+
+ LEndSwitchGatesGateEndLoopGatesGate = GraphSwitchGatesDefault.Link( OEndSwitchGatesGate , IEndLoopGatesGate )
+
+ LIsOddGateEndSwitchGatesDefault = GraphSwitchGatesDefault.Link( OIsOddGate , IEndSwitchGatesDefault )
+
+ LIsEvenGateEndSwitchGatesDefault = GraphSwitchGatesDefault.Link( OIsEvenGate , IEndSwitchGatesDefault )
+
+ # Input datas
+ ILoopGatesIndex.Input( 0 )
+ ILoopGatesMax.Input( 13 )
+ ILoopGatesMin.Input( -7 )
+
+ # Output Ports of the graph
+ #OEndLoopGatesIndex = EndLoopGates.GetOutPort( 'Index' )
+ #OEndLoopGatesMax = EndLoopGates.GetOutPort( 'Max' )
+ #OEndLoopGatesMin = EndLoopGates.GetOutPort( 'Min' )
+ return GraphSwitchGatesDefault
+
+
+GraphSwitchGatesDefault = DefGraphSwitchGatesDefault()
--- /dev/null
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>GraphSwitchGatesDefault</node-name>
+ <kind>1</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>GraphSwitchGatesDefault_1</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+ <inParameter-name>LoopGates__Index</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>long</inParameter-type>
+ <inParameter-name>LoopGates__Max</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>long</inParameter-type>
+ <inParameter-name>LoopGates__Min</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+ <outParameter-name>EndLoopGates__Index</outParameter-name> </outParameter>
+ <outParameter>
+<outParameter-type>long</outParameter-type>
+ <outParameter-name>EndLoopGates__Max</outParameter-name> </outParameter>
+ <outParameter>
+<outParameter-type>long</outParameter-type>
+ <outParameter-name>EndLoopGates__Min</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list/>
+ <creation-date>16/2/2005 - 10:40:8</creation-date>
+ <lastmodification-date>16/2/2005 - 11:46:44</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>JR</author>
+ <container>?</container>
+ <comment>?</comment>
+ <x-position>0</x-position>
+ <y-position>0</y-position> </node> </info-list>
+ <node-list>
+<node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>LoopGates</node-name>
+ <kind>4</kind>
+ <coupled-node>EndLoopGates</coupled-node>
+ <service>
+<service-name>LoopGates</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+ <inParameter-name>Index</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>long</inParameter-type>
+ <inParameter-name>Max</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>long</inParameter-type>
+ <inParameter-name>Min</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+ <outParameter-name>Index</outParameter-name> </outParameter>
+ <outParameter>
+<outParameter-type>long</outParameter-type>
+ <outParameter-name>Max</outParameter-name> </outParameter>
+ <outParameter>
+<outParameter-type>long</outParameter-type>
+ <outParameter-name>Min</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list>
+<PyFunction>
+<FuncName>InitLoop</FuncName>
+ <PyFunc><![CDATA[def InitLoop(Index,Max,Min) : ]]></PyFunc>
+ <PyFunc><![CDATA[ Index = Max ]]></PyFunc>
+ <PyFunc><![CDATA[ return Index,Max,Min ]]></PyFunc> </PyFunction>
+ <PyFunction>
+<FuncName>MoreLoop</FuncName>
+ <PyFunc><![CDATA[from time import * ]]></PyFunc>
+ <PyFunc><![CDATA[def MoreLoop(Index,Max,Min) : ]]></PyFunc>
+ <PyFunc><![CDATA[ sleep(1) ]]></PyFunc>
+ <PyFunc><![CDATA[ DoLoop = 0 ]]></PyFunc>
+ <PyFunc><![CDATA[ if Index >= Min : ]]></PyFunc>
+ <PyFunc><![CDATA[ DoLoop = 1 ]]></PyFunc>
+ <PyFunc><![CDATA[ return DoLoop,Index,Max,Min ]]></PyFunc> </PyFunction>
+ <PyFunction>
+<FuncName>NextLoop</FuncName>
+ <PyFunc><![CDATA[def NextLoop(Index,Max,Min) : ]]></PyFunc>
+ <PyFunc><![CDATA[ Index = Index - 1 ]]></PyFunc>
+ <PyFunc><![CDATA[ return Index,Max,Min ]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>16/2/2005 - 11:46:44</creation-date>
+ <lastmodification-date>16/2/2005 - 11:46:44</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>Compute Node</comment>
+ <x-position>13</x-position>
+ <y-position>236</y-position> </node>
+ <node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>EndLoopGates</node-name>
+ <kind>5</kind>
+ <coupled-node>LoopGates</coupled-node>
+ <service>
+<service-name>EndLoopGates</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+ <inParameter-name>Index</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>long</inParameter-type>
+ <inParameter-name>Max</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>long</inParameter-type>
+ <inParameter-name>Min</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+ <outParameter-name>Index</outParameter-name> </outParameter>
+ <outParameter>
+<outParameter-type>long</outParameter-type>
+ <outParameter-name>Max</outParameter-name> </outParameter>
+ <outParameter>
+<outParameter-type>long</outParameter-type>
+ <outParameter-name>Min</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list>
+<PyFunction>
+<FuncName>EndLoopGates</FuncName>
+ <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>16/2/2005 - 11:46:44</creation-date>
+ <lastmodification-date>16/2/2005 - 11:46:44</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>Compute Node</comment>
+ <x-position>875</x-position>
+ <y-position>216</y-position> </node>
+ <node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>SwitchGates</node-name>
+ <kind>6</kind>
+ <coupled-node>EndSwitchGates</coupled-node>
+ <service>
+<service-name>SwitchGates</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+ <inParameter-name>Index</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+ <outParameter-name>Odd</outParameter-name> </outParameter>
+ <outParameter>
+<outParameter-type>long</outParameter-type>
+ <outParameter-name>Even</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list>
+<PyFunction>
+<FuncName>SwitchGates</FuncName>
+ <PyFunc><![CDATA[def SwitchGates(Index) : ]]></PyFunc>
+ <PyFunc><![CDATA[ Odd = 0 ]]></PyFunc>
+ <PyFunc><![CDATA[ Even = 0 ]]></PyFunc>
+ <PyFunc><![CDATA[ if Index > 0 : ]]></PyFunc>
+ <PyFunc><![CDATA[ if (Index & 1) == 1 : ]]></PyFunc>
+ <PyFunc><![CDATA[ Odd = 1 ]]></PyFunc>
+ <PyFunc><![CDATA[ if (Index & 1) == 0 : ]]></PyFunc>
+ <PyFunc><![CDATA[ Even = 1 ]]></PyFunc>
+ <PyFunc><![CDATA[ return Odd,Even ]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>16/2/2005 - 11:46:44</creation-date>
+ <lastmodification-date>16/2/2005 - 11:46:44</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>Compute Node</comment>
+ <x-position>204</x-position>
+ <y-position>236</y-position> </node>
+ <node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>EndSwitchGates</node-name>
+ <kind>7</kind>
+ <coupled-node>SwitchGates</coupled-node>
+ <service>
+<service-name>EndSwitchGates</service-name>
+ <inParameter-list/>
+ <outParameter-list/> </service>
+ <DataStream-list/>
+ <PyFunction-list>
+<PyFunction>
+<FuncName>EndSwitchGates</FuncName>
+ <PyFunc><![CDATA[from time import * ]]></PyFunc>
+ <PyFunc><![CDATA[def EndSwitchGates() : ]]></PyFunc>
+ <PyFunc><![CDATA[ sleep(1) ]]></PyFunc>
+ <PyFunc><![CDATA[ return ]]></PyFunc>
+ <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>16/2/2005 - 11:46:44</creation-date>
+ <lastmodification-date>16/2/2005 - 11:46:44</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>Compute Node</comment>
+ <x-position>648</x-position>
+ <y-position>276</y-position> </node>
+ <node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>IsOdd</node-name>
+ <kind>3</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>IsOdd</service-name>
+ <inParameter-list/>
+ <outParameter-list/> </service>
+ <DataStream-list/>
+ <PyFunction-list>
+<PyFunction>
+<FuncName>IsOdd</FuncName>
+ <PyFunc><![CDATA[from time import * ]]></PyFunc>
+ <PyFunc><![CDATA[def IsOdd() : ]]></PyFunc>
+ <PyFunc><![CDATA[ sleep(1) ]]></PyFunc>
+ <PyFunc><![CDATA[ return ]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>16/2/2005 - 11:46:44</creation-date>
+ <lastmodification-date>16/2/2005 - 11:46:44</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>Compute Node</comment>
+ <x-position>424</x-position>
+ <y-position>116</y-position> </node>
+ <node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>IsEven</node-name>
+ <kind>3</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>IsEven</service-name>
+ <inParameter-list/>
+ <outParameter-list/> </service>
+ <DataStream-list/>
+ <PyFunction-list>
+<PyFunction>
+<FuncName>IsEven</FuncName>
+ <PyFunc><![CDATA[from time import * ]]></PyFunc>
+ <PyFunc><![CDATA[def IsEven() : ]]></PyFunc>
+ <PyFunc><![CDATA[ sleep(1) ]]></PyFunc>
+ <PyFunc><![CDATA[ return ]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>16/2/2005 - 11:46:44</creation-date>
+ <lastmodification-date>16/2/2005 - 11:46:44</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>Compute Node</comment>
+ <x-position>428</x-position>
+ <y-position>345</y-position> </node> </node-list>
+ <link-list>
+<link>
+<fromnode-name>LoopGates</fromnode-name>
+ <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+ <tonode-name>EndLoopGates</tonode-name>
+ <toserviceparameter-name>DoLoop</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>LoopGates</fromnode-name>
+ <fromserviceparameter-name>Index</fromserviceparameter-name>
+ <tonode-name>EndLoopGates</tonode-name>
+ <toserviceparameter-name>Index</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>LoopGates</fromnode-name>
+ <fromserviceparameter-name>Index</fromserviceparameter-name>
+ <tonode-name>SwitchGates</tonode-name>
+ <toserviceparameter-name>Index</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>LoopGates</fromnode-name>
+ <fromserviceparameter-name>Max</fromserviceparameter-name>
+ <tonode-name>EndLoopGates</tonode-name>
+ <toserviceparameter-name>Max</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>LoopGates</fromnode-name>
+ <fromserviceparameter-name>Min</fromserviceparameter-name>
+ <tonode-name>EndLoopGates</tonode-name>
+ <toserviceparameter-name>Min</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>EndLoopGates</fromnode-name>
+ <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+ <tonode-name>LoopGates</tonode-name>
+ <toserviceparameter-name>DoLoop</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>SwitchGates</fromnode-name>
+ <fromserviceparameter-name>Odd</fromserviceparameter-name>
+ <tonode-name>IsOdd</tonode-name>
+ <toserviceparameter-name>Gate</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>SwitchGates</fromnode-name>
+ <fromserviceparameter-name>Even</fromserviceparameter-name>
+ <tonode-name>IsEven</tonode-name>
+ <toserviceparameter-name>Gate</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>SwitchGates</fromnode-name>
+ <fromserviceparameter-name>Default</fromserviceparameter-name>
+ <tonode-name>EndSwitchGates</tonode-name>
+ <toserviceparameter-name>Default</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>EndSwitchGates</fromnode-name>
+ <fromserviceparameter-name>Gate</fromserviceparameter-name>
+ <tonode-name>EndLoopGates</tonode-name>
+ <toserviceparameter-name>Gate</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>IsOdd</fromnode-name>
+ <fromserviceparameter-name>Gate</fromserviceparameter-name>
+ <tonode-name>EndSwitchGates</tonode-name>
+ <toserviceparameter-name>Default</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>IsEven</fromnode-name>
+ <fromserviceparameter-name>Gate</fromserviceparameter-name>
+ <tonode-name>EndSwitchGates</tonode-name>
+ <toserviceparameter-name>Default</toserviceparameter-name>
+ <coord-list/> </link> </link-list>
+ <data-list>
+<data>
+<fromnode-name>GraphSwitchGatesDefault</fromnode-name>
+ <fromserviceparameter-name>LoopGates__Index</fromserviceparameter-name>
+ <tonode-name>LoopGates</tonode-name>
+ <toserviceparameter-name>Index</toserviceparameter-name>
+ <data-value>
+<value-type>3</value-type>
+ <value>0</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>GraphSwitchGatesDefault</fromnode-name>
+ <fromserviceparameter-name>LoopGates__Max</fromserviceparameter-name>
+ <tonode-name>LoopGates</tonode-name>
+ <toserviceparameter-name>Max</toserviceparameter-name>
+ <data-value>
+<value-type>3</value-type>
+ <value>13</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>GraphSwitchGatesDefault</fromnode-name>
+ <fromserviceparameter-name>LoopGates__Min</fromserviceparameter-name>
+ <tonode-name>LoopGates</tonode-name>
+ <toserviceparameter-name>Min</toserviceparameter-name>
+ <data-value>
+<value-type>3</value-type>
+ <value>-7</value> </data-value>
+ <coord-list/> </data> </data-list> </dataflow></supergraph>
--- /dev/null
+
+# Generated python file of Graph GraphSwitchGatesNoDefaultAborted
+
+from SuperV import *
+
+# Graph creation of GraphSwitchGatesNoDefaultAborted
+def DefGraphSwitchGatesNoDefaultAborted() :
+ GraphSwitchGatesNoDefaultAborted = Graph( 'GraphSwitchGatesNoDefaultAborted' )
+ GraphSwitchGatesNoDefaultAborted.SetName( 'GraphSwitchGatesNoDefaultAborted' )
+ GraphSwitchGatesNoDefaultAborted.SetAuthor( 'JR' )
+ GraphSwitchGatesNoDefaultAborted.SetComment( '' )
+ GraphSwitchGatesNoDefaultAborted.Coords( 0 , 0 )
+
+ # Creation of Factory Nodes
+
+ # Creation of InLine Nodes
+ PyIsOdd = []
+ PyIsOdd.append( 'from time import * ' )
+ PyIsOdd.append( 'def IsOdd() : ' )
+ PyIsOdd.append( ' sleep(1) ' )
+ PyIsOdd.append( ' return ' )
+ IsOdd = GraphSwitchGatesNoDefaultAborted.INode( 'IsOdd' , PyIsOdd )
+ IsOdd.SetName( 'IsOdd' )
+ IsOdd.SetAuthor( '' )
+ IsOdd.SetComment( 'Compute Node' )
+ IsOdd.Coords( 424 , 116 )
+ IIsOddGate = IsOdd.GetInPort( 'Gate' )
+ OIsOddGate = IsOdd.GetOutPort( 'Gate' )
+
+ PyIsEven = []
+ PyIsEven.append( 'from time import * ' )
+ PyIsEven.append( 'def IsEven() : ' )
+ PyIsEven.append( ' sleep(1) ' )
+ PyIsEven.append( ' return ' )
+ IsEven = GraphSwitchGatesNoDefaultAborted.INode( 'IsEven' , PyIsEven )
+ IsEven.SetName( 'IsEven' )
+ IsEven.SetAuthor( '' )
+ IsEven.SetComment( 'Compute Node' )
+ IsEven.Coords( 428 , 345 )
+ IIsEvenGate = IsEven.GetInPort( 'Gate' )
+ OIsEvenGate = IsEven.GetOutPort( 'Gate' )
+
+ # Creation of Loop Nodes
+ PyLoopGates = []
+ PyLoopGates.append( 'def InitLoop(Index,Max,Min) : ' )
+ PyLoopGates.append( ' Index = Max ' )
+ PyLoopGates.append( ' return Index,Max,Min ' )
+ PyMoreLoopGates = []
+ PyMoreLoopGates.append( 'from time import * ' )
+ PyMoreLoopGates.append( 'def MoreLoop(Index,Max,Min) : ' )
+ PyMoreLoopGates.append( ' sleep(1) ' )
+ PyMoreLoopGates.append( ' DoLoop = 0 ' )
+ PyMoreLoopGates.append( ' if Index >= Min : ' )
+ PyMoreLoopGates.append( ' DoLoop = 1 ' )
+ PyMoreLoopGates.append( ' return DoLoop,Index,Max,Min ' )
+ PyNextLoopGates = []
+ PyNextLoopGates.append( 'def NextLoop(Index,Max,Min) : ' )
+ PyNextLoopGates.append( ' Index = Index - 1 ' )
+ PyNextLoopGates.append( ' return Index,Max,Min ' )
+ LoopGates,EndLoopGates = GraphSwitchGatesNoDefaultAborted.LNode( 'InitLoop' , PyLoopGates , 'MoreLoop' , PyMoreLoopGates , 'NextLoop' , PyNextLoopGates )
+ EndLoopGates.SetName( 'EndLoopGates' )
+ EndLoopGates.SetAuthor( '' )
+ EndLoopGates.SetComment( 'Compute Node' )
+ EndLoopGates.Coords( 875 , 216 )
+ PyEndLoopGates = []
+ EndLoopGates.SetPyFunction( 'EndLoopGates' , PyEndLoopGates )
+ ILoopGatesDoLoop = LoopGates.GetInPort( 'DoLoop' )
+ ILoopGatesIndex = LoopGates.InPort( 'Index' , 'long' )
+ ILoopGatesMax = LoopGates.InPort( 'Max' , 'long' )
+ ILoopGatesMin = LoopGates.InPort( 'Min' , 'long' )
+ ILoopGatesGate = LoopGates.GetInPort( 'Gate' )
+ OLoopGatesDoLoop = LoopGates.GetOutPort( 'DoLoop' )
+ OLoopGatesIndex = LoopGates.GetOutPort( 'Index' )
+ OLoopGatesMax = LoopGates.GetOutPort( 'Max' )
+ OLoopGatesMin = LoopGates.GetOutPort( 'Min' )
+ IEndLoopGatesDoLoop = EndLoopGates.GetInPort( 'DoLoop' )
+ IEndLoopGatesIndex = EndLoopGates.GetInPort( 'Index' )
+ IEndLoopGatesMax = EndLoopGates.GetInPort( 'Max' )
+ IEndLoopGatesMin = EndLoopGates.GetInPort( 'Min' )
+ IEndLoopGatesGate = EndLoopGates.GetInPort( 'Gate' )
+ OEndLoopGatesDoLoop = EndLoopGates.GetOutPort( 'DoLoop' )
+ OEndLoopGatesIndex = EndLoopGates.GetOutPort( 'Index' )
+ OEndLoopGatesMax = EndLoopGates.GetOutPort( 'Max' )
+ OEndLoopGatesMin = EndLoopGates.GetOutPort( 'Min' )
+ OEndLoopGatesGate = EndLoopGates.GetOutPort( 'Gate' )
+ LoopGates.SetName( 'LoopGates' )
+ LoopGates.SetAuthor( '' )
+ LoopGates.SetComment( 'Compute Node' )
+ LoopGates.Coords( 13 , 236 )
+
+ # Creation of Switch Nodes
+ PySwitchGates = []
+ PySwitchGates.append( 'def SwitchGates(Index) : ' )
+ PySwitchGates.append( ' Odd = 0 ' )
+ PySwitchGates.append( ' Even = 0 ' )
+ PySwitchGates.append( ' if Index > 0 : ' )
+ PySwitchGates.append( ' if (Index & 1) == 1 : ' )
+ PySwitchGates.append( ' Odd = 1 ' )
+ PySwitchGates.append( ' if (Index & 1) == 0 : ' )
+ PySwitchGates.append( ' Even = 1 ' )
+ PySwitchGates.append( ' return Odd,Even ' )
+ SwitchGates,EndSwitchGates = GraphSwitchGatesNoDefaultAborted.SNode( 'SwitchGates' , PySwitchGates )
+ EndSwitchGates.SetName( 'EndSwitchGates' )
+ EndSwitchGates.SetAuthor( '' )
+ EndSwitchGates.SetComment( 'Compute Node' )
+ EndSwitchGates.Coords( 648 , 276 )
+ PyEndSwitchGates = []
+ PyEndSwitchGates.append( 'from time import * ' )
+ PyEndSwitchGates.append( 'def EndSwitchGates() : ' )
+ PyEndSwitchGates.append( ' sleep(1) ' )
+ PyEndSwitchGates.append( ' return ' )
+ PyEndSwitchGates.append( '' )
+ EndSwitchGates.SetPyFunction( 'EndSwitchGates' , PyEndSwitchGates )
+ IEndSwitchGatesDefault = EndSwitchGates.GetInPort( 'Default' )
+ OEndSwitchGatesGate = EndSwitchGates.GetOutPort( 'Gate' )
+ SwitchGates.SetName( 'SwitchGates' )
+ SwitchGates.SetAuthor( '' )
+ SwitchGates.SetComment( 'Compute Node' )
+ SwitchGates.Coords( 204 , 236 )
+ ISwitchGatesIndex = SwitchGates.InPort( 'Index' , 'long' )
+ ISwitchGatesGate = SwitchGates.GetInPort( 'Gate' )
+ OSwitchGatesOdd = SwitchGates.OutPort( 'Odd' , 'long' )
+ OSwitchGatesEven = SwitchGates.OutPort( 'Even' , 'long' )
+ OSwitchGatesDefault = SwitchGates.GetOutPort( 'Default' )
+
+ # Creation of Links
+ LLoopGatesIndexEndLoopGatesIndex = GraphSwitchGatesNoDefaultAborted.Link( OLoopGatesIndex , IEndLoopGatesIndex )
+
+ LLoopGatesIndexSwitchGatesIndex = GraphSwitchGatesNoDefaultAborted.Link( OLoopGatesIndex , ISwitchGatesIndex )
+
+ LLoopGatesMaxEndLoopGatesMax = GraphSwitchGatesNoDefaultAborted.Link( OLoopGatesMax , IEndLoopGatesMax )
+
+ LLoopGatesMinEndLoopGatesMin = GraphSwitchGatesNoDefaultAborted.Link( OLoopGatesMin , IEndLoopGatesMin )
+
+ LSwitchGatesOddIsOddGate = GraphSwitchGatesNoDefaultAborted.Link( OSwitchGatesOdd , IIsOddGate )
+
+ LSwitchGatesEvenIsEvenGate = GraphSwitchGatesNoDefaultAborted.Link( OSwitchGatesEven , IIsEvenGate )
+
+ LEndSwitchGatesGateEndLoopGatesGate = GraphSwitchGatesNoDefaultAborted.Link( OEndSwitchGatesGate , IEndLoopGatesGate )
+
+ LIsOddGateEndSwitchGatesDefault = GraphSwitchGatesNoDefaultAborted.Link( OIsOddGate , IEndSwitchGatesDefault )
+
+ LIsEvenGateEndSwitchGatesDefault = GraphSwitchGatesNoDefaultAborted.Link( OIsEvenGate , IEndSwitchGatesDefault )
+
+ # Input datas
+ ILoopGatesIndex.Input( 0 )
+ ILoopGatesMax.Input( 13 )
+ ILoopGatesMin.Input( -7 )
+
+ # Output Ports of the graph
+ #OEndLoopGatesIndex = EndLoopGates.GetOutPort( 'Index' )
+ #OEndLoopGatesMax = EndLoopGates.GetOutPort( 'Max' )
+ #OEndLoopGatesMin = EndLoopGates.GetOutPort( 'Min' )
+ return GraphSwitchGatesNoDefaultAborted
+
+
+GraphSwitchGatesNoDefaultAborted = DefGraphSwitchGatesNoDefaultAborted()
--- /dev/null
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>GraphSwitchGatesNoDefaultAborted</node-name>
+ <kind>1</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>GraphSwitchGatesDefault_1</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+ <inParameter-name>LoopGates__Index</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>long</inParameter-type>
+ <inParameter-name>LoopGates__Max</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>long</inParameter-type>
+ <inParameter-name>LoopGates__Min</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+ <outParameter-name>EndLoopGates__Index</outParameter-name> </outParameter>
+ <outParameter>
+<outParameter-type>long</outParameter-type>
+ <outParameter-name>EndLoopGates__Max</outParameter-name> </outParameter>
+ <outParameter>
+<outParameter-type>long</outParameter-type>
+ <outParameter-name>EndLoopGates__Min</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list/>
+ <creation-date>16/2/2005 - 10:40:8</creation-date>
+ <lastmodification-date>16/2/2005 - 12:12:25</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>JR</author>
+ <container>?</container>
+ <comment>?</comment>
+ <x-position>0</x-position>
+ <y-position>0</y-position> </node> </info-list>
+ <node-list>
+<node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>LoopGates</node-name>
+ <kind>4</kind>
+ <coupled-node>EndLoopGates</coupled-node>
+ <service>
+<service-name>LoopGates</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+ <inParameter-name>Index</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>long</inParameter-type>
+ <inParameter-name>Max</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>long</inParameter-type>
+ <inParameter-name>Min</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+ <outParameter-name>Index</outParameter-name> </outParameter>
+ <outParameter>
+<outParameter-type>long</outParameter-type>
+ <outParameter-name>Max</outParameter-name> </outParameter>
+ <outParameter>
+<outParameter-type>long</outParameter-type>
+ <outParameter-name>Min</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list>
+<PyFunction>
+<FuncName>InitLoop</FuncName>
+ <PyFunc><![CDATA[def InitLoop(Index,Max,Min) : ]]></PyFunc>
+ <PyFunc><![CDATA[ Index = Max ]]></PyFunc>
+ <PyFunc><![CDATA[ return Index,Max,Min ]]></PyFunc> </PyFunction>
+ <PyFunction>
+<FuncName>MoreLoop</FuncName>
+ <PyFunc><![CDATA[from time import * ]]></PyFunc>
+ <PyFunc><![CDATA[def MoreLoop(Index,Max,Min) : ]]></PyFunc>
+ <PyFunc><![CDATA[ sleep(1) ]]></PyFunc>
+ <PyFunc><![CDATA[ DoLoop = 0 ]]></PyFunc>
+ <PyFunc><![CDATA[ if Index >= Min : ]]></PyFunc>
+ <PyFunc><![CDATA[ DoLoop = 1 ]]></PyFunc>
+ <PyFunc><![CDATA[ return DoLoop,Index,Max,Min ]]></PyFunc> </PyFunction>
+ <PyFunction>
+<FuncName>NextLoop</FuncName>
+ <PyFunc><![CDATA[def NextLoop(Index,Max,Min) : ]]></PyFunc>
+ <PyFunc><![CDATA[ Index = Index - 1 ]]></PyFunc>
+ <PyFunc><![CDATA[ return Index,Max,Min ]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>16/2/2005 - 12:12:25</creation-date>
+ <lastmodification-date>16/2/2005 - 12:12:25</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>Compute Node</comment>
+ <x-position>13</x-position>
+ <y-position>236</y-position> </node>
+ <node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>EndLoopGates</node-name>
+ <kind>5</kind>
+ <coupled-node>LoopGates</coupled-node>
+ <service>
+<service-name>EndLoopGates</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+ <inParameter-name>Index</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>long</inParameter-type>
+ <inParameter-name>Max</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>long</inParameter-type>
+ <inParameter-name>Min</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+ <outParameter-name>Index</outParameter-name> </outParameter>
+ <outParameter>
+<outParameter-type>long</outParameter-type>
+ <outParameter-name>Max</outParameter-name> </outParameter>
+ <outParameter>
+<outParameter-type>long</outParameter-type>
+ <outParameter-name>Min</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list>
+<PyFunction>
+<FuncName>EndLoopGates</FuncName>
+ <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>16/2/2005 - 12:12:25</creation-date>
+ <lastmodification-date>16/2/2005 - 12:12:25</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>Compute Node</comment>
+ <x-position>875</x-position>
+ <y-position>216</y-position> </node>
+ <node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>SwitchGates</node-name>
+ <kind>6</kind>
+ <coupled-node>EndSwitchGates</coupled-node>
+ <service>
+<service-name>SwitchGates</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+ <inParameter-name>Index</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+ <outParameter-name>Odd</outParameter-name> </outParameter>
+ <outParameter>
+<outParameter-type>long</outParameter-type>
+ <outParameter-name>Even</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list>
+<PyFunction>
+<FuncName>SwitchGates</FuncName>
+ <PyFunc><![CDATA[def SwitchGates(Index) : ]]></PyFunc>
+ <PyFunc><![CDATA[ Odd = 0 ]]></PyFunc>
+ <PyFunc><![CDATA[ Even = 0 ]]></PyFunc>
+ <PyFunc><![CDATA[ if Index > 0 : ]]></PyFunc>
+ <PyFunc><![CDATA[ if (Index & 1) == 1 : ]]></PyFunc>
+ <PyFunc><![CDATA[ Odd = 1 ]]></PyFunc>
+ <PyFunc><![CDATA[ if (Index & 1) == 0 : ]]></PyFunc>
+ <PyFunc><![CDATA[ Even = 1 ]]></PyFunc>
+ <PyFunc><![CDATA[ return Odd,Even ]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>16/2/2005 - 12:12:25</creation-date>
+ <lastmodification-date>16/2/2005 - 12:12:25</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>Compute Node</comment>
+ <x-position>204</x-position>
+ <y-position>236</y-position> </node>
+ <node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>EndSwitchGates</node-name>
+ <kind>7</kind>
+ <coupled-node>SwitchGates</coupled-node>
+ <service>
+<service-name>EndSwitchGates</service-name>
+ <inParameter-list/>
+ <outParameter-list/> </service>
+ <DataStream-list/>
+ <PyFunction-list>
+<PyFunction>
+<FuncName>EndSwitchGates</FuncName>
+ <PyFunc><![CDATA[from time import * ]]></PyFunc>
+ <PyFunc><![CDATA[def EndSwitchGates() : ]]></PyFunc>
+ <PyFunc><![CDATA[ sleep(1) ]]></PyFunc>
+ <PyFunc><![CDATA[ return ]]></PyFunc>
+ <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>16/2/2005 - 12:12:25</creation-date>
+ <lastmodification-date>16/2/2005 - 12:12:25</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>Compute Node</comment>
+ <x-position>648</x-position>
+ <y-position>276</y-position> </node>
+ <node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>IsOdd</node-name>
+ <kind>3</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>IsOdd</service-name>
+ <inParameter-list/>
+ <outParameter-list/> </service>
+ <DataStream-list/>
+ <PyFunction-list>
+<PyFunction>
+<FuncName>IsOdd</FuncName>
+ <PyFunc><![CDATA[from time import * ]]></PyFunc>
+ <PyFunc><![CDATA[def IsOdd() : ]]></PyFunc>
+ <PyFunc><![CDATA[ sleep(1) ]]></PyFunc>
+ <PyFunc><![CDATA[ return ]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>16/2/2005 - 12:12:25</creation-date>
+ <lastmodification-date>16/2/2005 - 12:12:25</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>Compute Node</comment>
+ <x-position>424</x-position>
+ <y-position>116</y-position> </node>
+ <node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>IsEven</node-name>
+ <kind>3</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>IsEven</service-name>
+ <inParameter-list/>
+ <outParameter-list/> </service>
+ <DataStream-list/>
+ <PyFunction-list>
+<PyFunction>
+<FuncName>IsEven</FuncName>
+ <PyFunc><![CDATA[from time import * ]]></PyFunc>
+ <PyFunc><![CDATA[def IsEven() : ]]></PyFunc>
+ <PyFunc><![CDATA[ sleep(1) ]]></PyFunc>
+ <PyFunc><![CDATA[ return ]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>16/2/2005 - 12:12:25</creation-date>
+ <lastmodification-date>16/2/2005 - 12:12:25</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>Compute Node</comment>
+ <x-position>428</x-position>
+ <y-position>345</y-position> </node> </node-list>
+ <link-list>
+<link>
+<fromnode-name>LoopGates</fromnode-name>
+ <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+ <tonode-name>EndLoopGates</tonode-name>
+ <toserviceparameter-name>DoLoop</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>LoopGates</fromnode-name>
+ <fromserviceparameter-name>Index</fromserviceparameter-name>
+ <tonode-name>EndLoopGates</tonode-name>
+ <toserviceparameter-name>Index</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>LoopGates</fromnode-name>
+ <fromserviceparameter-name>Index</fromserviceparameter-name>
+ <tonode-name>SwitchGates</tonode-name>
+ <toserviceparameter-name>Index</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>LoopGates</fromnode-name>
+ <fromserviceparameter-name>Max</fromserviceparameter-name>
+ <tonode-name>EndLoopGates</tonode-name>
+ <toserviceparameter-name>Max</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>LoopGates</fromnode-name>
+ <fromserviceparameter-name>Min</fromserviceparameter-name>
+ <tonode-name>EndLoopGates</tonode-name>
+ <toserviceparameter-name>Min</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>EndLoopGates</fromnode-name>
+ <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+ <tonode-name>LoopGates</tonode-name>
+ <toserviceparameter-name>DoLoop</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>SwitchGates</fromnode-name>
+ <fromserviceparameter-name>Odd</fromserviceparameter-name>
+ <tonode-name>IsOdd</tonode-name>
+ <toserviceparameter-name>Gate</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>SwitchGates</fromnode-name>
+ <fromserviceparameter-name>Even</fromserviceparameter-name>
+ <tonode-name>IsEven</tonode-name>
+ <toserviceparameter-name>Gate</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>EndSwitchGates</fromnode-name>
+ <fromserviceparameter-name>Gate</fromserviceparameter-name>
+ <tonode-name>EndLoopGates</tonode-name>
+ <toserviceparameter-name>Gate</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>IsOdd</fromnode-name>
+ <fromserviceparameter-name>Gate</fromserviceparameter-name>
+ <tonode-name>EndSwitchGates</tonode-name>
+ <toserviceparameter-name>Default</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>IsEven</fromnode-name>
+ <fromserviceparameter-name>Gate</fromserviceparameter-name>
+ <tonode-name>EndSwitchGates</tonode-name>
+ <toserviceparameter-name>Default</toserviceparameter-name>
+ <coord-list/> </link> </link-list>
+ <data-list>
+<data>
+<fromnode-name>GraphSwitchGatesNoDefaultAborted</fromnode-name>
+ <fromserviceparameter-name>LoopGates__Index</fromserviceparameter-name>
+ <tonode-name>LoopGates</tonode-name>
+ <toserviceparameter-name>Index</toserviceparameter-name>
+ <data-value>
+<value-type>3</value-type>
+ <value>0</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>GraphSwitchGatesNoDefaultAborted</fromnode-name>
+ <fromserviceparameter-name>LoopGates__Max</fromserviceparameter-name>
+ <tonode-name>LoopGates</tonode-name>
+ <toserviceparameter-name>Max</toserviceparameter-name>
+ <data-value>
+<value-type>3</value-type>
+ <value>13</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>GraphSwitchGatesNoDefaultAborted</fromnode-name>
+ <fromserviceparameter-name>LoopGates__Min</fromserviceparameter-name>
+ <tonode-name>LoopGates</tonode-name>
+ <toserviceparameter-name>Min</toserviceparameter-name>
+ <data-value>
+<value-type>3</value-type>
+ <value>-7</value> </data-value>
+ <coord-list/> </data> </data-list> </dataflow></supergraph>
--- /dev/null
+
+# Generated python file of Graph GraphSwitchGatesdefault
+
+from SuperV import *
+
+# Graph creation of GraphSwitchGatesdefault
+def DefGraphSwitchGatesdefault() :
+ GraphSwitchGatesdefault = Graph( 'GraphSwitchGatesdefault' )
+ GraphSwitchGatesdefault.SetName( 'GraphSwitchGatesdefault' )
+ GraphSwitchGatesdefault.SetAuthor( 'JR' )
+ GraphSwitchGatesdefault.SetComment( '' )
+ GraphSwitchGatesdefault.Coords( 0 , 0 )
+
+ # Creation of Factory Nodes
+
+ # Creation of InLine Nodes
+ PyIsOdd = []
+ PyIsOdd.append( 'from time import * ' )
+ PyIsOdd.append( 'def IsOdd() : ' )
+ PyIsOdd.append( ' sleep(1) ' )
+ PyIsOdd.append( ' return ' )
+ IsOdd = GraphSwitchGatesdefault.INode( 'IsOdd' , PyIsOdd )
+ IsOdd.SetName( 'IsOdd' )
+ IsOdd.SetAuthor( '' )
+ IsOdd.SetComment( 'Compute Node' )
+ IsOdd.Coords( 424 , 116 )
+ IIsOddGate = IsOdd.GetInPort( 'Gate' )
+ OIsOddGate = IsOdd.GetOutPort( 'Gate' )
+
+ PyIsEven = []
+ PyIsEven.append( 'from time import * ' )
+ PyIsEven.append( 'def IsEven() : ' )
+ PyIsEven.append( ' sleep(1) ' )
+ PyIsEven.append( ' return ' )
+ IsEven = GraphSwitchGatesdefault.INode( 'IsEven' , PyIsEven )
+ IsEven.SetName( 'IsEven' )
+ IsEven.SetAuthor( '' )
+ IsEven.SetComment( 'Compute Node' )
+ IsEven.Coords( 428 , 345 )
+ IIsEvenGate = IsEven.GetInPort( 'Gate' )
+ OIsEvenGate = IsEven.GetOutPort( 'Gate' )
+
+ # Creation of Loop Nodes
+ PyLoopGates = []
+ PyLoopGates.append( 'def InitLoop(Index,Max,Min) : ' )
+ PyLoopGates.append( ' Index = Max ' )
+ PyLoopGates.append( ' return Index,Max,Min ' )
+ PyMoreLoopGates = []
+ PyMoreLoopGates.append( 'from time import * ' )
+ PyMoreLoopGates.append( 'def MoreLoop(Index,Max,Min) : ' )
+ PyMoreLoopGates.append( ' sleep(1) ' )
+ PyMoreLoopGates.append( ' DoLoop = 0 ' )
+ PyMoreLoopGates.append( ' if Index >= Min : ' )
+ PyMoreLoopGates.append( ' DoLoop = 1 ' )
+ PyMoreLoopGates.append( ' return DoLoop,Index,Max,Min ' )
+ PyNextLoopGates = []
+ PyNextLoopGates.append( 'def NextLoop(Index,Max,Min) : ' )
+ PyNextLoopGates.append( ' Index = Index - 1 ' )
+ PyNextLoopGates.append( ' return Index,Max,Min ' )
+ LoopGates,EndLoopGates = GraphSwitchGatesdefault.LNode( 'InitLoop' , PyLoopGates , 'MoreLoop' , PyMoreLoopGates , 'NextLoop' , PyNextLoopGates )
+ EndLoopGates.SetName( 'EndLoopGates' )
+ EndLoopGates.SetAuthor( '' )
+ EndLoopGates.SetComment( 'Compute Node' )
+ EndLoopGates.Coords( 875 , 216 )
+ PyEndLoopGates = []
+ EndLoopGates.SetPyFunction( 'EndLoopGates' , PyEndLoopGates )
+ ILoopGatesDoLoop = LoopGates.GetInPort( 'DoLoop' )
+ ILoopGatesIndex = LoopGates.InPort( 'Index' , 'long' )
+ ILoopGatesMax = LoopGates.InPort( 'Max' , 'long' )
+ ILoopGatesMin = LoopGates.InPort( 'Min' , 'long' )
+ ILoopGatesGate = LoopGates.GetInPort( 'Gate' )
+ OLoopGatesDoLoop = LoopGates.GetOutPort( 'DoLoop' )
+ OLoopGatesIndex = LoopGates.GetOutPort( 'Index' )
+ OLoopGatesMax = LoopGates.GetOutPort( 'Max' )
+ OLoopGatesMin = LoopGates.GetOutPort( 'Min' )
+ IEndLoopGatesDoLoop = EndLoopGates.GetInPort( 'DoLoop' )
+ IEndLoopGatesIndex = EndLoopGates.GetInPort( 'Index' )
+ IEndLoopGatesMax = EndLoopGates.GetInPort( 'Max' )
+ IEndLoopGatesMin = EndLoopGates.GetInPort( 'Min' )
+ IEndLoopGatesGate = EndLoopGates.GetInPort( 'Gate' )
+ OEndLoopGatesDoLoop = EndLoopGates.GetOutPort( 'DoLoop' )
+ OEndLoopGatesIndex = EndLoopGates.GetOutPort( 'Index' )
+ OEndLoopGatesMax = EndLoopGates.GetOutPort( 'Max' )
+ OEndLoopGatesMin = EndLoopGates.GetOutPort( 'Min' )
+ OEndLoopGatesGate = EndLoopGates.GetOutPort( 'Gate' )
+ LoopGates.SetName( 'LoopGates' )
+ LoopGates.SetAuthor( '' )
+ LoopGates.SetComment( 'Compute Node' )
+ LoopGates.Coords( 13 , 236 )
+
+ # Creation of Switch Nodes
+ PySwitchGates = []
+ PySwitchGates.append( 'def SwitchGates(Index) : ' )
+ PySwitchGates.append( ' Odd = 0 ' )
+ PySwitchGates.append( ' Even = 0 ' )
+ PySwitchGates.append( ' default = 0 ' )
+ PySwitchGates.append( ' if Index > 0 : ' )
+ PySwitchGates.append( ' if (Index & 1) == 1 : ' )
+ PySwitchGates.append( ' Odd = 1 ' )
+ PySwitchGates.append( ' if (Index & 1) == 0 : ' )
+ PySwitchGates.append( ' Even = 1 ' )
+ PySwitchGates.append( ' else : ' )
+ PySwitchGates.append( ' default = 1 ' )
+ PySwitchGates.append( ' return Odd,Even,default ' )
+ SwitchGates,EndSwitchGates = GraphSwitchGatesdefault.SNode( 'SwitchGates' , PySwitchGates )
+ EndSwitchGates.SetName( 'EndSwitchGates' )
+ EndSwitchGates.SetAuthor( '' )
+ EndSwitchGates.SetComment( 'Compute Node' )
+ EndSwitchGates.Coords( 648 , 276 )
+ PyEndSwitchGates = []
+ PyEndSwitchGates.append( 'from time import * ' )
+ PyEndSwitchGates.append( 'def EndSwitchGates() : ' )
+ PyEndSwitchGates.append( ' sleep(1) ' )
+ PyEndSwitchGates.append( ' return ' )
+ PyEndSwitchGates.append( '' )
+ EndSwitchGates.SetPyFunction( 'EndSwitchGates' , PyEndSwitchGates )
+ IEndSwitchGatesDefault = EndSwitchGates.GetInPort( 'Default' )
+ OEndSwitchGatesGate = EndSwitchGates.GetOutPort( 'Gate' )
+ SwitchGates.SetName( 'SwitchGates' )
+ SwitchGates.SetAuthor( '' )
+ SwitchGates.SetComment( 'Compute Node' )
+ SwitchGates.Coords( 204 , 236 )
+ ISwitchGatesIndex = SwitchGates.InPort( 'Index' , 'long' )
+ ISwitchGatesGate = SwitchGates.GetInPort( 'Gate' )
+ OSwitchGatesOdd = SwitchGates.OutPort( 'Odd' , 'long' )
+ OSwitchGatesEven = SwitchGates.OutPort( 'Even' , 'long' )
+ OSwitchGatesdefault = SwitchGates.OutPort( 'default' , 'long' )
+ OSwitchGatesDefault = SwitchGates.GetOutPort( 'Default' )
+
+ # Creation of Links
+ LLoopGatesIndexEndLoopGatesIndex = GraphSwitchGatesdefault.Link( OLoopGatesIndex , IEndLoopGatesIndex )
+
+ LLoopGatesIndexSwitchGatesIndex = GraphSwitchGatesdefault.Link( OLoopGatesIndex , ISwitchGatesIndex )
+
+ LLoopGatesMaxEndLoopGatesMax = GraphSwitchGatesdefault.Link( OLoopGatesMax , IEndLoopGatesMax )
+
+ LLoopGatesMinEndLoopGatesMin = GraphSwitchGatesdefault.Link( OLoopGatesMin , IEndLoopGatesMin )
+
+ LSwitchGatesOddIsOddGate = GraphSwitchGatesdefault.Link( OSwitchGatesOdd , IIsOddGate )
+
+ LSwitchGatesEvenIsEvenGate = GraphSwitchGatesdefault.Link( OSwitchGatesEven , IIsEvenGate )
+
+ LSwitchGatesdefaultEndSwitchGatesDefault = GraphSwitchGatesdefault.Link( OSwitchGatesdefault , IEndSwitchGatesDefault )
+
+ LEndSwitchGatesGateEndLoopGatesGate = GraphSwitchGatesdefault.Link( OEndSwitchGatesGate , IEndLoopGatesGate )
+
+ LIsOddGateEndSwitchGatesDefault = GraphSwitchGatesdefault.Link( OIsOddGate , IEndSwitchGatesDefault )
+
+ LIsEvenGateEndSwitchGatesDefault = GraphSwitchGatesdefault.Link( OIsEvenGate , IEndSwitchGatesDefault )
+
+ # Input datas
+ ILoopGatesIndex.Input( 0 )
+ ILoopGatesMax.Input( 13 )
+ ILoopGatesMin.Input( -7 )
+
+ # Output Ports of the graph
+ #OEndLoopGatesIndex = EndLoopGates.GetOutPort( 'Index' )
+ #OEndLoopGatesMax = EndLoopGates.GetOutPort( 'Max' )
+ #OEndLoopGatesMin = EndLoopGates.GetOutPort( 'Min' )
+ return GraphSwitchGatesdefault
+
+
+GraphSwitchGatesdefault = DefGraphSwitchGatesdefault()
--- /dev/null
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>GraphSwitchGatesdefault</node-name>
+ <kind>1</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>GraphSwitchGatesdefault</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+ <inParameter-name>LoopGates__Index</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>long</inParameter-type>
+ <inParameter-name>LoopGates__Max</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>long</inParameter-type>
+ <inParameter-name>LoopGates__Min</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+ <outParameter-name>EndLoopGates__Index</outParameter-name> </outParameter>
+ <outParameter>
+<outParameter-type>long</outParameter-type>
+ <outParameter-name>EndLoopGates__Max</outParameter-name> </outParameter>
+ <outParameter>
+<outParameter-type>long</outParameter-type>
+ <outParameter-name>EndLoopGates__Min</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list/>
+ <creation-date>16/2/2005 - 10:40:8</creation-date>
+ <lastmodification-date>16/2/2005 - 12:13:31</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>JR</author>
+ <container>?</container>
+ <comment>?</comment>
+ <x-position>0</x-position>
+ <y-position>0</y-position> </node> </info-list>
+ <node-list>
+<node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>LoopGates</node-name>
+ <kind>4</kind>
+ <coupled-node>EndLoopGates</coupled-node>
+ <service>
+<service-name>LoopGates</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+ <inParameter-name>Index</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>long</inParameter-type>
+ <inParameter-name>Max</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>long</inParameter-type>
+ <inParameter-name>Min</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+ <outParameter-name>Index</outParameter-name> </outParameter>
+ <outParameter>
+<outParameter-type>long</outParameter-type>
+ <outParameter-name>Max</outParameter-name> </outParameter>
+ <outParameter>
+<outParameter-type>long</outParameter-type>
+ <outParameter-name>Min</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list>
+<PyFunction>
+<FuncName>InitLoop</FuncName>
+ <PyFunc><![CDATA[def InitLoop(Index,Max,Min) : ]]></PyFunc>
+ <PyFunc><![CDATA[ Index = Max ]]></PyFunc>
+ <PyFunc><![CDATA[ return Index,Max,Min ]]></PyFunc> </PyFunction>
+ <PyFunction>
+<FuncName>MoreLoop</FuncName>
+ <PyFunc><![CDATA[from time import * ]]></PyFunc>
+ <PyFunc><![CDATA[def MoreLoop(Index,Max,Min) : ]]></PyFunc>
+ <PyFunc><![CDATA[ sleep(1) ]]></PyFunc>
+ <PyFunc><![CDATA[ DoLoop = 0 ]]></PyFunc>
+ <PyFunc><![CDATA[ if Index >= Min : ]]></PyFunc>
+ <PyFunc><![CDATA[ DoLoop = 1 ]]></PyFunc>
+ <PyFunc><![CDATA[ return DoLoop,Index,Max,Min ]]></PyFunc> </PyFunction>
+ <PyFunction>
+<FuncName>NextLoop</FuncName>
+ <PyFunc><![CDATA[def NextLoop(Index,Max,Min) : ]]></PyFunc>
+ <PyFunc><![CDATA[ Index = Index - 1 ]]></PyFunc>
+ <PyFunc><![CDATA[ return Index,Max,Min ]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>16/2/2005 - 12:13:25</creation-date>
+ <lastmodification-date>16/2/2005 - 12:13:25</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>Compute Node</comment>
+ <x-position>13</x-position>
+ <y-position>236</y-position> </node>
+ <node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>EndLoopGates</node-name>
+ <kind>5</kind>
+ <coupled-node>LoopGates</coupled-node>
+ <service>
+<service-name>EndLoopGates</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+ <inParameter-name>Index</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>long</inParameter-type>
+ <inParameter-name>Max</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>long</inParameter-type>
+ <inParameter-name>Min</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+ <outParameter-name>Index</outParameter-name> </outParameter>
+ <outParameter>
+<outParameter-type>long</outParameter-type>
+ <outParameter-name>Max</outParameter-name> </outParameter>
+ <outParameter>
+<outParameter-type>long</outParameter-type>
+ <outParameter-name>Min</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list>
+<PyFunction>
+<FuncName>EndLoopGates</FuncName>
+ <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>16/2/2005 - 12:13:25</creation-date>
+ <lastmodification-date>16/2/2005 - 12:13:25</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>Compute Node</comment>
+ <x-position>875</x-position>
+ <y-position>216</y-position> </node>
+ <node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>SwitchGates</node-name>
+ <kind>6</kind>
+ <coupled-node>EndSwitchGates</coupled-node>
+ <service>
+<service-name>SwitchGates</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+ <inParameter-name>Index</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+ <outParameter-name>Odd</outParameter-name> </outParameter>
+ <outParameter>
+<outParameter-type>long</outParameter-type>
+ <outParameter-name>Even</outParameter-name> </outParameter>
+ <outParameter>
+<outParameter-type>long</outParameter-type>
+ <outParameter-name>default</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list>
+<PyFunction>
+<FuncName>SwitchGates</FuncName>
+ <PyFunc><![CDATA[def SwitchGates(Index) : ]]></PyFunc>
+ <PyFunc><![CDATA[ Odd = 0 ]]></PyFunc>
+ <PyFunc><![CDATA[ Even = 0 ]]></PyFunc>
+ <PyFunc><![CDATA[ default = 0 ]]></PyFunc>
+ <PyFunc><![CDATA[ if Index > 0 : ]]></PyFunc>
+ <PyFunc><![CDATA[ if (Index & 1) == 1 : ]]></PyFunc>
+ <PyFunc><![CDATA[ Odd = 1 ]]></PyFunc>
+ <PyFunc><![CDATA[ if (Index & 1) == 0 : ]]></PyFunc>
+ <PyFunc><![CDATA[ Even = 1 ]]></PyFunc>
+ <PyFunc><![CDATA[ else : ]]></PyFunc>
+ <PyFunc><![CDATA[ default = 1 ]]></PyFunc>
+ <PyFunc><![CDATA[ return Odd,Even,default ]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>16/2/2005 - 12:13:25</creation-date>
+ <lastmodification-date>16/2/2005 - 12:13:25</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>Compute Node</comment>
+ <x-position>204</x-position>
+ <y-position>236</y-position> </node>
+ <node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>EndSwitchGates</node-name>
+ <kind>7</kind>
+ <coupled-node>SwitchGates</coupled-node>
+ <service>
+<service-name>EndSwitchGates</service-name>
+ <inParameter-list/>
+ <outParameter-list/> </service>
+ <DataStream-list/>
+ <PyFunction-list>
+<PyFunction>
+<FuncName>EndSwitchGates</FuncName>
+ <PyFunc><![CDATA[from time import * ]]></PyFunc>
+ <PyFunc><![CDATA[def EndSwitchGates() : ]]></PyFunc>
+ <PyFunc><![CDATA[ sleep(1) ]]></PyFunc>
+ <PyFunc><![CDATA[ return ]]></PyFunc>
+ <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>16/2/2005 - 12:13:25</creation-date>
+ <lastmodification-date>16/2/2005 - 12:13:25</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>Compute Node</comment>
+ <x-position>648</x-position>
+ <y-position>276</y-position> </node>
+ <node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>IsOdd</node-name>
+ <kind>3</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>IsOdd</service-name>
+ <inParameter-list/>
+ <outParameter-list/> </service>
+ <DataStream-list/>
+ <PyFunction-list>
+<PyFunction>
+<FuncName>IsOdd</FuncName>
+ <PyFunc><![CDATA[from time import * ]]></PyFunc>
+ <PyFunc><![CDATA[def IsOdd() : ]]></PyFunc>
+ <PyFunc><![CDATA[ sleep(1) ]]></PyFunc>
+ <PyFunc><![CDATA[ return ]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>16/2/2005 - 12:13:25</creation-date>
+ <lastmodification-date>16/2/2005 - 12:13:25</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>Compute Node</comment>
+ <x-position>424</x-position>
+ <y-position>116</y-position> </node>
+ <node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>IsEven</node-name>
+ <kind>3</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>IsEven</service-name>
+ <inParameter-list/>
+ <outParameter-list/> </service>
+ <DataStream-list/>
+ <PyFunction-list>
+<PyFunction>
+<FuncName>IsEven</FuncName>
+ <PyFunc><![CDATA[from time import * ]]></PyFunc>
+ <PyFunc><![CDATA[def IsEven() : ]]></PyFunc>
+ <PyFunc><![CDATA[ sleep(1) ]]></PyFunc>
+ <PyFunc><![CDATA[ return ]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>16/2/2005 - 12:13:25</creation-date>
+ <lastmodification-date>16/2/2005 - 12:13:25</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>Compute Node</comment>
+ <x-position>428</x-position>
+ <y-position>345</y-position> </node> </node-list>
+ <link-list>
+<link>
+<fromnode-name>LoopGates</fromnode-name>
+ <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+ <tonode-name>EndLoopGates</tonode-name>
+ <toserviceparameter-name>DoLoop</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>LoopGates</fromnode-name>
+ <fromserviceparameter-name>Index</fromserviceparameter-name>
+ <tonode-name>EndLoopGates</tonode-name>
+ <toserviceparameter-name>Index</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>LoopGates</fromnode-name>
+ <fromserviceparameter-name>Index</fromserviceparameter-name>
+ <tonode-name>SwitchGates</tonode-name>
+ <toserviceparameter-name>Index</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>LoopGates</fromnode-name>
+ <fromserviceparameter-name>Max</fromserviceparameter-name>
+ <tonode-name>EndLoopGates</tonode-name>
+ <toserviceparameter-name>Max</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>LoopGates</fromnode-name>
+ <fromserviceparameter-name>Min</fromserviceparameter-name>
+ <tonode-name>EndLoopGates</tonode-name>
+ <toserviceparameter-name>Min</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>EndLoopGates</fromnode-name>
+ <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+ <tonode-name>LoopGates</tonode-name>
+ <toserviceparameter-name>DoLoop</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>SwitchGates</fromnode-name>
+ <fromserviceparameter-name>Odd</fromserviceparameter-name>
+ <tonode-name>IsOdd</tonode-name>
+ <toserviceparameter-name>Gate</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>SwitchGates</fromnode-name>
+ <fromserviceparameter-name>Even</fromserviceparameter-name>
+ <tonode-name>IsEven</tonode-name>
+ <toserviceparameter-name>Gate</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>SwitchGates</fromnode-name>
+ <fromserviceparameter-name>default</fromserviceparameter-name>
+ <tonode-name>EndSwitchGates</tonode-name>
+ <toserviceparameter-name>Default</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>EndSwitchGates</fromnode-name>
+ <fromserviceparameter-name>Gate</fromserviceparameter-name>
+ <tonode-name>EndLoopGates</tonode-name>
+ <toserviceparameter-name>Gate</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>IsOdd</fromnode-name>
+ <fromserviceparameter-name>Gate</fromserviceparameter-name>
+ <tonode-name>EndSwitchGates</tonode-name>
+ <toserviceparameter-name>Default</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>IsEven</fromnode-name>
+ <fromserviceparameter-name>Gate</fromserviceparameter-name>
+ <tonode-name>EndSwitchGates</tonode-name>
+ <toserviceparameter-name>Default</toserviceparameter-name>
+ <coord-list/> </link> </link-list>
+ <data-list>
+<data>
+<fromnode-name>GraphSwitchGatesdefault</fromnode-name>
+ <fromserviceparameter-name>LoopGates__Index</fromserviceparameter-name>
+ <tonode-name>LoopGates</tonode-name>
+ <toserviceparameter-name>Index</toserviceparameter-name>
+ <data-value>
+<value-type>3</value-type>
+ <value>0</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>GraphSwitchGatesdefault</fromnode-name>
+ <fromserviceparameter-name>LoopGates__Max</fromserviceparameter-name>
+ <tonode-name>LoopGates</tonode-name>
+ <toserviceparameter-name>Max</toserviceparameter-name>
+ <data-value>
+<value-type>3</value-type>
+ <value>13</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>GraphSwitchGatesdefault</fromnode-name>
+ <fromserviceparameter-name>LoopGates__Min</fromserviceparameter-name>
+ <tonode-name>LoopGates</tonode-name>
+ <toserviceparameter-name>Min</toserviceparameter-name>
+ <data-value>
+<value-type>3</value-type>
+ <value>-7</value> </data-value>
+ <coord-list/> </data> </data-list> </dataflow></supergraph>
--- /dev/null
+
+# Generated python file of Graph GraphSwitchGatesdefaultBranch
+
+from SuperV import *
+
+# Graph creation of GraphSwitchGatesdefaultBranch
+def DefGraphSwitchGatesdefaultBranch() :
+ GraphSwitchGatesdefaultBranch = Graph( 'GraphSwitchGatesdefaultBranch' )
+ GraphSwitchGatesdefaultBranch.SetName( 'GraphSwitchGatesdefaultBranch' )
+ GraphSwitchGatesdefaultBranch.SetAuthor( 'JR' )
+ GraphSwitchGatesdefaultBranch.SetComment( '' )
+ GraphSwitchGatesdefaultBranch.Coords( 0 , 0 )
+
+ # Creation of Factory Nodes
+
+ # Creation of InLine Nodes
+ PyIsOdd = []
+ PyIsOdd.append( 'from time import * ' )
+ PyIsOdd.append( 'def IsOdd() : ' )
+ PyIsOdd.append( ' sleep(1) ' )
+ PyIsOdd.append( ' return ' )
+ IsOdd = GraphSwitchGatesdefaultBranch.INode( 'IsOdd' , PyIsOdd )
+ IsOdd.SetName( 'IsOdd' )
+ IsOdd.SetAuthor( '' )
+ IsOdd.SetComment( 'Compute Node' )
+ IsOdd.Coords( 424 , 116 )
+ IIsOddGate = IsOdd.GetInPort( 'Gate' )
+ OIsOddGate = IsOdd.GetOutPort( 'Gate' )
+
+ PyIsEven = []
+ PyIsEven.append( 'from time import * ' )
+ PyIsEven.append( 'def IsEven() : ' )
+ PyIsEven.append( ' sleep(1) ' )
+ PyIsEven.append( ' return ' )
+ IsEven = GraphSwitchGatesdefaultBranch.INode( 'IsEven' , PyIsEven )
+ IsEven.SetName( 'IsEven' )
+ IsEven.SetAuthor( '' )
+ IsEven.SetComment( 'Compute Node' )
+ IsEven.Coords( 428 , 345 )
+ IIsEvenGate = IsEven.GetInPort( 'Gate' )
+ OIsEvenGate = IsEven.GetOutPort( 'Gate' )
+
+ PydefaultNode = []
+ PydefaultNode.append( 'from time import * ' )
+ PydefaultNode.append( 'def defaultNode() : ' )
+ PydefaultNode.append( ' sleep(1) ' )
+ PydefaultNode.append( ' return ' )
+ defaultNode = GraphSwitchGatesdefaultBranch.INode( 'defaultNode' , PydefaultNode )
+ defaultNode.SetName( 'defaultNode' )
+ defaultNode.SetAuthor( '' )
+ defaultNode.SetComment( 'Compute Node' )
+ defaultNode.Coords( 425 , 232 )
+ IdefaultNodeGate = defaultNode.GetInPort( 'Gate' )
+ OdefaultNodeGate = defaultNode.GetOutPort( 'Gate' )
+
+ # Creation of Loop Nodes
+ PyLoopGates = []
+ PyLoopGates.append( 'def InitLoop(Index,Max,Min) : ' )
+ PyLoopGates.append( ' Index = Max ' )
+ PyLoopGates.append( ' return Index,Max,Min ' )
+ PyMoreLoopGates = []
+ PyMoreLoopGates.append( 'from time import * ' )
+ PyMoreLoopGates.append( 'def MoreLoop(Index,Max,Min) : ' )
+ PyMoreLoopGates.append( ' sleep(1) ' )
+ PyMoreLoopGates.append( ' DoLoop = 0 ' )
+ PyMoreLoopGates.append( ' if Index >= Min : ' )
+ PyMoreLoopGates.append( ' DoLoop = 1 ' )
+ PyMoreLoopGates.append( ' return DoLoop,Index,Max,Min ' )
+ PyNextLoopGates = []
+ PyNextLoopGates.append( 'def NextLoop(Index,Max,Min) : ' )
+ PyNextLoopGates.append( ' Index = Index - 1 ' )
+ PyNextLoopGates.append( ' return Index,Max,Min ' )
+ LoopGates,EndLoopGates = GraphSwitchGatesdefaultBranch.LNode( 'InitLoop' , PyLoopGates , 'MoreLoop' , PyMoreLoopGates , 'NextLoop' , PyNextLoopGates )
+ EndLoopGates.SetName( 'EndLoopGates' )
+ EndLoopGates.SetAuthor( '' )
+ EndLoopGates.SetComment( 'Compute Node' )
+ EndLoopGates.Coords( 875 , 216 )
+ PyEndLoopGates = []
+ EndLoopGates.SetPyFunction( 'EndLoopGates' , PyEndLoopGates )
+ ILoopGatesDoLoop = LoopGates.GetInPort( 'DoLoop' )
+ ILoopGatesIndex = LoopGates.InPort( 'Index' , 'long' )
+ ILoopGatesMax = LoopGates.InPort( 'Max' , 'long' )
+ ILoopGatesMin = LoopGates.InPort( 'Min' , 'long' )
+ ILoopGatesGate = LoopGates.GetInPort( 'Gate' )
+ OLoopGatesDoLoop = LoopGates.GetOutPort( 'DoLoop' )
+ OLoopGatesIndex = LoopGates.GetOutPort( 'Index' )
+ OLoopGatesMax = LoopGates.GetOutPort( 'Max' )
+ OLoopGatesMin = LoopGates.GetOutPort( 'Min' )
+ IEndLoopGatesDoLoop = EndLoopGates.GetInPort( 'DoLoop' )
+ IEndLoopGatesIndex = EndLoopGates.GetInPort( 'Index' )
+ IEndLoopGatesMax = EndLoopGates.GetInPort( 'Max' )
+ IEndLoopGatesMin = EndLoopGates.GetInPort( 'Min' )
+ IEndLoopGatesGate = EndLoopGates.GetInPort( 'Gate' )
+ OEndLoopGatesDoLoop = EndLoopGates.GetOutPort( 'DoLoop' )
+ OEndLoopGatesIndex = EndLoopGates.GetOutPort( 'Index' )
+ OEndLoopGatesMax = EndLoopGates.GetOutPort( 'Max' )
+ OEndLoopGatesMin = EndLoopGates.GetOutPort( 'Min' )
+ OEndLoopGatesGate = EndLoopGates.GetOutPort( 'Gate' )
+ LoopGates.SetName( 'LoopGates' )
+ LoopGates.SetAuthor( '' )
+ LoopGates.SetComment( 'Compute Node' )
+ LoopGates.Coords( 13 , 236 )
+
+ # Creation of Switch Nodes
+ PySwitchGates = []
+ PySwitchGates.append( 'def SwitchGates(Index) : ' )
+ PySwitchGates.append( ' Odd = 0 ' )
+ PySwitchGates.append( ' Even = 0 ' )
+ PySwitchGates.append( ' default = 0 ' )
+ PySwitchGates.append( ' if Index > 0 : ' )
+ PySwitchGates.append( ' if (Index & 1) == 1 : ' )
+ PySwitchGates.append( ' Odd = 1 ' )
+ PySwitchGates.append( ' if (Index & 1) == 0 : ' )
+ PySwitchGates.append( ' Even = 1 ' )
+ PySwitchGates.append( ' else : ' )
+ PySwitchGates.append( ' default = 1 ' )
+ PySwitchGates.append( ' return Odd,Even,default ' )
+ SwitchGates,EndSwitchGates = GraphSwitchGatesdefaultBranch.SNode( 'SwitchGates' , PySwitchGates )
+ EndSwitchGates.SetName( 'EndSwitchGates' )
+ EndSwitchGates.SetAuthor( '' )
+ EndSwitchGates.SetComment( 'Compute Node' )
+ EndSwitchGates.Coords( 647 , 272 )
+ PyEndSwitchGates = []
+ PyEndSwitchGates.append( 'from time import * ' )
+ PyEndSwitchGates.append( 'def EndSwitchGates() : ' )
+ PyEndSwitchGates.append( ' sleep(1) ' )
+ PyEndSwitchGates.append( ' return ' )
+ PyEndSwitchGates.append( '' )
+ EndSwitchGates.SetPyFunction( 'EndSwitchGates' , PyEndSwitchGates )
+ IEndSwitchGatesDefault = EndSwitchGates.GetInPort( 'Default' )
+ OEndSwitchGatesGate = EndSwitchGates.GetOutPort( 'Gate' )
+ SwitchGates.SetName( 'SwitchGates' )
+ SwitchGates.SetAuthor( '' )
+ SwitchGates.SetComment( 'Compute Node' )
+ SwitchGates.Coords( 204 , 236 )
+ ISwitchGatesIndex = SwitchGates.InPort( 'Index' , 'long' )
+ ISwitchGatesGate = SwitchGates.GetInPort( 'Gate' )
+ OSwitchGatesOdd = SwitchGates.OutPort( 'Odd' , 'long' )
+ OSwitchGatesEven = SwitchGates.OutPort( 'Even' , 'long' )
+ OSwitchGatesdefault = SwitchGates.OutPort( 'default' , 'long' )
+ OSwitchGatesDefault = SwitchGates.GetOutPort( 'Default' )
+
+ # Creation of Links
+ LLoopGatesIndexEndLoopGatesIndex = GraphSwitchGatesdefaultBranch.Link( OLoopGatesIndex , IEndLoopGatesIndex )
+
+ LLoopGatesIndexSwitchGatesIndex = GraphSwitchGatesdefaultBranch.Link( OLoopGatesIndex , ISwitchGatesIndex )
+
+ LLoopGatesMaxEndLoopGatesMax = GraphSwitchGatesdefaultBranch.Link( OLoopGatesMax , IEndLoopGatesMax )
+
+ LLoopGatesMinEndLoopGatesMin = GraphSwitchGatesdefaultBranch.Link( OLoopGatesMin , IEndLoopGatesMin )
+
+ LSwitchGatesOddIsOddGate = GraphSwitchGatesdefaultBranch.Link( OSwitchGatesOdd , IIsOddGate )
+
+ LSwitchGatesEvenIsEvenGate = GraphSwitchGatesdefaultBranch.Link( OSwitchGatesEven , IIsEvenGate )
+
+ LSwitchGatesdefaultdefaultNodeGate = GraphSwitchGatesdefaultBranch.Link( OSwitchGatesdefault , IdefaultNodeGate )
+
+ LEndSwitchGatesGateEndLoopGatesGate = GraphSwitchGatesdefaultBranch.Link( OEndSwitchGatesGate , IEndLoopGatesGate )
+
+ LIsOddGateEndSwitchGatesDefault = GraphSwitchGatesdefaultBranch.Link( OIsOddGate , IEndSwitchGatesDefault )
+
+ LIsEvenGateEndSwitchGatesDefault = GraphSwitchGatesdefaultBranch.Link( OIsEvenGate , IEndSwitchGatesDefault )
+
+ LdefaultNodeGateEndSwitchGatesDefault = GraphSwitchGatesdefaultBranch.Link( OdefaultNodeGate , IEndSwitchGatesDefault )
+
+ # Input datas
+ ILoopGatesIndex.Input( 0 )
+ ILoopGatesMax.Input( 13 )
+ ILoopGatesMin.Input( -7 )
+
+ # Output Ports of the graph
+ #OEndLoopGatesIndex = EndLoopGates.GetOutPort( 'Index' )
+ #OEndLoopGatesMax = EndLoopGates.GetOutPort( 'Max' )
+ #OEndLoopGatesMin = EndLoopGates.GetOutPort( 'Min' )
+ return GraphSwitchGatesdefaultBranch
+
+
+GraphSwitchGatesdefaultBranch = DefGraphSwitchGatesdefaultBranch()
--- /dev/null
+<!DOCTYPE SuperGraph>
+<supergraph>
+<dataflow>
+<info-list>
+<node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>GraphSwitchGatesdefaultBranch</node-name>
+ <kind>1</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>GraphSwitchGatesdefaultBranch</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+ <inParameter-name>LoopGates__Index</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>long</inParameter-type>
+ <inParameter-name>LoopGates__Max</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>long</inParameter-type>
+ <inParameter-name>LoopGates__Min</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+ <outParameter-name>EndLoopGates__Index</outParameter-name> </outParameter>
+ <outParameter>
+<outParameter-type>long</outParameter-type>
+ <outParameter-name>EndLoopGates__Max</outParameter-name> </outParameter>
+ <outParameter>
+<outParameter-type>long</outParameter-type>
+ <outParameter-name>EndLoopGates__Min</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list/>
+ <creation-date>16/2/2005 - 10:40:8</creation-date>
+ <lastmodification-date>16/2/2005 - 15:13:4</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>JR</author>
+ <container>?</container>
+ <comment>?</comment>
+ <x-position>0</x-position>
+ <y-position>0</y-position> </node> </info-list>
+ <node-list>
+<node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>LoopGates</node-name>
+ <kind>4</kind>
+ <coupled-node>EndLoopGates</coupled-node>
+ <service>
+<service-name>LoopGates</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+ <inParameter-name>Index</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>long</inParameter-type>
+ <inParameter-name>Max</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>long</inParameter-type>
+ <inParameter-name>Min</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+ <outParameter-name>Index</outParameter-name> </outParameter>
+ <outParameter>
+<outParameter-type>long</outParameter-type>
+ <outParameter-name>Max</outParameter-name> </outParameter>
+ <outParameter>
+<outParameter-type>long</outParameter-type>
+ <outParameter-name>Min</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list>
+<PyFunction>
+<FuncName>InitLoop</FuncName>
+ <PyFunc><![CDATA[def InitLoop(Index,Max,Min) : ]]></PyFunc>
+ <PyFunc><![CDATA[ Index = Max ]]></PyFunc>
+ <PyFunc><![CDATA[ return Index,Max,Min ]]></PyFunc> </PyFunction>
+ <PyFunction>
+<FuncName>MoreLoop</FuncName>
+ <PyFunc><![CDATA[from time import * ]]></PyFunc>
+ <PyFunc><![CDATA[def MoreLoop(Index,Max,Min) : ]]></PyFunc>
+ <PyFunc><![CDATA[ sleep(1) ]]></PyFunc>
+ <PyFunc><![CDATA[ DoLoop = 0 ]]></PyFunc>
+ <PyFunc><![CDATA[ if Index >= Min : ]]></PyFunc>
+ <PyFunc><![CDATA[ DoLoop = 1 ]]></PyFunc>
+ <PyFunc><![CDATA[ return DoLoop,Index,Max,Min ]]></PyFunc> </PyFunction>
+ <PyFunction>
+<FuncName>NextLoop</FuncName>
+ <PyFunc><![CDATA[def NextLoop(Index,Max,Min) : ]]></PyFunc>
+ <PyFunc><![CDATA[ Index = Index - 1 ]]></PyFunc>
+ <PyFunc><![CDATA[ return Index,Max,Min ]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>16/2/2005 - 15:4:47</creation-date>
+ <lastmodification-date>16/2/2005 - 15:4:47</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>Compute Node</comment>
+ <x-position>13</x-position>
+ <y-position>236</y-position> </node>
+ <node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>EndLoopGates</node-name>
+ <kind>5</kind>
+ <coupled-node>LoopGates</coupled-node>
+ <service>
+<service-name>EndLoopGates</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+ <inParameter-name>Index</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>long</inParameter-type>
+ <inParameter-name>Max</inParameter-name> </inParameter>
+ <inParameter>
+<inParameter-type>long</inParameter-type>
+ <inParameter-name>Min</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+ <outParameter-name>Index</outParameter-name> </outParameter>
+ <outParameter>
+<outParameter-type>long</outParameter-type>
+ <outParameter-name>Max</outParameter-name> </outParameter>
+ <outParameter>
+<outParameter-type>long</outParameter-type>
+ <outParameter-name>Min</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list>
+<PyFunction>
+<FuncName>EndLoopGates</FuncName>
+ <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>16/2/2005 - 15:4:47</creation-date>
+ <lastmodification-date>16/2/2005 - 15:4:47</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>Compute Node</comment>
+ <x-position>875</x-position>
+ <y-position>216</y-position> </node>
+ <node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>SwitchGates</node-name>
+ <kind>6</kind>
+ <coupled-node>EndSwitchGates</coupled-node>
+ <service>
+<service-name>SwitchGates</service-name>
+ <inParameter-list>
+<inParameter>
+<inParameter-type>long</inParameter-type>
+ <inParameter-name>Index</inParameter-name> </inParameter> </inParameter-list>
+ <outParameter-list>
+<outParameter>
+<outParameter-type>long</outParameter-type>
+ <outParameter-name>Odd</outParameter-name> </outParameter>
+ <outParameter>
+<outParameter-type>long</outParameter-type>
+ <outParameter-name>Even</outParameter-name> </outParameter>
+ <outParameter>
+<outParameter-type>long</outParameter-type>
+ <outParameter-name>default</outParameter-name> </outParameter> </outParameter-list> </service>
+ <DataStream-list/>
+ <PyFunction-list>
+<PyFunction>
+<FuncName>SwitchGates</FuncName>
+ <PyFunc><![CDATA[def SwitchGates(Index) : ]]></PyFunc>
+ <PyFunc><![CDATA[ Odd = 0 ]]></PyFunc>
+ <PyFunc><![CDATA[ Even = 0 ]]></PyFunc>
+ <PyFunc><![CDATA[ default = 0 ]]></PyFunc>
+ <PyFunc><![CDATA[ if Index > 0 : ]]></PyFunc>
+ <PyFunc><![CDATA[ if (Index & 1) == 1 : ]]></PyFunc>
+ <PyFunc><![CDATA[ Odd = 1 ]]></PyFunc>
+ <PyFunc><![CDATA[ if (Index & 1) == 0 : ]]></PyFunc>
+ <PyFunc><![CDATA[ Even = 1 ]]></PyFunc>
+ <PyFunc><![CDATA[ else : ]]></PyFunc>
+ <PyFunc><![CDATA[ default = 1 ]]></PyFunc>
+ <PyFunc><![CDATA[ return Odd,Even,default ]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>16/2/2005 - 15:4:47</creation-date>
+ <lastmodification-date>16/2/2005 - 15:4:47</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>Compute Node</comment>
+ <x-position>204</x-position>
+ <y-position>236</y-position> </node>
+ <node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>EndSwitchGates</node-name>
+ <kind>7</kind>
+ <coupled-node>SwitchGates</coupled-node>
+ <service>
+<service-name>EndSwitchGates</service-name>
+ <inParameter-list/>
+ <outParameter-list/> </service>
+ <DataStream-list/>
+ <PyFunction-list>
+<PyFunction>
+<FuncName>EndSwitchGates</FuncName>
+ <PyFunc><![CDATA[from time import * ]]></PyFunc>
+ <PyFunc><![CDATA[def EndSwitchGates() : ]]></PyFunc>
+ <PyFunc><![CDATA[ sleep(1) ]]></PyFunc>
+ <PyFunc><![CDATA[ return ]]></PyFunc>
+ <PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>16/2/2005 - 15:4:47</creation-date>
+ <lastmodification-date>16/2/2005 - 15:4:47</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>Compute Node</comment>
+ <x-position>647</x-position>
+ <y-position>272</y-position> </node>
+ <node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>IsOdd</node-name>
+ <kind>3</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>IsOdd</service-name>
+ <inParameter-list/>
+ <outParameter-list/> </service>
+ <DataStream-list/>
+ <PyFunction-list>
+<PyFunction>
+<FuncName>IsOdd</FuncName>
+ <PyFunc><![CDATA[from time import * ]]></PyFunc>
+ <PyFunc><![CDATA[def IsOdd() : ]]></PyFunc>
+ <PyFunc><![CDATA[ sleep(1) ]]></PyFunc>
+ <PyFunc><![CDATA[ return ]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>16/2/2005 - 15:4:47</creation-date>
+ <lastmodification-date>16/2/2005 - 15:4:47</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>Compute Node</comment>
+ <x-position>424</x-position>
+ <y-position>116</y-position> </node>
+ <node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>IsEven</node-name>
+ <kind>3</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>IsEven</service-name>
+ <inParameter-list/>
+ <outParameter-list/> </service>
+ <DataStream-list/>
+ <PyFunction-list>
+<PyFunction>
+<FuncName>IsEven</FuncName>
+ <PyFunc><![CDATA[from time import * ]]></PyFunc>
+ <PyFunc><![CDATA[def IsEven() : ]]></PyFunc>
+ <PyFunc><![CDATA[ sleep(1) ]]></PyFunc>
+ <PyFunc><![CDATA[ return ]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>16/2/2005 - 15:4:47</creation-date>
+ <lastmodification-date>16/2/2005 - 15:4:47</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>Compute Node</comment>
+ <x-position>428</x-position>
+ <y-position>345</y-position> </node>
+ <node>
+<component-name>?</component-name>
+ <interface-name>?</interface-name>
+ <node-name>defaultNode</node-name>
+ <kind>3</kind>
+ <coupled-node>?</coupled-node>
+ <service>
+<service-name>defaultNode</service-name>
+ <inParameter-list/>
+ <outParameter-list/> </service>
+ <DataStream-list/>
+ <PyFunction-list>
+<PyFunction>
+<FuncName>defaultNode</FuncName>
+ <PyFunc><![CDATA[from time import * ]]></PyFunc>
+ <PyFunc><![CDATA[def defaultNode() : ]]></PyFunc>
+ <PyFunc><![CDATA[ sleep(1) ]]></PyFunc>
+ <PyFunc><![CDATA[ return ]]></PyFunc> </PyFunction> </PyFunction-list>
+ <creation-date>16/2/2005 - 15:12:49</creation-date>
+ <lastmodification-date>16/2/2005 - 15:12:49</lastmodification-date>
+ <editor-release>2.0</editor-release>
+ <author>?</author>
+ <container>?</container>
+ <comment>Compute Node</comment>
+ <x-position>425</x-position>
+ <y-position>232</y-position> </node> </node-list>
+ <link-list>
+<link>
+<fromnode-name>LoopGates</fromnode-name>
+ <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+ <tonode-name>EndLoopGates</tonode-name>
+ <toserviceparameter-name>DoLoop</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>LoopGates</fromnode-name>
+ <fromserviceparameter-name>Index</fromserviceparameter-name>
+ <tonode-name>EndLoopGates</tonode-name>
+ <toserviceparameter-name>Index</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>LoopGates</fromnode-name>
+ <fromserviceparameter-name>Index</fromserviceparameter-name>
+ <tonode-name>SwitchGates</tonode-name>
+ <toserviceparameter-name>Index</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>LoopGates</fromnode-name>
+ <fromserviceparameter-name>Max</fromserviceparameter-name>
+ <tonode-name>EndLoopGates</tonode-name>
+ <toserviceparameter-name>Max</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>LoopGates</fromnode-name>
+ <fromserviceparameter-name>Min</fromserviceparameter-name>
+ <tonode-name>EndLoopGates</tonode-name>
+ <toserviceparameter-name>Min</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>EndLoopGates</fromnode-name>
+ <fromserviceparameter-name>DoLoop</fromserviceparameter-name>
+ <tonode-name>LoopGates</tonode-name>
+ <toserviceparameter-name>DoLoop</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>SwitchGates</fromnode-name>
+ <fromserviceparameter-name>Odd</fromserviceparameter-name>
+ <tonode-name>IsOdd</tonode-name>
+ <toserviceparameter-name>Gate</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>SwitchGates</fromnode-name>
+ <fromserviceparameter-name>Even</fromserviceparameter-name>
+ <tonode-name>IsEven</tonode-name>
+ <toserviceparameter-name>Gate</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>SwitchGates</fromnode-name>
+ <fromserviceparameter-name>default</fromserviceparameter-name>
+ <tonode-name>defaultNode</tonode-name>
+ <toserviceparameter-name>Gate</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>EndSwitchGates</fromnode-name>
+ <fromserviceparameter-name>Gate</fromserviceparameter-name>
+ <tonode-name>EndLoopGates</tonode-name>
+ <toserviceparameter-name>Gate</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>IsOdd</fromnode-name>
+ <fromserviceparameter-name>Gate</fromserviceparameter-name>
+ <tonode-name>EndSwitchGates</tonode-name>
+ <toserviceparameter-name>Default</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>IsEven</fromnode-name>
+ <fromserviceparameter-name>Gate</fromserviceparameter-name>
+ <tonode-name>EndSwitchGates</tonode-name>
+ <toserviceparameter-name>Default</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
+<fromnode-name>defaultNode</fromnode-name>
+ <fromserviceparameter-name>Gate</fromserviceparameter-name>
+ <tonode-name>EndSwitchGates</tonode-name>
+ <toserviceparameter-name>Default</toserviceparameter-name>
+ <coord-list/> </link> </link-list>
+ <data-list>
+<data>
+<fromnode-name>GraphSwitchGatesdefaultBranch</fromnode-name>
+ <fromserviceparameter-name>LoopGates__Index</fromserviceparameter-name>
+ <tonode-name>LoopGates</tonode-name>
+ <toserviceparameter-name>Index</toserviceparameter-name>
+ <data-value>
+<value-type>3</value-type>
+ <value>0</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>GraphSwitchGatesdefaultBranch</fromnode-name>
+ <fromserviceparameter-name>LoopGates__Max</fromserviceparameter-name>
+ <tonode-name>LoopGates</tonode-name>
+ <toserviceparameter-name>Max</toserviceparameter-name>
+ <data-value>
+<value-type>3</value-type>
+ <value>13</value> </data-value>
+ <coord-list/> </data>
+ <data>
+<fromnode-name>GraphSwitchGatesdefaultBranch</fromnode-name>
+ <fromserviceparameter-name>LoopGates__Min</fromserviceparameter-name>
+ <tonode-name>LoopGates</tonode-name>
+ <toserviceparameter-name>Min</toserviceparameter-name>
+ <data-value>
+<value-type>3</value-type>
+ <value>-7</value> </data-value>
+ <coord-list/> </data> </data-list> </dataflow></supergraph>
LSwitchOddIsOddGate = GraphSwitchNOTValid.Link( OSwitchOdd , IIsOddGate )
+ LSwitchEvenEndOfSwitchDefault = GraphSwitchNOTValid.Link( OSwitchEven , IEndOfSwitchDefault )
+
LSwitchaIsOdda = GraphSwitchNOTValid.Link( OSwitcha , IIsOdda )
LSwitchaIsOdda.AddCoord( 1 , 375 , 136 )
LSwitchaIsOdda.AddCoord( 2 , 375 , 201 )
- LSwitchaEndOfSwitcha = GraphSwitchNOTValid.Link( OSwitcha , IEndOfSwitcha )
-
LSwitchDefaultEndOfSwitchDefault = GraphSwitchNOTValid.Link( OSwitchDefault , IEndOfSwitchDefault )
LEndOfSwitchaEndOfInitLoopIndex = GraphSwitchNOTValid.Link( OEndOfSwitcha , IEndOfInitLoopIndex )
#OEndOfInitLoopIndex = EndOfInitLoop.GetOutPort( 'Index' )
#OEndOfInitLoopMin = EndOfInitLoop.GetOutPort( 'Min' )
#OEndOfInitLoopMax = EndOfInitLoop.GetOutPort( 'Max' )
- #OSwitchEven = Switch.GetOutPort( 'Even' )
return GraphSwitchNOTValid
<outParameter-name>EndOfInitLoop__Min</outParameter-name> </outParameter>
<outParameter>
<outParameter-type>long</outParameter-type>
- <outParameter-name>EndOfInitLoop__Max</outParameter-name> </outParameter>
- <outParameter>
-<outParameter-type>int</outParameter-type>
- <outParameter-name>Switch__Even</outParameter-name> </outParameter> </outParameter-list> </service>
+ <outParameter-name>EndOfInitLoop__Max</outParameter-name> </outParameter> </outParameter-list> </service>
<DataStream-list/>
<PyFunction-list/>
<creation-date>1/10/2003 - 17:12:48</creation-date>
- <lastmodification-date>15/2/2005 - 9:51:57</lastmodification-date>
+ <lastmodification-date>16/2/2005 - 15:19:14</lastmodification-date>
<editor-release>1.05</editor-release>
<author>JR</author>
<container>?</container>
<PyFunc><![CDATA[ print a,"IsOdd (GraphSwitch1)" ]]></PyFunc>
<PyFunc><![CDATA[ sleep( 1 ) ]]></PyFunc>
<PyFunc><![CDATA[ return a ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>15/2/2005 - 9:51:57</creation-date>
- <lastmodification-date>15/2/2005 - 9:51:57</lastmodification-date>
+ <creation-date>16/2/2005 - 15:16:28</creation-date>
+ <lastmodification-date>16/2/2005 - 15:16:28</lastmodification-date>
<editor-release>1.05</editor-release>
<author>?</author>
<container>?</container>
<PyFunc><![CDATA[def NextLoop(Index,Min,Max) : ]]></PyFunc>
<PyFunc><![CDATA[ Index = Index + 1 ]]></PyFunc>
<PyFunc><![CDATA[ return Index,Min,Max ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>15/2/2005 - 9:51:57</creation-date>
- <lastmodification-date>15/2/2005 - 9:51:57</lastmodification-date>
+ <creation-date>16/2/2005 - 15:16:28</creation-date>
+ <lastmodification-date>16/2/2005 - 15:16:28</lastmodification-date>
<editor-release>1.05</editor-release>
<author>?</author>
<container>?</container>
<PyFunction>
<FuncName>?</FuncName>
<PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>15/2/2005 - 9:51:57</creation-date>
- <lastmodification-date>15/2/2005 - 9:51:57</lastmodification-date>
+ <creation-date>16/2/2005 - 15:16:28</creation-date>
+ <lastmodification-date>16/2/2005 - 15:16:28</lastmodification-date>
<editor-release>1.05</editor-release>
<author>?</author>
<container>?</container>
<PyFunc><![CDATA[ if ( a & 1 ) == 0 : ]]></PyFunc>
<PyFunc><![CDATA[ sleep(1) ]]></PyFunc>
<PyFunc><![CDATA[ return a & 1,1-(a&1),a ]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>15/2/2005 - 9:51:57</creation-date>
- <lastmodification-date>15/2/2005 - 9:51:57</lastmodification-date>
+ <creation-date>16/2/2005 - 15:16:28</creation-date>
+ <lastmodification-date>16/2/2005 - 15:16:28</lastmodification-date>
<editor-release>1.05</editor-release>
<author>?</author>
<container>?</container>
<PyFunction>
<FuncName>?</FuncName>
<PyFunc><![CDATA[?]]></PyFunc> </PyFunction> </PyFunction-list>
- <creation-date>15/2/2005 - 9:51:57</creation-date>
- <lastmodification-date>15/2/2005 - 9:51:57</lastmodification-date>
+ <creation-date>16/2/2005 - 15:16:28</creation-date>
+ <lastmodification-date>16/2/2005 - 15:16:28</lastmodification-date>
<editor-release>1.05</editor-release>
<author>?</author>
<container>?</container>
<toserviceparameter-name>Gate</toserviceparameter-name>
<coord-list/> </link>
<link>
+<fromnode-name>Switch</fromnode-name>
+ <fromserviceparameter-name>Even</fromserviceparameter-name>
+ <tonode-name>EndOfSwitch</tonode-name>
+ <toserviceparameter-name>Default</toserviceparameter-name>
+ <coord-list/> </link>
+ <link>
<fromnode-name>Switch</fromnode-name>
<fromserviceparameter-name>a</fromserviceparameter-name>
<tonode-name>IsOdd</tonode-name>
<x>375</x>
<y>201</y> </coord> </coord-list> </link>
<link>
-<fromnode-name>Switch</fromnode-name>
- <fromserviceparameter-name>a</fromserviceparameter-name>
- <tonode-name>EndOfSwitch</tonode-name>
- <toserviceparameter-name>a</toserviceparameter-name>
- <coord-list/> </link>
- <link>
<fromnode-name>Switch</fromnode-name>
<fromserviceparameter-name>Default</fromserviceparameter-name>
<tonode-name>EndOfSwitch</tonode-name>