Salome HOME
Update copyrights
[samples/datafiles.git] / Yacs / Schemas / while3.xml
1 <!--
2   Copyright (C) 2006-2019  CEA/DEN, EDF R&D
3
4   This library is free software; you can redistribute it and/or
5   modify it under the terms of the GNU Lesser General Public
6   License as published by the Free Software Foundation; either
7   version 2.1 of the License, or (at your option) any later version.
8
9   This library is distributed in the hope that it will be useful,
10   but WITHOUT ANY WARRANTY; without even the implied warranty of
11   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12   Lesser General Public License for more details.
13
14   You should have received a copy of the GNU Lesser General Public
15   License along with this library; if not, write to the Free Software
16   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
17
18   See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
19
20 -->
21 <proc>
22     <!--a Python node in a while loop 
23         expect 2 steps
24     -->
25     <!--types -->
26     <!--nodes -->
27     <inline name="n" >
28         <script>
29             <code>condition=1</code>
30         </script>
31         <outport name="condition" type="int"/>
32     </inline>
33     <while name="b0" >
34     <while name="b1" >
35       <inline name="node2" >
36         <function name="f">
37             <code>a=0</code>
38             <code>def f(p1):</code>
39             <code>  global a</code>
40             <code>  p1= p1+10.</code>
41             <code>  print(a)</code>
42             <code>  a=a+p1</code>
43             <code>  print("p1:",p1)</code>
44             <code><![CDATA[  condition=p1 < 40.]]> </code>
45             <code>  return p1,condition</code>
46         </function>
47         <inport name="p1" type="double"/>
48         <outport name="p1" type="double"/>
49         <outport name="condition" type="bool"/>
50       </inline>
51     <datalink> <fromnode>node2</fromnode><fromport>condition</fromport>
52                <tonode>b0.b1</tonode> <toport>condition</toport> </datalink>
53     <datalink> <fromnode>node2</fromnode><fromport>p1</fromport>
54                <tonode>node2</tonode> <toport>p1</toport> </datalink>
55     </while>
56     <datalink> <fromnode>b1.node2</fromnode><fromport>condition</fromport>
57                <tonode>b0</tonode> <toport>condition</toport> </datalink>
58     </while>
59     <!--control links -->
60     <!--data links -->
61     <datalink> <fromnode>n</fromnode><fromport>condition</fromport>
62                <tonode>b0.b1</tonode> <toport>condition</toport> </datalink>
63     <!--parameters -->
64     <parameter>
65         <tonode>b0.b1.node2</tonode> <toport>p1</toport>
66         <value><double>23</double> </value>
67     </parameter>
68
69 </proc>