1 # Copyright (C) 2009-2019 EDF R&D
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.
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.
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
17 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21 #import context from ..
22 exec(compile(open("../context.py").read(), "../context.py", 'exec'))
23 from module_generator import Generator,Module,Service,PYComponent,CPPComponent,F77Component
24 from module_generator import Library
29 std::cerr << "a: " << a << std::endl;
30 std::cerr << "b: " << b << std::endl;
36 double val[10],rval[10];
37 int ival[10],rival[10];
38 long lval[10],rlval[10];
39 float cval[20],rcval[20];
40 char* sval[]={"coucou","bonjour","salut"};
49 char instance_name[72];
50 info = cp_cd(component,instance_name);
51 std::cerr << "instance_name: " << instance_name << std::endl;
56 std::cerr << "val: " << val[0] << std::endl;
57 std::cerr << "val: " << val[1] << std::endl;
58 std::cerr << "val: " << val[2] << std::endl;
59 cp_edb(component,CP_ITERATION,0.,1,(char*)"ba",10,val);
60 cp_edb(component,CP_ITERATION,0.,2,(char*)"ba",10,val);
61 cp_edb(component,CP_ITERATION,0.,3,(char*)"ba",10,val);
63 std::cerr << "sval: " << sval[0] << std::endl;
64 std::cerr << "sval: " << sval[1] << std::endl;
65 std::cerr << "sval: " << sval[2] << std::endl;
66 cp_ech(component,CP_ITERATION,0.,1,(char*)"bb",3,sval,6);
71 std::cerr << "ival: " << ival[0] << std::endl;
72 std::cerr << "ival: " << ival[1] << std::endl;
73 std::cerr << "ival: " << ival[2] << std::endl;
74 cp_een(component,CP_ITERATION,0.,1,(char*)"bc",10,ival);
82 std::cerr << "cval: " << cval[0] << std::endl;
83 std::cerr << "cval: " << cval[1] << std::endl;
84 std::cerr << "cval: " << cval[2] << std::endl;
85 std::cerr << "cval: " << cval[3] << std::endl;
86 std::cerr << "cval: " << cval[4] << std::endl;
87 std::cerr << "cval: " << cval[5] << std::endl;
88 cp_ecp(component,CP_ITERATION,0.,1,(char*)"bd",10,cval);
93 std::cerr << "cval: " << cval[0] << std::endl;
94 std::cerr << "cval: " << cval[1] << std::endl;
95 std::cerr << "cval: " << cval[2] << std::endl;
96 cp_ere(component,CP_ITERATION,0.,1,(char*)"be",10,cval);
101 std::cerr << "ival: " << ival[0] << std::endl;
102 std::cerr << "ival: " << ival[1] << std::endl;
103 std::cerr << "ival: " << ival[2] << std::endl;
104 cp_elo(component,CP_ITERATION,0.,1,(char*)"bf",10,ival);
109 std::cerr << "lval: " << lval[0] << std::endl;
110 std::cerr << "lval: " << lval[1] << std::endl;
111 std::cerr << "lval: " << lval[2] << std::endl;
112 cp_eln(component,CP_ITERATION,0.,1,(char*)"bg",10,lval);
117 std::cerr << "ival: " << ival[0] << std::endl;
118 std::cerr << "ival: " << ival[1] << std::endl;
119 std::cerr << "ival: " << ival[2] << std::endl;
120 cp_een(component,CP_ITERATION,0.,1,(char*)"bh",10,ival);
125 std::cerr << "lval: " << lval[0] << std::endl;
126 std::cerr << "lval: " << lval[1] << std::endl;
127 std::cerr << "lval: " << lval[2] << std::endl;
128 cp_elg(component,CP_ITERATION,0.,1,(char*)"bi",10,lval);
131 info=cp_ldb(component,CP_ITERATION,&t1,&t2,&i,(char*)"aa",3,&mval,rval);
132 std::cerr << "info: " << info << std::endl;
133 std::cerr << "rval: " << rval[0] << std::endl;
134 std::cerr << "rval: " << rval[1] << std::endl;
135 std::cerr << "rval: " << rval[2] << std::endl;
137 info=cp_lch(component,CP_ITERATION,&tt1,&tt2,&i,(char*)"ab",3,&mval,rsval,7);
138 std::cerr << "info: " << info << std::endl;
139 std::cerr << "rsval: " << rsval[0] << std::endl;
140 std::cerr << "rsval: " << rsval[1] << std::endl;
141 std::cerr << "rsval: " << rsval[2] << std::endl;
143 info=cp_len(component,CP_ITERATION,&tt1,&tt2,&i,(char*)"ac",3,&mval,rival);
144 std::cerr << "info: " << info << std::endl;
145 std::cerr << "rival: " << rival[0] << std::endl;
146 std::cerr << "rival: " << rival[1] << std::endl;
147 std::cerr << "rival: " << rival[2] << std::endl;
149 info=cp_lcp(component,CP_ITERATION,&tt1,&tt2,&i,(char*)"ad",3,&mval,rcval);
150 std::cerr << "info: " << info << std::endl;
151 std::cerr << "rcval: " << rcval[0] << std::endl;
152 std::cerr << "rcval: " << rcval[1] << std::endl;
153 std::cerr << "rcval: " << rcval[2] << std::endl;
154 std::cerr << "rcval: " << rcval[3] << std::endl;
155 std::cerr << "rcval: " << rcval[4] << std::endl;
156 std::cerr << "rcval: " << rcval[5] << std::endl;
161 info=cp_lre(component,CP_ITERATION,&tt1,&tt2,&i,(char*)"ae",3,&mval,rcval);
162 std::cerr << "info: " << info << std::endl;
163 std::cerr << "rcval: " << rcval[0] << std::endl;
164 std::cerr << "rcval: " << rcval[1] << std::endl;
165 std::cerr << "rcval: " << rcval[2] << std::endl;
171 info=cp_llo(component,CP_ITERATION,&tt1,&tt2,&i,(char*)"af",3,&mval,rival);
172 std::cerr << "info: " << info << std::endl;
173 std::cerr << "rival: " << rival[0] << std::endl;
174 std::cerr << "rival: " << rival[1] << std::endl;
175 std::cerr << "rival: " << rival[2] << std::endl;
177 info=cp_lln(component,CP_ITERATION,&tt1,&tt2,&i,(char*)"ag",3,&mval,rlval);
178 std::cerr << "info: " << info << std::endl;
179 std::cerr << "rlval: " << rlval[0] << std::endl;
180 std::cerr << "rlval: " << rlval[1] << std::endl;
181 std::cerr << "rlval: " << rlval[2] << std::endl;
187 info=cp_len(component,CP_ITERATION,&tt1,&tt2,&i,(char*)"ah",3,&mval,rival);
188 std::cerr << "info: " << info << std::endl;
189 std::cerr << "rival: " << rival[0] << std::endl;
190 std::cerr << "rival: " << rival[1] << std::endl;
191 std::cerr << "rival: " << rival[2] << std::endl;
193 info=cp_llg(component,CP_ITERATION,&tt1,&tt2,&i,(char*)"ai",3,&mval,rlval);
194 std::cerr << "info: " << info << std::endl;
195 std::cerr << "rlval: " << rlval[0] << std::endl;
196 std::cerr << "rlval: " << rlval[1] << std::endl;
197 std::cerr << "rlval: " << rlval[2] << std::endl;
199 info=cp_fini(component,(char*)"aa",1);
200 std::cerr << "info: " << info << std::endl;
202 info=cp_effi(component,(char*)"aa",3);
203 std::cerr << "info: " << info << std::endl;
205 cp_fin(component,CP_ARRET);
208 std::cerr << "c: " << c << std::endl;
210 c1=CPPComponent("compo1",services=[
211 Service("s1",inport=[("a","double"),("b","double")],
212 outport=[("c","double")],
213 instream=[("aa","CALCIUM_double","I"),
214 ("ab","CALCIUM_string","I"),
215 ("ac","CALCIUM_integer","I"),
216 ("ad","CALCIUM_complex","I"),
217 ("ae","CALCIUM_real","I"),
218 ("af","CALCIUM_logical","I"),
219 ("ag","CALCIUM_long","I"),
220 ("ah","CALCIUM_integer","I"),
221 ("ai","CALCIUM_integer","I"),
223 outstream=[("ba","CALCIUM_double","I"),
224 ("bb","CALCIUM_string","I"),
225 ("bc","CALCIUM_integer","I"),
226 ("bd","CALCIUM_complex","I"),
227 ("be","CALCIUM_real","I"),
228 ("bf","CALCIUM_logical","I"),
229 ("bg","CALCIUM_long","I"),
230 ("bh","CALCIUM_integer","I"),
231 ("bi","CALCIUM_integer","I"),
233 defs="//def1",body=body,
245 info,name= calcium.cp_cd(component)
249 dep=calcium.CP_ITERATION
252 val=numpy.zeros(10,'d')
256 print ("--------> Appel calcium.cp_edb",val)
257 info=calcium.cp_edb(component, dep, 0., 1, "ba", nval,val)
258 info=calcium.cp_edb(component, dep, 0., 2, "ba", nval,val)
259 info=calcium.cp_edb(component, dep, 0., 3, "ba", nval,val)
262 val=numpy.array(["coucouc ","bonjour ","salut "])
263 val=calcium.stringArray(3,8)
267 print ("--------> Appel calcium.cp_ech",val)
268 info=calcium.cp_ech(component, dep, 0., 1, "bb", 3,val)
271 val=numpy.zeros(10,'i')
274 print ("--------> Appel calcium.cp_een",val)
275 info=calcium.cp_een(component, dep, 0., 1, "bc", 3,val)
277 val=numpy.zeros(10,'F')
280 print ("--------> Appel calcium.cp_ecp",val)
281 info=calcium.cp_ecp(component, dep, 0., 1, "bd", 3,val)
283 val=numpy.zeros(10,'f')
286 print ("--------> Appel calcium.cp_ere",val)
287 info=calcium.cp_ere(component, dep, 0., 1, "be", 3,val)
289 val=numpy.zeros(10,'i')
293 print ("--------> Appel calcium.cp_elo",val)
294 info=calcium.cp_elo(component, dep, 0., 1, "bf", 3,val)
296 val=numpy.zeros(10,'l')
300 print ("--------> Appel calcium.cp_eln",val)
301 info=calcium.cp_eln(component, dep, 0., 1, "bg", 3,val)
303 val=numpy.zeros(10,'i')
307 print ("--------> Appel calcium.cp_een",val)
308 info=calcium.cp_een(component, dep, 0., 1, "bh", 3,val)
310 val=numpy.zeros(10,'l')
314 print ("--------> Appel calcium.cp_elg",val)
315 info=calcium.cp_elg(component, dep, 0., 1, "bi", 3,val)
319 val=numpy.zeros(10,'d')
320 print ("--------> Appel calcium.cp_ldb")
321 info,tt,ii,mval=calcium.cp_ldb(component, dep, 0.,1., 1, "aa", 3,val)
324 val=numpy.array(["","","",], dtype='S13')
325 print ("--------> Appel calcium.cp_lch")
326 info,tt,ii,mval=calcium.cp_lch(component, dep, 0.,1., 1, "ab", 3,val)
330 val=numpy.array([" "," "," ",], dtype='S13')
331 print ("--------> Appel calcium.cp_lch")
332 info,tt,ii,mval=calcium.cp_lch(component, dep, 0.,1., 1, "ab", 3,val)
336 val=calcium.stringArray(3,8)
337 print ("--------> Appel calcium.cp_lch")
338 info,tt,ii,mval=calcium.cp_lch(component, dep, 0.,1., 1, "ab", 3,val)
344 val=numpy.zeros(10,'i')
345 print ("--------> Appel calcium.cp_len")
346 info,tt,ii,mval=calcium.cp_len(component, dep, 0.,1., 1, "ac", 3,val)
349 val=numpy.zeros(10,'F')
350 print ("--------> Appel calcium.cp_lcp")
351 info,tt,ii,mval=calcium.cp_lcp(component, dep, 0.,1., 1, "ad", 3,val)
354 val=numpy.zeros(10,'f')
355 print ("--------> Appel calcium.cp_lre")
356 info,tt,ii,mval=calcium.cp_lre(component, dep, 0.,1., 1, "ae", 3,val)
359 val=numpy.zeros(10,'i')
360 print ("--------> Appel calcium.cp_llo")
361 info,tt,ii,mval=calcium.cp_llo(component, dep, 0.,1., 1, "af", 3,val)
364 val=numpy.zeros(10,'l')
365 print ("--------> Appel calcium.cp_lln")
366 info,tt,ii,mval=calcium.cp_lln(component, dep, 0.,1., 1, "ag", 3,val)
369 val=numpy.zeros(10,'i')
370 print ("--------> Appel calcium.cp_len")
371 info,tt,ii,mval=calcium.cp_len(component, dep, 0.,1., 1, "ah", 3,val)
374 val=numpy.zeros(10,'l')
375 print ("--------> Appel calcium.cp_llg")
376 info,tt,ii,mval=calcium.cp_llg(component, dep, 0.,1., 1, "ai", 3,val)
380 info=calcium.cp_fini(component,"aa",1)
383 info=calcium.cp_effi(component,"aa",3)
391 err=calcium.cp_fin(component,calcium.CP_ARRET)
394 c2=PYComponent("compo2",services=[
395 Service("s1",inport=[("a","double"),("b","double")],
396 outport=[("c","double"),("d","double")],
397 instream=[("aa","CALCIUM_double","I"),
398 ("ab","CALCIUM_string","I"),
399 ("ac","CALCIUM_integer","I"),
400 ("ad","CALCIUM_complex","I"),
401 ("ae","CALCIUM_real","I"),
402 ("af","CALCIUM_logical","I"),
403 ("ag","CALCIUM_long","I"),
404 ("ah","CALCIUM_integer","I"),
405 ("ai","CALCIUM_integer","I"),
407 outstream=[("ba","CALCIUM_double","I"),
408 ("bb","CALCIUM_string","I"),
409 ("bc","CALCIUM_integer","I"),
410 ("bd","CALCIUM_complex","I"),
411 ("be","CALCIUM_real","I"),
412 ("bf","CALCIUM_logical","I"),
413 ("bg","CALCIUM_long","I"),
414 ("bh","CALCIUM_integer","I"),
415 ("bi","CALCIUM_integer","I"),
426 c3=F77Component("fcode1",
429 inport=[("a","double"),("b","double")],
430 outport=[("c","double")],
431 instream=[("aa","CALCIUM_double","I"),
432 ("ab","CALCIUM_string","I"),
433 ("ac","CALCIUM_integer","I"),
434 ("ad","CALCIUM_complex","I"),
435 ("ae","CALCIUM_real","I"),
436 ("af","CALCIUM_logical","I"),
437 ("ag","CALCIUM_long","I"),
438 ("ah","CALCIUM_integer","I"),
439 ("ai","CALCIUM_integer","I"),
441 outstream=[("ba","CALCIUM_double","I"),
442 ("bb","CALCIUM_string","I"),
443 ("bc","CALCIUM_integer","I"),
444 ("bd","CALCIUM_complex","I"),
445 ("be","CALCIUM_real","I"),
446 ("bf","CALCIUM_logical","I"),
447 ("bg","CALCIUM_long","I"),
448 ("bh","CALCIUM_integer","I"),
449 ("bi","CALCIUM_integer","I"),
453 libs=[Library(name="code1", path=cwd)],
457 g=Generator(Module("pycompos",components=[c1,c2,c3],prefix="./install"),context)
462 g.make_appli("appli", restrict=["KERNEL"], altmodules={"GUI":GUI_ROOT_DIR, "YACS":YACS_ROOT_DIR})