Salome HOME
updated copyright message
[modules/yacs.git] / src / yacsloader_swig / Test / async_plugin.py
1 # Copyright (C) 2015-2023  CEA/DEN, EDF R&D
2 #
3 # This library is free software; you can redistribute it and/or
4 # modify it under the terms of the GNU Lesser General Public
5 # License as published by the Free Software Foundation; either
6 # version 2.1 of the License, or (at your option) any later version.
7 #
8 # This library is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11 # Lesser General Public License for more details.
12 #
13 # You should have received a copy of the GNU Lesser General Public
14 # License along with this library; if not, write to the Free Software
15 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
16 #
17 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18 #
19
20 import SALOMERuntime
21
22 class myalgosync(SALOMERuntime.OptimizerAlgSync):
23   def __init__(self):
24     SALOMERuntime.OptimizerAlgSync.__init__(self, None)
25     r=SALOMERuntime.getSALOMERuntime()
26     self.tin=r.getTypeCode("double")
27     self.tout=r.getTypeCode("int")
28     self.tAlgoInit=r.getTypeCode("pyobj")
29     self.tAlgoResult=r.getTypeCode("pyobj")
30
31   def setPool(self,pool):
32     print("Algo setPool")
33
34   def getTCForIn(self):
35     return self.tin
36
37   def getTCForOut(self):
38     return self.tout
39
40   def getTCForAlgoInit(self):
41     return self.tAlgoInit
42
43   def getTCForAlgoResult(self):
44     return self.tAlgoResult
45
46   def initialize(self,input):
47     print ("Algo initialize")
48
49   def start(self):
50     print ("Algo start")
51
52   def takeDecision(self):
53     print ("Algo takeDecision")
54
55   def finish(self):
56     print ("Algo finish")
57
58   def getAlgoResult(self):
59     print("Algo getAlgoResult : on charge un objet complet obtenu en pickle 9.2 avant tuyau")
60     import pickle
61     import numpy as np
62     resu = np.array(range(1),dtype=np.int32)
63     ob=pickle.dumps(resu)
64     #assert(bytes([0]) in ob) # test is here presence of 0 in the pickelization
65     return ob