1 // =============================================================================
2 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 // Copyright (C) 2020 - ESI Group - Clement DAVID
5 // This file is distributed under the same license as the Scilab package.
6 // =============================================================================
8 // <-- CLI SHELL MODE -->
9 // <-- NO CHECK REF -->
11 // <-- Non-regression test for bug 16106 -->
13 // <-- Bugzilla URL -->
14 // http://bugzilla.scilab.org/show_bug.cgi?id=16106
16 // <-- Short Description -->
17 // block.opar and block.oz could not be used for block implemented in Scilab
18 // with the scicos api 5.
23 function [x,y,typ]=DEMO_BLK4(job,arg1,arg2)
34 model.sim=list("demo_blk4_sim", 5)
42 r = rand(); // same shared random value for checking
43 model.opar=list("FOO", r)
44 model.odstate=list("BAR", r)
46 x=standard_define([2 2],model,[],[]);
51 function [blk] = demo_blk4_sim(blk, flag)
52 if flag == 4 | flag == 6 // INIT or REINIT
53 elseif flag == 1 // OUTPUT UPDATE
54 assert_checkequal(blk.opar(1), "FOO");
55 assert_checkequal(floor(blk.opar(2)), 0);
56 assert_checkequal(blk.oz(1), "BAR");
57 assert_checkequal(blk.oz(2) - floor(blk.oz(2)), blk.opar(2));
58 elseif flag == 2 // STATE UPDATE
59 blk.odstate(2) = blk.odstate(2) + 1;
60 assert_checkequal(floor(blk.oz(2)) - blk.opar(2), 0);
64 // For user specific testing
65 // pal = xcosPal("demo");
66 // pal = xcosPalAddBlock(pal, "DEMO_BLK4");
69 // Create a diagram with a DEMO_BLK4 linked to itself
70 blk = DEMO_BLK4("define");
72 blk.graphics.pout = 2;
78 scs_m = scicos_diagram(objs=list(blk, lnk));
79 Info = scicos_simulate(scs_m, list());