Salome HOME
Merge branch 'V9_11_BR'
[modules/yacs.git] / src / py2yacs / Test / testforeach.py
1 #!/usr/bin/env python3
2 import yacsdecorator
3 import formule
4
5 @yacsdecorator.leaf
6 def f1(x,y):
7   r = x+y
8   return r
9
10 @yacsdecorator.leaf
11 def f2(a):
12   r = a + 2
13   return r
14
15 @yacsdecorator.leaf
16 def f3(x, y):
17   s = x+y
18   p = x*y
19   return s,p
20
21 @yacsdecorator.leaf
22 def jdd():
23   r = list(range(10))
24   return r
25
26 @yacsdecorator.foreach
27 def fr(v):
28   a,b = f3(v, 2)
29   return a,b
30
31 @yacsdecorator.foreach
32 def fr2(v):
33   r = f2(v)
34   return r
35
36 @yacsdecorator.foreach
37 def doublefr(v):
38   return fr2(v)
39
40 @yacsdecorator.leaf
41 def post(t):
42   s = 0
43   for e in t:
44     s += int( e )
45   return s
46
47 @yacsdecorator.block
48 def mainblock():
49   return fr(range(10))
50
51 @yacsdecorator.block
52 def maindoublefr():
53   vals = [ list(range(x)) for x in range(10)]
54   return doublefr(vals)
55
56 @yacsdecorator.block
57 def main():
58   vals = jdd()
59   result = fr2(vals)
60   r1 = post(result)
61   x = formule.f1(x=3,y=4)
62   a,b = formule.f3(x, 2)
63   formule.f2(x)
64   r2 = formule.f1(a,b)
65   return r1,r2
66
67 if __name__ == '__main__':
68   v1, v2 = main()
69   print("v1:", v1)
70   print("v2:", v2)