Salome HOME
Use /tmp for temporary files needed by salome tests.
[modules/yacs.git] / src / yacsloader_swig / Test / async_plugin.py
1 import SALOMERuntime
2
3 class myalgosync(SALOMERuntime.OptimizerAlgSync):
4   def __init__(self):
5     SALOMERuntime.OptimizerAlgSync.__init__(self, None)
6     r=SALOMERuntime.getSALOMERuntime()
7     self.tin=r.getTypeCode("double")
8     self.tout=r.getTypeCode("int")
9     self.tAlgoInit=r.getTypeCode("pyobj")
10     self.tAlgoResult=r.getTypeCode("pyobj")
11
12   def setPool(self,pool):
13     print("Algo setPool")
14
15   def getTCForIn(self):
16     return self.tin
17
18   def getTCForOut(self):
19     return self.tout
20
21   def getTCForAlgoInit(self):
22     return self.tAlgoInit
23
24   def getTCForAlgoResult(self):
25     return self.tAlgoResult
26
27   def initialize(self,input):
28     print ("Algo initialize")
29
30   def start(self):
31     print ("Algo start")
32
33   def takeDecision(self):
34     print ("Algo takeDecision")
35
36   def finish(self):
37     print ("Algo finish")
38
39   def getAlgoResult(self):
40     print("Algo getAlgoResult : on charge un objet complet obtenu en pickle 9.2 avant tuyau")
41     import pickle
42     import numpy as np
43     resu = np.array(range(1),dtype=np.int32)
44     ob=pickle.dumps(resu,protocol=0)
45     assert(bytes([0]) in ob) # test is here presence of 0 in the pickelization
46     return ob