diff options
124 files changed, 14521 insertions, 343 deletions
diff --git a/blocks_xcos/GOTO.xcos b/blocks_xcos/GOTO.xcos index caa5818..a8f787c 100755 --- a/blocks_xcos/GOTO.xcos +++ b/blocks_xcos/GOTO.xcos @@ -1,44 +1,38 @@ <?xml version="1.0" encoding="UTF-8"?> -<XcosDiagram background="-1" title="Untitled"> - <!--Xcos - 1.0 - scilab-5.5.2 - 20150331 1152--> - <Array as="context" scilabClass="String[]"> - <add value=""/> - </Array> - <mxGraphModel as="model"> - <root> - <mxCell id="-1b7beca7:15524560360:-7b7b"/> - <mxCell id="-1b7beca7:15524560360:-7b7c" parent="-1b7beca7:15524560360:-7b7b"/> - <BasicBlock id="-1b7beca7:15524560360:-7b79" interfaceFunctionName="GOTO" parent="-1b7beca7:15524560360:-7b7c" simulationFunctionName="goto" simulationFunctionType="DEFAULT" style="GOTO"> - <ScilabString as="exprs" height="2" width="1"> - <data column="0" line="0" value="A"/> - <data column="0" line="1" value="1"/> - </ScilabString> - <ScilabDouble as="realParameters" height="0" width="0"/> - <ScilabDouble as="integerParameters" height="1" width="1"> - <data column="0" line="0" realPart="1.0"/> - </ScilabDouble> - <Array as="objectsParameters" scilabClass="ScilabList"> - <ScilabString height="1" width="1"> - <data column="0" line="0" value="A"/> - </ScilabString> - </Array> - <ScilabDouble as="nbZerosCrossing" height="1" width="1"> - <data column="0" line="0" realPart="0.0"/> - </ScilabDouble> - <ScilabDouble as="nmode" height="1" width="1"> - <data column="0" line="0" realPart="0.0"/> - </ScilabDouble> - <Array as="oDState" scilabClass="ScilabList"/> - <Array as="equations" scilabClass="ScilabList"/> - <mxGeometry as="geometry" height="7.0" width="7.0" x="37.5" y="37.0"/> - </BasicBlock> - <ExplicitInputPort dataType="UNKNOW_TYPE" id="-1b7beca7:15524560360:-7b78" ordering="1" parent="-1b7beca7:15524560360:-7b79" style="ExplicitInputPort;align=left;verticalAlign=middle;spacing=10.0;rotation=0" value=""> - <mxGeometry as="geometry" height="8.0" width="8.0" x="-8.0" y="-3.5"/> - </ExplicitInputPort> - <mxCell connectable="0" id="-1b7beca7:15524560360:-7b79#identifier" parent="-1b7beca7:15524560360:-7b79" style="noLabel=0;opacity=0;" value="Goto" vertex="1"> - <mxGeometry as="geometry" relative="1" x="0.5" y="1.1"/> - </mxCell> - </root> - </mxGraphModel> - <mxCell as="defaultParent" id="-1b7beca7:15524560360:-7b7c" parent="-1b7beca7:15524560360:-7b7b"/> +<XcosDiagram background="-1" title="Untitled - 12:26:42 PM"> + <!--Xcos - 1.0 - scilab-5.5.2 - 20150331 1152--> + <mxGraphModel as="model"> + <root> + <mxCell id="60e6c3c2:155b4b1be58:-7ffb" /> + <mxCell id="60e6c3c2:155b4b1be58:-7ffc" parent="60e6c3c2:155b4b1be58:-7ffb" /> + <BasicBlock id="60e6c3c2:155b4b1be58:-7fe1" interfaceFunctionName="GOTO" parent="60e6c3c2:155b4b1be58:-7ffc" simulationFunctionName="goto" simulationFunctionType="DEFAULT" style="GOTO"> + <ScilabString as="exprs" height="2" width="1"> + <data column="0" line="0" value="A" /> + <data column="0" line="1" value="1" /> + </ScilabString> + <ScilabDouble as="realParameters" height="0" width="0" /> + <ScilabDouble as="integerParameters" height="1" width="1"> + <data column="0" line="0" realPart="1.0" /> + </ScilabDouble> + <Array as="objectsParameters" scilabClass="ScilabList"> + <ScilabString height="1" width="1"> + <data column="0" line="0" value="A" /> + </ScilabString> + </Array> + <ScilabDouble as="nbZerosCrossing" height="1" width="1"> + <data column="0" line="0" realPart="0.0" /> + </ScilabDouble> + <ScilabDouble as="nmode" height="1" width="1"> + <data column="0" line="0" realPart="0.0" /> + </ScilabDouble> + <Array as="oDState" scilabClass="ScilabList" /> + <Array as="equations" scilabClass="ScilabList" /> + <mxGeometry as="geometry" height="20.0" width="40.0" x="130.0" y="170.0" /> + </BasicBlock> + <ExplicitInputPort dataType="UNKNOW_TYPE" id="60e6c3c2:155b4b1be58:-7fe0" ordering="1" parent="60e6c3c2:155b4b1be58:-7fe1" style="ExplicitInputPort;align=left;verticalAlign=middle;spacing=10.0;rotation=0" value=""> + <mxGeometry as="geometry" height="8.0" width="8.0" x="-8.0" y="6.0" /> + </ExplicitInputPort> + </root> + </mxGraphModel> + <mxCell as="defaultParent" id="60e6c3c2:155b4b1be58:-7ffc" parent="60e6c3c2:155b4b1be58:-7ffb" /> </XcosDiagram> diff --git a/combined.js b/combined.js new file mode 100644 index 0000000..02297e2 --- /dev/null +++ b/combined.js @@ -0,0 +1,8478 @@ +function ABS_VALUE() { + + ABS_VALUE.prototype.define = function ABS_VALUE() { + + this.nu = -1; + + var model = scicos_model(); + model.sim = list(new ScilabString(["absolute_value"]), new ScilabDouble([4])); + model.in = new ScilabDouble([this.nu]); + model.out = new ScilabDouble([this.nu]); + model.nzcross = new ScilabDouble([this.nu]); + model.nmode = new ScilabDouble([this.nu]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var exprs = new ScilabString([1]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"ABS_VALUE\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, gr_i); + this.x.graphics.style = new ScilabString(["ABS_VALUE"]); + return new BasicBlock(this.x); + + } + + ABS_VALUE.prototype.details = function ABS_VALUE() { + return this.x; + } + +} +function AFFICH_m() { + + AFFICH_m.prototype.define = function AFFICH_m() { + this.font = 1; + this.fontsize = 1; + this.colr = 1; + this.nt = 5; + this.nd = 1; + this.in1 = [1, 1]; + + var model = scicos_model(); + model.sim = list(new ScilabString(["affich2"]), new ScilabDouble([4])); + model.in = new ScilabDouble([this.in1[0]]); + model.in2 = new ScilabDouble([this.in1[1]]); + model.evtin = new ScilabDouble([1]); + model.dstate = new ScilabDouble([-1], [0], [0], [1], [1], [0], ...zeros(this.in1[0] * this.in1[1], 1)); + model.ipar = new ScilabDouble([this.font], [this.fontsize], [this.colr], [1000], [this.nt], [this.nd], [this.in1[0]]); + model.blocktype = new ScilabString(["c"]); + model.firing = new ScilabDouble(); + model.dep_ut = new ScilabBoolean([true, false]); + model.label = new ScilabString([""]); + var exprs = new ScilabString([sci2exp([parseFloat(...getData(model.in)), parseFloat(...getData(model.in2))])], [this.font.toString()], [this.fontsize.toString()], [this.colr.toString()], [this.nt.toString()], [this.nd.toString()], [(0).toString()]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"AFFICH_m\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([3, 2]), model, exprs, gr_i); + this.x.graphics.style = new ScilabString(["AFFICH_m"]); + return new AfficheBlock(this.x); + } + + AFFICH_m.prototype.details = function AFFICH_m() { + return this.x; + } +} +function ANDBLK() { + + ANDBLK.prototype.define = function ANDBLK() { + + var andlog = new ANDLOG_f().internal(); + andlog.graphics.orig = new ScilabDouble([194, 133]); + andlog.graphics.sz = new ScilabDouble([60, 60]); + andlog.graphics.flip = new ScilabBoolean([true]); + andlog.graphics.pout = new ScilabDouble([9]); + andlog.graphics.pein = new ScilabDouble([4], [11]); + andlog.model.uid = new ScilabString([count]); + andlog.doc = list(new ScilabString([count++])); + + var input_port1 = new CLKIN_f().internal(); + input_port1.graphics.orig = new ScilabDouble([149, 287]); + input_port1.graphics.sz = new ScilabDouble([20, 20]); + input_port1.graphics.flip = new ScilabBoolean([true]); + input_port1.graphics.exprs = new ScilabString(["1"]); + input_port1.graphics.peout = new ScilabDouble([4]); + input_port1.model.ipar = new ScilabDouble([1]); + input_port1.model.uid = new ScilabString([count]); + input_port1.doc = list(new ScilabString([count++])); + + var output_port = new CLKOUT_f().internal(); + output_port.graphics.orig = new ScilabDouble([450, 83]); + output_port.graphics.sz = new ScilabDouble([20, 20]); + output_port.graphics.flip = new ScilabBoolean([true]); + output_port.graphics.exprs = new ScilabString(["1"]); + output_port.graphics.pein = new ScilabDouble([8]); + output_port.model.ipar = new ScilabDouble([1]); + output_port.model.uid = new ScilabString([count]); + output_port.doc = list(new ScilabString([count++])); + + var input_port2 = new CLKIN_f().internal(); + input_port2.graphics.orig = new ScilabDouble([141, 330]); + input_port2.graphics.sz = new ScilabDouble([20, 20]); + input_port2.graphics.flip = new ScilabBoolean([true]); + input_port2.graphics.exprs = new ScilabString(["2"]); + input_port2.graphics.peout = new ScilabDouble([6]); + input_port2.model.ipar = new ScilabDouble([2]); + input_port2.model.uid = new ScilabString([count]); + input_port2.doc = list(new ScilabString([count++])); + + var ifthel = new IFTHEL_f().internal(); + ifthel.graphics.orig = new ScilabDouble([331, 137]); + ifthel.graphics.sz = new ScilabDouble([60, 60]); + ifthel.graphics.flip = new ScilabBoolean([true]); + ifthel.graphics.pin = new ScilabDouble([9]); + ifthel.graphics.pein = new ScilabDouble([12]); + ifthel.graphics.peout = new ScilabDouble([8], [0]); + ifthel.model.uid = new ScilabString([count]); + ifthel.doc = list(new ScilabString([count++])); + + + var split = new CLKSPLIT_f().internal(); + split.graphics.orig = new ScilabDouble([234, 275.78348]); + split.graphics.pein = new ScilabDouble([6]); + split.graphics.peout = new ScilabDouble([11], [12]); + split.model.uid = new ScilabString([count]); + split.doc = list(new ScilabString([count++])); + + var diagram = scicos_diagram(); + diagram.objs.push(andlog); + diagram.objs.push(input_port1); + diagram.objs.push(output_port); + diagram.objs.push(input_port2); + diagram.objs.push(ifthel); + diagram.objs.push(split); + diagram.objs.push(scicos_link({ + xx: new ScilabDouble([169], [214], [214]), + yy: new ScilabDouble([297], [297], [198.71]), + ct: new ScilabDouble([5, -1]), + from: new ScilabDouble([2, 1, 0]), + to: new ScilabDouble([1, 1, 1]) + })); + diagram.objs.push(scicos_link({ + xx: new ScilabDouble([161], [234], [234]), + yy: new ScilabDouble([340], [340], [275.78]), + ct: new ScilabDouble([5, -1]), + from: new ScilabDouble([4, 1, 0]), + to: new ScilabDouble([6, 1, 1]) + })); + diagram.objs.push(scicos_link({ + xx: new ScilabDouble([351], [351], [450]), + yy: new ScilabDouble([131.29], [93], [93]), + ct: new ScilabDouble([5, -1]), + from: new ScilabDouble([5, 1, 0]), + to: new ScilabDouble([3, 1, 1]) + })); + diagram.objs.push(scicos_link({ + xx: new ScilabDouble([262.57], [322.43]), + yy: new ScilabDouble([163], [167]), + ct: new ScilabDouble([1, 1]), + from: new ScilabDouble([1, 1, 0]), + to: new ScilabDouble([5, 1, 1]) + })); + diagram.objs.push(scicos_link({ + xx: new ScilabDouble([234], [234]), + yy: new ScilabDouble([275.78], [198.71]), + ct: new ScilabDouble([5, -1]), + from: new ScilabDouble([6, 1, 0]), + to: new ScilabDouble([1, 2, 1]) + })); + diagram.objs.push(scicos_link({ + xx: new ScilabDouble([234], [361], [361]), + yy: new ScilabDouble([275.78], [275.78], [202.71]), + ct: new ScilabDouble([5, -1]), + from: new ScilabDouble([6, 2, 0]), + to: new ScilabDouble([5, 1, 1]) + })); + this.x = scicos_block(); + this.x.gui = new ScilabString(["ANDBLK"]); + this.x.graphics.sz = new ScilabDouble([2, 2]); + this.x.graphics.gr_i = new ScilabDouble(); + this.x.graphics.pein = new ScilabDouble([0], [0]); + this.x.graphics.peout = new ScilabDouble([0]); + this.x.model.sim = new ScilabString(["csuper"]); + this.x.model.evtin = new ScilabDouble([1], [1]); + this.x.model.evtout = new ScilabDouble([1]); + this.x.model.blocktype = new ScilabString(["h"]); + this.x.model.firing = new ScilabBoolean([false]); + this.x.model.dep_ut = new ScilabBoolean([false, false]); + this.x.model.rpar = diagram; + return new BasicBlock(this.x); + } + ANDBLK.prototype.details = function ANDBLK() { + return this.x; + } + +} +function ANDLOG_f() { + + ANDLOG_f.prototype.internal = function ANDLOG_f() { + var model = scicos_model(); + model.sim = new ScilabString(["andlog"]); + model.out = new ScilabDouble([1]); + model.out2 = new ScilabDouble([1]); // null -> 1 + model.evtin = new ScilabDouble([-1], [-1]); // 1, 1 -> -1, -1 + model.blocktype = new ScilabString(["d"]); + model.firing = new ScilabDouble(); + model.dep_ut = new ScilabBoolean([false, false]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"ANDLOG_f\",sz(1),sz(2));"]); + var block = new standard_define(new ScilabDouble([80, 80]), model, new ScilabDouble(), gr_i); // 3 -> 80 + + // Style + block.graphics.out_implicit = new ScilabString(["E"]); + // changed + block.graphics.out_label = new ScilabString([""]); + block.graphics.out_style = new ScilabString(["ExplicitOutputPort;align=right;verticalAlign=middle;spacing=10.0;rotation=0"]); + block.graphics.style = new ScilabString(["ANDLOG_f"]); + return block; + } + + ANDLOG_f.prototype.define = function ANDLOG() { + var model = scicos_model(); + model.sim = new ScilabString(["andlog"]); + model.out = new ScilabDouble([1]); + model.out2 = new ScilabDouble([1]); // null -> 1 + model.evtin = new ScilabDouble([-1], [-1]); // 1, 1 -> -1, -1 + model.blocktype = new ScilabString(["d"]); + model.firing = new ScilabDouble(); + model.dep_ut = new ScilabBoolean([false, false]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"ANDLOG_f\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([80, 80]), model, new ScilabDouble(), gr_i); // 3 -> 80 + + // Style + this.x.graphics.out_implicit = new ScilabString(["E"]); + // changed + this.x.graphics.out_label = new ScilabString([""]); + this.x.graphics.out_style = new ScilabString(["ExplicitOutputPort;align=right;verticalAlign=middle;spacing=10.0;rotation=0"]); + this.x.graphics.style = new ScilabString(["ANDLOG_f"]); + return new BasicBlock(this.x); + } + + ANDLOG_f.prototype.details = function ANDLOG() { + return this.x; + } +} +function AUTOMAT() { + + AUTOMAT.prototype.define = function AUTOMAT() { + this.NMode = 2; + this.Minitial = 1; + this.NX = 1; + this.X0 = [0.0]; + this.XP = [[1],[1]]; + this.C1 = [2]; + this.C2 = [1]; + + var exprs = new ScilabString([this.NMode.toString()], [this.Minitial.toString()], [this.NX.toString()], [sci2exp(this.X0)], [sci2exp(this.XP)], [sci2exp(this.C1)], [sci2exp(this.C2)]); + var ipar = new ScilabDouble([this.NMode], [this.Minitial], [this.NX], ...this.XP, this.C1, this.C2); + var rpar = new ScilabDouble(this.X0); + + var model = scicos_model(); + model.sim = list(new ScilabString(["automat"]), new ScilabDouble([10004])); + model.in = new ScilabDouble([2 * this.NX + 1], [2 * this.NX + 1]); + model.out = new ScilabDouble([2], [2 * this.NX]); + model.state = new ScilabDouble(...ones(2 * this.NX, 1)); + model.nzcross = new ScilabDouble([1]); + model.blocktype = new ScilabString(["c"]); + model.evtout = new ScilabDouble([1]); + model.firing = new ScilabDouble([-1]); + model.dep_ut = new ScilabBoolean([false, true]); + model.ipar = ipar; + model.rpar = rpar; + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"AUTOMAT\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([4, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + + } + + AUTOMAT.prototype.details = function AUTOMAT() { + return this.x; + } +} +function Bache() { + + Bache.prototype.define = function Bache() { + this.in1 = 2; + this.out = 3; + + var model = scicos_model(); + model.in = new ScilabDouble(math.transpose(math.range(-1, -this.in1, -1, true))); + model.out = new ScilabDouble(math.transpose(math.range(-1, -this.out, -1, true))); + + this.Patm = 1.013E5; + this.A = 1; + this.ze1 = 40; + this.ze2 = 0; + this.zs1 = 40; + this.zs2 = 0; + this.z0 = 30; + this.T0 = 290; + this.p_rho = 0; + + model.rpar = new ScilabDouble([this.Patm], [this.A], [this.ze1], [this.ze2], [this.zs1], [this.zs2], [this.z0], [this.T0], [this.p_rho]); + model.sim = new ScilabString(["Bache"]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var mo = modelica(); + mo.model = new ScilabString(["Bache"]); + mo.inputs = new ScilabString(["Ce1", "Ce2"]); + mo.outputs = new ScilabString(["Cs1", "Cs2", "yNiveau"]); + mo.parameters = list(new ScilabString(["Patm"], ["A"], ["ze1"], ["ze2"], ["zs1"], ["zs2"], ["z0"], ["T0"], ["p_rho"]), new ScilabDouble([this.Patm], [this.A], [this.ze1], [this.ze2], [this.zs1], [this.zs2], [this.z0], [this.T0], [this.p_rho])); + model.equations = mo; + model.in = new ScilabDouble(...ones(size(getData(mo.inputs), '*'), 1)); + model.out = new ScilabDouble(...ones(size(getData(mo.outputs), '*'), 1)); + + var exprs = new ScilabString([this.Patm.toString()], [this.A.toString()], [this.ze1.toString()], [this.ze2.toString()], [this.zs1.toString()], [this.zs2.toString()], [this.z0.toString()], [this.T0.toString()], [this.p_rho.toString()]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"Bache\",sz(1),sz(2));"]); + this.x = new standard_define([2, 2], model, exprs, list(gr_i, 0)); + this.x.graphics.in_implicit = new ScilabString(["I"], ["I"]); + this.x.graphics.out_implicit = new ScilabString(["I"], ["I"], ["E"]); + return new BasicBlock(this.x); + } + Bache.prototype.details = function Bache() { + return this.x; + } +} +function BACKLASH() { + BACKLASH.prototype.define = function BACKLASH() { + + var exprs = new ScilabString(["0"], ["1"], ["1"]); + var model = scicos_model(); + model.sim = list(new ScilabString(["backlash"]), new ScilabDouble([4])); + model.in = new ScilabDouble([1]); + model.out = new ScilabDouble([1]); + model.rpar = new ScilabDouble([0], [1]); + model.nzcross = new ScilabDouble([2]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"BACKLASH\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([3, 2]), model, exprs, gr_i); + return new BasicBlock(this.x) + } + BACKLASH.prototype.details = function BACKLASH() { + return this.x; + } +} +function BARXY() { + + BARXY.prototype.define = function BARXY() { + + var model = scicos_model(); + this.xmin = -15; + this.xmax = 15; + this.ymin = -15; + this.ymax = 15; + + model.sim = list(new ScilabString(["BARXY_sim"]), new ScilabDouble([5])); + model.blocktype = new ScilabString(["d"]); + model.dep_ut = new ScilabBoolean([true, false]); + model.in = new ScilabDouble([-1], [-1]); + model.intyp = new ScilabDouble([1]); + model.out = new ScilabDouble(); + model.evtin = new ScilabDouble([1]); + model.rpar = new ScilabDouble([xmin], [xmax], [ymin], [ymax]); + model.ipar = new ScilabDouble([1]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, [], []); + this.x.graphics.in_implicit = new ScilabString(["E", , "E"]); + this.x.graphics.out_implicit = new ScilabDouble(); + this.x.graphics.exprs = new ScilabString(["-15"], ["15"], ["-15"], ["15"], ["1"]); + return new BasicBlock(this.x); + } + BARXY.prototype.details = function BARXY() { + return this.x; + } + +} +function BIGSOM_f() { + + BIGSOM_f.prototype.define = function BIGSOM_f() { + this.sgn = [[1],[1]]; + + var model = scicos_model(); + model.sim = list(new ScilabString(["sum"]), new ScilabDouble([2])); + model.in = new ScilabDouble([-1], [-1]); + model.out = new ScilabDouble([-1]); + model.rpar = new ScilabDouble(...this.sgn); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var exprs = new ScilabString([sci2exp(this.sgn)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"BIGSOM_f\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 3]), model, exprs, gr_i); + this.x.graphics.style = new ScilabString(["BIGSOM_f"]); + return new BigSom(this.x); + } + BIGSOM_f.prototype.details = function BIGSOM_f() { + return this.x; + } +} +function BITCLEAR() { + BITCLEAR.prototype.define = function BITCLEAR() { + var model = scicos_model(); + model.sim = list(new ScilabString(["bit_clear_32"]), new ScilabDouble([4])); + model.in = new ScilabDouble([1]); + model.in2 = new ScilabDouble([1]); + model.out = new ScilabDouble([1]); + model.out2 = new ScilabDouble([1]); + model.intyp = new ScilabDouble([3]); + model.outtyp = new ScilabDouble([3]); + model.opar = list(int32([0])); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var exprs = new ScilabString([sci2exp(3)], [sci2exp(0)]); + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"BITCLEAR\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([4, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + BITCLEAR.prototype.details = function BITCLEAR() { + return this.x; + } +} +function BITSET() { + + BITSET.prototype.define = function BITSET() { + var model = scicos_model(); + model.sim = list(new ScilabString(["bit_set_32"]), new ScilabDouble([4])); + model.in = new ScilabDouble([1]); + model.in2 = new ScilabDouble([1]); + model.out = new ScilabDouble([1]); + model.out2 = new ScilabDouble([1]); + model.intyp = new ScilabDouble([3]); + model.outtyp = new ScilabDouble([3]); + model.opar = list(uint32([0])); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var exprs = new ScilabString([sci2exp(3)], [sci2exp(0)]); + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"BITSET\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([4, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + BITSET.prototype.details = function BITSET() { + return this.x; + } +} +function BOUNCE() { + + BOUNCE.prototype.define = function BOUNCE() { + this.n = 2; + + this.k = 0; + this.ipar = []; + + for (var i = 1; i <= this.n; i++) { + for (var j = i + 1; j <= this.n; j++) { + this.ipar[this.k] = [i]; + this.k++; + this.ipar[this.k] = [j]; + this.k++; + } + } + + this.walls = [[0],[5],[0],[5]]; + this.x1 = [[2],[2.5]]; + this.xd = [[0],[0]]; + this.y1 = [[3],[5]]; + this.yd = [[0],[0]]; + this.g = 9.81; + this.C = 0; + this.rpar1 = ones(this.n, 1); + this.rpar2 = this.rpar1; + this.state = [...math.transpose(this.x1), ...math.transpose(this.xd), ...math.transpose(this.y1), ...math.transpose(this.yd)]; + + var model = scicos_model(); + model.sim = list(new ScilabString(["bounce_ball"]), new ScilabDouble([4])); + model.in = new ScilabDouble(); + model.out = new ScilabDouble([this.n], [this.n]); + model.state = new ScilabDouble(...colon_operator(this.state)); + model.rpar = new ScilabDouble(...this.rpar1, ...this.rpar2, ...this.walls, [this.g], [this.C]); + model.ipar = new ScilabDouble(...this.ipar); + model.nzcross = new ScilabDouble([this.n * (this.n - 1) / 2 + 4 * this.n]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([false, true]); + + var exprs = new ScilabString([sci2exp(this.rpar1)], [sci2exp(this.rpar2)], [sci2exp(this.walls)], [sci2exp(this.x1)], [sci2exp(this.xd)], [sci2exp(this.y1)], [sci2exp(this.yd)]); + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"BOUNCE\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([3, 2]), model, exprs, gr_i); + + return new BasicBlock(this.x); + } + + BOUNCE.prototype.details = function BOUNCE() { + + return this.x; + } +} +function BOUNCEXY() { + + BOUNCEXY.prototype.define = function BOUNCEXY() { + this.win = -1; + this.imode = 1; + this.clrs = [[1],[2]]; + this.siz = [[1],[1]]; + this.xmin = -5; + this.xmax = 5; + this.ymin = 0; + this.ymax = 15; + + var model = scicos_model(); + model.sim = list(new ScilabString(["bouncexy"]), new ScilabDouble([4])); + model.in = new ScilabDouble([-1], [-1]); + model.in2 = new ScilabDouble([1], [1]); + model.intyp = new ScilabDouble([1], [1]); + model.evtin = new ScilabDouble([1]); + + + this.z = []; + + for (var i = 0; i < size(this.clrs, "*"); i++) { + this.z[6 * (i) + 0] = [0]; + this.z[6 * (i) + 1] = [0]; + this.z[6 * (i) + 2] = [2 * this.siz[i]]; + this.z[6 * (i) + 3] = [2 * this.siz[i]]; + this.z[6 * (i) + 4] = [0.000]; + this.z[6 * (i) + 5] = [64.0 * 360.000]; + + } + + model.dstate = new ScilabDouble(...this.z); + model.rpar = new ScilabDouble([this.xmin], [this.xmax], [this.ymin], [this.ymax]); + model.ipar = new ScilabDouble([this.win], [this.imode], ...colon_operator(this.clrs)); + model.blocktype = new ScilabString("d"); + model.firing = new ScilabDouble(); + model.dep_ut = new ScilabBoolean([false, false]); + + var exprs = new ScilabString([sci2exp(this.clrs)], [sci2exp(this.siz)], [sci2exp(this.win)], [sci2exp(1)], [sci2exp(this.xmin)], [sci2exp(this.xmax)], [sci2exp(this.ymin)], [sci2exp(this.ymax)]); + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"BOUNCEXY\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + + BOUNCEXY.prototype.details = function BOUNCEXY() { + + return this.x; + } +}function BPLATFORM() { + + BPLATFORM.prototype.define = function BPLATFORM() { + + this.plen = 2; + this.csiz = 2; + this.phi = 0; + this.xmin = -5; + this.xmax = 5; + this.ymin = 0; + this.ymax = 15; + + var model = scicos_model(); + model.sim = list(new ScilabString(["bplatform2"]), new ScilabDouble([5])); + model.in = new ScilabDouble([1], [1]); + model.evtin = new ScilabDouble([1]); + model.dstate = new ScilabDouble([0]); + model.rpar = new ScilabDouble([this.plen], [this.csiz], [this.phi], [this.xmin], [this.xmax], [this.ymin], [this.ymax]); + model.blocktype = new ScilabString(["d"]); + model.dep_ut = new ScilabBoolean([false, false]); + + var exprs = new ScilabString([this.plen], [this.csiz], [this.phi], [this.xmin], [this.xmax], [this.ymin], [this.ymax]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"BPLATFORM\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + + BPLATFORM.prototype.details = function BPLATFORM() { + + return this.x; + } + +} +function CANIMXY() { + + CANIMXY.prototype.define = function CANIMXY() { + this.win = -1; + this.clrs = -4; + this.N = 2; + this.siz = 1; + this.wpos = [[-1],[-1]]; + this.wdim = [[-1],[-1]]; + this.xmin = -15; + this.xmax = 15; + this.ymin = -15; + this.ymax = 15; + this.nbr_curves = 1; + + var model = scicos_model(); + model.sim = list(new ScilabString(["canimxy"]), new ScilabDouble([4])); + model.in = new ScilabDouble([1], [1]); + model.in2 = new ScilabDouble([1], [1]); + model.intyp = new ScilabDouble([1], [1]); + model.evtin = new ScilabDouble([1]); + model.rpar = new ScilabDouble([this.xmin], [this.xmax], [this.ymin], [this.ymax]); + model.ipar = new ScilabDouble([this.win], [1], [this.N], [this.clrs], [this.siz], [0], ...this.wpos, ...this.wdim, [this.nbr_curves]); + model.blocktype = new ScilabString(["d"]); + model.firing = new ScilabDouble(); + model.dep_ut = new ScilabBoolean([false, false]); + + var exprs = new ScilabString([this.nbr_curves], [this.clrs], [this.siz], [this.win], ["[]"], ["[]"], [this.xmin], [this.xmax], [this.ymin], [this.ymax], [this.N]); + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"CANIMXY\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + CANIMXY.prototype.details = function CANIMXY() { + return this.x; + } +} +function CANIMXY3D() { + + CANIMXY3D.prototype.define = function CANIMXY3D() { + + this.win = -1; + this.N = 2; + this.clrs = [[1],[2],[3],[4],[5],[6],[7],[13]]; + this.siz = [[1],[1],[1],[1],[1],[1],[1],[1]]; + this.wpos = [[-1],[-1]]; + this.wdim = [[-1],[-1]]; + this.param3ds = [[50],[280]]; + this.vec_x = [[-15],[15]]; + this.vec_y = [[-15],[15]]; + this.vec_z = [[-15],[15]]; + this.nbr_curves = 1; + + var model = scicos_model(); + model.sim = list(new ScilabString(["canimxy3d"]), new ScilabDouble([4])); + model.in = new ScilabDouble([1], [1], [1]); + model.evtin = new ScilabDouble([1]); + model.in2 = new ScilabDouble([1], [1], [1]); + model.intyp = new ScilabDouble([1], [1], [1]); + model.rpar = new ScilabDouble(...colon_operator(this.vec_x), ...colon_operator(this.vec_y), ...colon_operator(this.vec_z), ...colon_operator(this.param3ds)); + model.ipar = new ScilabDouble([this.win], [8], [this.N], ...colon_operator(this.clrs), ...colon_operator(this.siz), [8], ...colon_operator(this.wpos), ...colon_operator(this.wdim), [this.nbr_curves]); + model.blocktype = new ScilabString(["d"]); + model.firing = new ScilabDouble(); + model.dep_ut = new ScilabBoolean([false, false]); + + var exprs = new ScilabString([this.nbr_curves], [this.clrs.toString().replace(/,/g, " ")], [this.siz.toString().replace(/,/g, " ")], [this.win], ["[]"], ["[]"], [this.vec_x.toString().replace(/,/g, " ")], [this.vec_y.toString().replace(/,/g, " ")], [this.vec_z.toString().replace(/,/g, " ")], [this.param3ds.toString().replace(/,/g, " ")], [this.N]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"CANIMXY3D\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + + CANIMXY3D.prototype.details = function CANIMXY3D() { + + return this.x; + } + +} +function Capacitor() { + + Capacitor.prototype.define = function Capacitor() { + + var model = scicos_model(); + var C = 0.01, v = 0; + model.rpar = new ScilabDouble([C],[v]); + model.sim = new ScilabString(["Capacitor"]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var mo = modelica(); + mo.model = new ScilabString(["Capacitor"]); + mo.inputs = new ScilabString(["p"]); + mo.outputs = new ScilabString(["n"]); + mo.parameters = list(new ScilabString(["C", "v"]), list(new ScilabDouble([C]), new ScilabDouble([v])), new ScilabDouble([0, 1])); + model.equations = mo; + model.in = new ScilabDouble(...ones(size(getData(mo.inputs), "*"), 1)); + model.out = new ScilabDouble(...ones(size(getData(mo.outputs), "*"), 1)); + + var exprs = new ScilabString([C], [v]); + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"Capacitor\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 1.1]), model, exprs, list(gr_i, new ScilabDouble([0]))); + this.x.graphics.in_implicit = new ScilabString(["I"]); + this.x.graphics.out_implicit = new ScilabString(["I"]); + return new BasicBlock(this.x); + } + Capacitor.prototype.details = function Capacitor() { + return this.x; + } +} +function CBLOCK() { + + CBLOCK.prototype.define = function CBLOCK() { + this.in1 = 1; + this.out = 1; + this.clkin = []; + this.clkout = []; + this.x0 = []; + this.z0 = []; + this.typ = "c"; + this.auto = []; + this.rpar = []; + this.ipar = []; + this.funam = "toto"; + this.ng = 0; + + var model = scicos_model(); + model.sim = list(new ScilabString([" "]), new ScilabDouble([2004])); + model.in = new ScilabDouble([this.in1]); + model.out = new ScilabDouble([this.out]); + model.evtin = new ScilabDouble(); + model.evtout = new ScilabDouble(); + model.state = new ScilabDouble(); + model.dstate = new ScilabDouble(); + model.rpar = new ScilabDouble(); + model.ipar = new ScilabDouble(); + model.blocktype = new ScilabString([this.typ]); + model.firing = new ScilabDouble(); + model.dep_ut = new ScilabBoolean([true, false]); + model.nzcross = new ScilabDouble([this.ng]); + + var label = list(new ScilabString([this.funam], ["n"], [sci2exp(this.in1)], [sci2exp(this.out)], [sci2exp(this.clkin)], [sci2exp(this.clkout)], [sci2exp(this.x0)], [sci2exp(0)], [sci2exp(this.z0)], [sci2exp(this.rpar)], [sci2exp(this.ipar)], [sci2exp(this.auto)], ["y"], ["n"]), new ScilabDouble()); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"CBLOCK\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([4, 2]), model, label, gr_i); + return new BasicBlock(this.x) + } + + + CBLOCK.prototype.details = function CBLOCK() { + + return this.x; + } +} +function CBLOCK4() { + + CBLOCK4.prototype.define = function CBLOCK4() { + + this.funam = "toto"; + + var model = scicos_model(); + model.sim = list(new ScilabString([" "]), new ScilabDouble([2004])); + model.in = new ScilabDouble([1]); + model.in2 = new ScilabDouble([1]); + model.intyp = new ScilabDouble([1]); + model.out = new ScilabDouble([1]); + model.out2 = new ScilabDouble([1]); + model.outtyp = new ScilabDouble([1]); + model.dep_ut = new ScilabBoolean([true, false]); + + var label = list(new ScilabString([this.funam], ["n"], [sci2exp([parseFloat(...getData(model.in)), parseFloat(...getData(model.in2))])], [sci2exp(parseFloat(...getData(model.intyp)))], [sci2exp([parseFloat(...getData(model.out)), parseFloat(...getData(model.out2))])], [sci2exp(parseFloat(...getData(model.outtyp)))], [sci2exp(getData(model.evtin))], [sci2exp(getData(model.evtout))], [sci2exp(getData(model.state))], [sci2exp(getData(model.dstate))], [sci2exp(model.odstate)], [sci2exp(getData(model.rpar))], [sci2exp(getData(model.ipar))], [sci2exp(model.opar)], [sci2exp(parseFloat(...getData(model.nmode)))], [sci2exp(parseFloat(...getData(model.nzcross)))], [sci2exp(getData(model.firing))], ["y"], ["n"]), new ScilabDouble()); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"CBLOCK4\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([4, 2]), model, label, gr_i); + return new BasicBlock(this.x); + } + + CBLOCK4.prototype.details = function CBLOCK4() { + return this.x; + } +} +function CEVENTSCOPE() { + + CEVENTSCOPE.prototype.define = function CEVENTSCOPE() { + this.nclock = 1; + this.win = -1; + this.clrs = [[1],[3],[5],[7],[9],[11],[13],[15]]; + this.wdim = [[600],[400]]; + this.wpos = [[-1],[-1]]; + this.per = 30; + + var model = scicos_model(); + model.sim = list(new ScilabString(["cevscpe"]), new ScilabDouble([4])); + model.evtin = new ScilabDouble([1]); + model.rpar = new ScilabDouble([this.per]); + model.ipar = new ScilabDouble([this.win], [1], this.clrs[this.nclock - 1], ...this.wpos, ...this.wdim); + model.blocktype = new ScilabString(["d"]); + model.dep_ut = new ScilabBoolean([false, false]); + + var exprs = new ScilabString([sci2exp(this.nclock)], this.clrs[this.nclock - 1], [this.win], [sci2exp([])], [sci2exp(this.wdim)], [this.per]); + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"CEVENTSCOPE\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + CEVENTSCOPE.prototype.details = function CEVENTSCOPE() { + return this.x; + } +} +function CFSCOPE() { + + CFSCOPE.prototype.define = function CFSCOPE() { + this.win = -1; + this.wdim = [[600],[400]]; + this.wpos = [[-1],[-1]]; + this.clrs = [[1],[3],[5],[7],[9],[11],[13],[15]]; + this.N = 2; + this.ymin = -15; + this.ymax = 15; + this.per = 30; + + var model = scicos_model(); + model.sim = list(new ScilabString(["cfscope"]), new ScilabDouble([4])); + model.evtin = new ScilabDouble([1]); + model.rpar = new ScilabDouble([0], [this.ymin], [this.ymax], [this.per]); + model.ipar = new ScilabDouble([this.win], [1], [this.N], ...this.clrs, ...this.wpos, ...this.wdim, [1], [1]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + var exprs = new ScilabString([this.clrs.toString().replace(/,/g, " ")], [this.win], [sci2exp([])], [sci2exp(this.wdim)], [this.ymin], [this.ymax], [this.per], [this.N], [1]); + var gr_i = list(new ScilabString(["xstringb(orig(1),orig(2),\"CFSCOPE\",sz(1),sz(2));"]), new ScilabDouble([8])); + this.x = new standard_define(new ScilabDouble([80, 80]), model, exprs, gr_i); // 2 -> 80 + this.x.graphics.style = new ScilabString(["CFSCOPE"]); + return new BasicBlock(this.x); + } + CFSCOPE.prototype.details = function CFSCOPE() { + return this.x; + } +} +function CLINDUMMY_f() { + + CLINDUMMY_f.prototype.define = function CLINDUMMY_f() { + this.x0 = 0; + + var model = scicos_model(); + model.sim = list(new ScilabString(["cdummy"]), new ScilabDouble([4])); + model.state = new ScilabDouble([this.x0]); + model.blocktype = new ScilabString(["c"]); + model.firing = new ScilabDouble(); + model.dep_ut = new ScilabBoolean([false, true]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"CLINDUMMY_f\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([3, 2]), model, new ScilabDouble(), gr_i); + return new BasicBlock(this.x); + } + CLINDUMMY_f.prototype.details = function CLINDUMMY_f() { + return this.x; + } +} +function CLKFROM () { + + CLKFROM.prototype.define = function CLKFROM() { + var model = scicos_model(); + model.sim = new ScilabString(["clkfrom"]); + model.evtout = new ScilabDouble([1]); + model.opar=list(new ScilabString(["A"])); + model.blocktype = new ScilabString(["d"]); + model.firing = new ScilabDouble([-1]); + model.dep_ut = new ScilabBoolean([false,false]); + + var exprs = new ScilabString(["A"]); + this.x=new standard_define(new ScilabDouble([2,1]),model,exprs,new ScilabString([" "])); + this.x.graphics.id = new ScilabString(["From"]); + return new BasicBlock(this.x); + } + CLKFROM.prototype.details = function CLKFROM() { + return this.x; + } +} +function CLKGOTO() { + + CLKGOTO.prototype.define = function CLKGOTO() { + var model = scicos_model(); + model.sim = new ScilabString(["clkgoto"]); + model.evtin = new ScilabDouble([1]); + model.opar = list(new ScilabString(["A"])); + model.ipar = new ScilabDouble([1]); + model.blocktype = new ScilabString(["d"]); + model.firing = new ScilabDouble([-1]); + model.dep_ut = new ScilabBoolean([false, false]); + + var exprs = new ScilabString(["A"], [sci2exp(1)]); + this.x = new standard_define(new ScilabDouble([2, 1]), model, exprs, new ScilabString([" "])); + this.x.graphics.id = new ScilabString(["Goto"]); + return new BasicBlock(this.x); + } + + CLKGOTO.prototype.details = function CLKGOTO() { + return this.x; + } +} +function CLKGotoTagVisibility() { + + CLKGotoTagVisibility.prototype.define = function CLKGotoTagVisibility() { + var model = scicos_model(); + model.sim = new ScilabString(["clkgototagvisibility"]); + model.in1 = new ScilabDouble(); + model.in2 = new ScilabDouble(); + model.out = new ScilabDouble(); + model.out2 = new ScilabDouble(); + model.evtin = new ScilabDouble(); + model.intyp = new ScilabDouble([1]); + model.outtyp = new ScilabDouble([1]); + model.opar = list(new ScilabString(["A"])); + model.blocktype = new ScilabString(["c"]); + model.firing = new ScilabBoolean([false]); + model.dep_ut = new ScilabBoolean([false, false]); + + var exprs = new ScilabString(["A"]); + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"CLKGotoTagVisibility\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + + CLKGotoTagVisibility.prototype.details = function CLKGotoTagVisibility() { + return this.x; + } +} +function CLKINV_f() { + + CLKINV_f.prototype.define = function CLKINV_f() { + this.prt = 1; + + var model = scicos_model(); + model.sim = new ScilabString(["input"]); + model.evtout = new ScilabDouble([1]); + model.ipar = new ScilabDouble([this.prt]); + model.blocktype = new ScilabString(["d"]); + model.firing = new ScilabDouble([-1]); + model.dep_ut = new ScilabBoolean([false, false]); + + var exprs = new ScilabString([this.prt]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"CLKINV_f\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([1, 1]), model, exprs, gr_i); + return new EventInBlock(this.x); + } + CLKINV_f.prototype.internal = function CLKINV_f() { + this.prt = 1; + + var model = scicos_model(); + model.sim = new ScilabString(["input"]); + model.evtout = new ScilabDouble([1]); + model.ipar = new ScilabDouble([this.prt]); + model.blocktype = new ScilabString(["d"]); + model.firing = new ScilabDouble([-1]); + model.dep_ut = new ScilabBoolean([false, false]); + model.outtyp = new ScilabDouble(); + + var exprs = new ScilabString([this.prt]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"CLKINV_f\",sz(1),sz(2));"]); + var block = new standard_define(new ScilabDouble([1, 1]), model, exprs, gr_i); + block.graphics.style = new ScilabString(["CLKINV_f"]); + return block; + } + CLKINV_f.prototype.details = function CLKINV_f() { + return this.x; + } +} +function CLKOUTV_f() { + + CLKOUTV_f.prototype.define = function CLKOUTV_f() { + + this.prt = 1; + + var model = scicos_model(); + model.sim = new ScilabString(["output"]); + model.evtin = new ScilabDouble([1]); + model.ipar = new ScilabDouble([this.prt]); + model.blocktype = new ScilabString(["d"]); + model.firing = new ScilabDouble(); + model.dep_ut = new ScilabBoolean([false, false]); + + var exprs = new ScilabString([this.prt]); + this.x = new standard_define(new ScilabDouble([1, 1]), model, exprs, new ScilabString([" "])); + return new EventOutBlock(this.x); + } + + CLKOUTV_f.prototype.internal = function CLKOUTV_f() { + + this.prt = 1; + + var model = scicos_model(); + model.sim = new ScilabString(["output"]); + model.evtin = new ScilabDouble([1]); + model.ipar = new ScilabDouble([this.prt]); + model.blocktype = new ScilabString(["d"]); + model.firing = new ScilabDouble(); + model.dep_ut = new ScilabBoolean([false, false]); + model.outtyp = new ScilabDouble(); + var exprs = new ScilabString([this.prt]); + var block = new standard_define(new ScilabDouble([1, 1]), model, exprs, new ScilabString([" "])); + block.graphics.gr_i = list(new ScilabString(["xstringb(orig(1),orig(2),"CLKOUTV_f",sz(1),sz(2));"]), new ScilabDouble([8])); + block.graphics.style = new ScilabString(["CLKOUTV_f"]); + return block; + } + + CLKOUTV_f.prototype.details = function CLKOUTV_f() { + return this.x; + } +} +function CLKSOMV_f() { + + CLKSOMV_f.prototype.define = function CLKSOMV_f() { + var model = scicos_model(); + model.sim = new ScilabString(["sum"]); + model.evtin = new ScilabDouble([1], [1], [1]); + model.evtout = new ScilabDouble([1]); + model.blocktype = new ScilabString(["d"]); + model.firing = new ScilabDouble([-1]); + model.dep_ut = new ScilabBoolean([false, false]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"CLKSOMV_f\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, new ScilabDouble(), gr_i); + return new RoundBlock(this.x); + } + CLKSOMV_f.prototype.details = function CLKSOMV_f() { + return this.x; + } +} +function CLKSOM_f() { + + CLKSOM_f.prototype.internal = function CLKSOM_f() { + + var model = scicos_model(); + model.sim = new ScilabString(["sum"]); + model.evtin = new ScilabDouble([1], [1], [1]); + model.evtout = new ScilabDouble([1]); + model.blocktype = new ScilabString(["d"]); + model.firing = new ScilabDouble([-1]); + model.dep_ut = new ScilabBoolean([false, false]); + model.outtyp = new ScilabDouble(); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"CLKSOM_f\",sz(1),sz(2));"]); + var block = standard_define(new ScilabDouble([1, 1]), model, [], gr_i); + block.graphics.style = new ScilabString(["CLKSOM_f"]) + return block; + } +} +function CLOCK_c() { + CLOCK_c.prototype.define = function CLOCK_c() { + var evtdly = new EVTDLY_c().internal(); + evtdly.graphics.orig = new ScilabDouble([320, 232]); + evtdly.graphics.sz = new ScilabDouble([40, 40]); + evtdly.graphics.flip = new ScilabBoolean([true]); + evtdly.graphics.exprs = new ScilabString(["0.1"], ["0.1"]); + evtdly.graphics.pein = new ScilabDouble([6]); + evtdly.graphics.peout = new ScilabDouble([3]); + evtdly.model.rpar = new ScilabDouble([0.1], [0.1]); + evtdly.model.firing = new ScilabDouble([0.1]); + + evtdly.model.uid = new ScilabString([count]); // changed + evtdly.doc = list(new ScilabString([count++])); + evtdly.model.evtin = new ScilabDouble([-1]); + evtdly.model.evtout = new ScilabDouble([-1]); + evtdly.graphics.peout = new ScilabDouble([4]); + + var output_port = new CLKOUT_f().internal(); + output_port.graphics.orig = new ScilabDouble([399, 162]); + output_port.graphics.sz = new ScilabDouble([20, 20]); + output_port.graphics.flip = new ScilabBoolean([true]); + output_port.graphics.exprs = new ScilabString(["1"]); + output_port.graphics.pein = new ScilabDouble([5]); + output_port.model.ipar = new ScilabDouble([1]); + + output_port.model.uid = new ScilabString([count]); // changed + output_port.doc = list(new ScilabString([count++])); + + var split = new CLKSPLIT_f().internal(); + split.graphics.orig = new ScilabDouble([380.71066, 172]); + split.graphics.pein = new ScilabDouble([3]); + split.graphics.peout = new ScilabDouble([5], [6]); + split.model.uid = new ScilabString([count]); + split.doc = list(new ScilabString([count++])); + split.graphics.pein = new ScilabDouble([4]); // changed + + var diagram = scicos_diagram(); + diagram.objs.push(output_port); + diagram.objs.push(evtdly); + diagram.objs.push(split); + diagram.objs.push(scicos_link({ + xx: new ScilabDouble([340], [340], [380.71]), + yy: new ScilabDouble([226.29], [172], [172]), + ct: new ScilabDouble([5, -1]), + from: new ScilabDouble([2, 1, 0]), + to: new ScilabDouble([3, 1, 1]) + })); + diagram.objs.push(scicos_link({ + xx: new ScilabDouble([380.71], [399]), + yy: new ScilabDouble([172], [172]), + ct: new ScilabDouble([5, -1]), + from: new ScilabDouble([3, 1, 0]), + to: new ScilabDouble([1, 1, 1]) + })); + diagram.objs.push(scicos_link({ + xx: new ScilabDouble([380.71], [380.71], [340], [340]), + yy: new ScilabDouble([172], [302], [302], [277.71]), + ct: new ScilabDouble([5, -1]), + from: new ScilabDouble([3, 2, 0]), + to: new ScilabDouble([2, 1, 1]) + })); + this.x = scicos_block(); + this.x.gui = new ScilabString(["CLOCK_c"]); + this.x.graphics.sz = new ScilabDouble([2, 2]); + this.x.graphics.gr_i = new ScilabString([]); + this.x.graphics.peout = new ScilabDouble([0]); + this.x.model.sim = new ScilabString(["csuper"]); + this.x.model.evtout = new ScilabDouble([1]); + this.x.model.blocktype = new ScilabString(["h"]); + this.x.model.firing = new ScilabBoolean([false]); + this.x.model.dep_ut = new ScilabBoolean([false, false]); + this.x.model.rpar = diagram; + return new BasicBlock(this.x); + } + CLOCK_c.prototype.details = function CLOCK_c() { + return this.x; + } +} +function CLR() { + + CLR.prototype.define = function CLR() { + this.x0 = 0; + this.A = -1; + this.B = 1; + this.C = 1; + this.D = 0; + + var model = scicos_model(); + model.sim = list(new ScilabString(["csslti4"]), new ScilabDouble([4])); + model.in = new ScilabDouble([1]); + model.out = new ScilabDouble([1]); + model.state = new ScilabDouble([this.x0]); + model.rpar = new ScilabDouble([this.A], [this.B], [this.C], [this.D]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([false, true]); + + var exprs = new ScilabString(["1"], ["1+s"]); + var gr_i = []; + this.x = new standard_define(new ScilabDouble([3, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + CLR.prototype.details = function CLR() { + return this.x; + } +} +function CLSS() { + + CLSS.prototype.define = function CLSS() { + this.x0 = 0; + this.A = -1; + this.B = 1; + this.C = 1; + this.D = 0; + this.in1 = 1; + this.out = 1; + + var model = scicos_model(); + model.sim = list(new ScilabString(["csslti4"]), new ScilabDouble([4])); + model.in = new ScilabDouble([this.in1]); + model.out = new ScilabDouble([this.out]); + model.state = new ScilabDouble([this.x0]); + model.rpar = new ScilabDouble([this.A], [this.B], [this.C], [this.D]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([false, true]); + + var exprs = new ScilabString([this.A], [this.B], [this.C], [this.D], [this.x0]); + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"CLSS\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([4, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + + CLSS.prototype.details = function CLSS() { + return this.x; + } +} +function CMSCOPE() { + CMSCOPE.prototype.get = function CMSCOPE() { + + var options = { + in1: ["Input ports sizes", this.in1.toString().replace(/,/g, " ")], + clrs: ["Drawing colors (>0) or mark (<0)", this.clrs.toString().replace(/,/g, " ")], + win: ["Output window number (-1 for automatic)", this.win], + wpos: ["Output window position", sci2exp([])], + wdim: ["Output window sizes", sci2exp([])], + ymin: ["Ymin vector", this.ymin.toString().replace(/,/g, " ")], + ymax: ["Ymax vector", this.ymax.toString().replace(/,/g, " ")], + per: ["Refresh period", this.per.toString().replace(/,/g, " ")], + N: ["Buffer size", this.N], + heritance: ["Accept herited events 0/1", 0], + nom: ["Name of Scope (label&Id)", ""] + }; + return options; + } + CMSCOPE.prototype.set = function CMSCOPE() { + this.in1 = inverse(arguments[0]["in1"]); + this.clrs = inverse(arguments[0]["clrs"]); + this.win = parseInt((arguments[0]["win"])); + this.ymin = inverse(arguments[0]["ymin"]); + this.ymax = inverse(arguments[0]["ymax"]); + this.per = inverse(arguments[0]["per"]); + this.N = parseInt((arguments[0]["N"])); + this.heritance = parseInt((arguments[0]["heritance"])); + this.nom = arguments[0]["nom"]; + this.yy = [...transpose(this.ymin), ...transpose(this.ymax)]; + this.period = transpose(this.per); + this.x.model.ipar = new ScilabDouble([this.win], [this.in1.length], [this.N], ...this.wpos, ...this.wdim, ...this.in1, this.clrs[0], this.clrs[1],[this.heritance]); + this.x.model.label = new ScilabString([this.nom]); + this.x.model.evtin = new ScilabDouble(...ones(1-this.heritance,1)); + this.x.graphics.id = new ScilabString([this.nom]); + this.x.model.rpar = new ScilabDouble([0], ...colon_operator(this.period), ...colon_operator(this.yy)); + this.x.graphics.exprs = new ScilabString([this.in1.toString().replace(/,/g, " ")], [this.clrs.toString().replace(/,/g, " ")], [this.win], [sci2exp([])], [sci2exp([])], [this.ymin.toString().replace(/,/g, " ")], [this.ymax.toString().replace(/,/g, " ")], [this.per.toString().replace(/,/g, " ")], [this.N], [0], [""]); + return new BasicBlock(this.x); + } + CMSCOPE.prototype.define = function CMSCOPE() { + this.win = -1; + this.in1 = [[1],[1]]; + this.wdim = [[-1],[-1]]; + this.wpos = [[-1],[-1]]; + this.clrs = [[1],[3],[5],[7],[9],[11],[13],[15]]; + this.N = 20; + this.ymin = [[-1],[-5]]; + this.ymax = [[1],[5]]; + this.per = [[30],[30]]; + this.yy = [...transpose(this.ymin), ...transpose(this.ymax)]; + this.period = transpose(this.per); + + + var model = scicos_model(); + model.sim = list(new ScilabString(["cmscope"]), new ScilabDouble([4])); + model.in = new ScilabDouble(...this.in1); + model.in2 = new ScilabDouble([1], [1]); + model.intyp = new ScilabDouble([1], [1]); + model.evtin = new ScilabDouble([1]); + model.rpar = new ScilabDouble([0], ...colon_operator(this.period), ...colon_operator(this.yy)); + model.ipar = new ScilabDouble([this.win], [this.in1.length], [this.N], ...this.wpos, ...this.wdim, ...this.in1, this.clrs[0], this.clrs[1]); + + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + var exprs = new ScilabString([this.in1.toString().replace(/,/g, " ")], [this.clrs.toString().replace(/,/g, " ")], [this.win], [sci2exp([])], [sci2exp([])], [this.ymin.toString().replace(/,/g, " ")], [this.ymax.toString().replace(/,/g, " ")], [this.per.toString().replace(/,/g, " ")], [this.N], [0], [""]); + var gr_i = list(new ScilabString(["xstringb(orig(1),orig(2),\"CMSCOPE\",sz(1),sz(2));"]), new ScilabDouble([8])); + this.x = new standard_define(new ScilabDouble([80, 80]), model, exprs, gr_i); // 2 -> 80 + this.x.graphics.style = new ScilabString(["CMSCOPE"]); + return new BasicBlock(this.x); + } + CMSCOPE.prototype.details = function CMSCOPE() { + return this.x; + } +} +function CONST() { + + + CONST.prototype.define = function CONST() { + + this.C = 1; + + var model = scicos_model(); + model.sim = list(new ScilabString(["cstblk4"]), new ScilabDouble([4])); + model.in = new ScilabDouble(); + model.out = new ScilabDouble([1]); + model.rpar = new ScilabDouble([this.C]); + model.blocktype = new ScilabString(["d"]); + model.dep_ut = new ScilabBoolean([false, false]); + + var exprs = new ScilabString([sci2exp(this.C)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"CONST\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + + CONST.prototype.details = function CONST() { + return this.x; + } +} +function ConstantVoltage() { + + ConstantVoltage.prototype.define = function ConstantVoltage() { + this.V = 0.01; + + var model = scicos_model(); + model.rpar = new ScilabDouble([this.V]); + model.in = new ScilabDouble([1]); + model.out = new ScilabDouble([1]); + model.sim = new ScilabString(["ConstantVoltage"]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([false, false]); + + var mo = modelica(); + mo.model = new ScilabString(["ConstantVoltage"]); + mo.inputs = new ScilabString(["p"]); + mo.outputs = new ScilabString(["n"]); + mo.parameters = list(new ScilabString(["V"]), list(new ScilabDouble([this.V]))); + model.equations = mo; + + var exprs = new ScilabString([this.V]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"ConstantVoltage\",sz(1),sz(2));"]); + this.x = standard_define([1.5, 1.1], model, exprs, list(gr_i, new ScilabDouble([0]))); + this.x.graphics.in_implicit = new ScilabString(["I"]); + this.x.graphics.out_implicit = new ScilabString(["I"]); + return new BasicBlock(this.x); + } + ConstantVoltage.prototype.details = function ConstantVoltage() { + return this.x; + } +} +function CONSTRAINT2_c() { + + CONSTRAINT2_c.prototype.define = function CONSTRAINT2_c() { + this.x0 = 0; + this.xd0 = 0; + this.id = 0; + + var model = scicos_model(); + model.sim = list(new ScilabString(["constraint_c"]), new ScilabDouble([10004])); + model.in = new ScilabDouble([1]); + model.out = new ScilabDouble([1], [1]); + model.state = new ScilabDouble([this.x0], [this.xd0]); + model.ipar = new ScilabDouble([this.id]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([false, true]); + + var exprs = list(new ScilabString([sci2exp(this.x0)]), new ScilabString([sci2exp(this.xd0)]), new ScilabString([sci2exp(this.id)])); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"CONSTRAINT2_c\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([3, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + CONSTRAINT2_c.prototype.details = function CONSTRAINT2_c() { + return this.x; + } +} + +function CONSTRAINT_c() { + + CONSTRAINT_c.prototype.define = function CONSTRAINT_c() { + + this.x0 = [[0],[0]]; + + var model = scicos_model(); + model.sim = list(new ScilabString(["constraint_c"]), new ScilabDouble([10004])); + model.in = new ScilabDouble([1]); + model.out = new ScilabDouble([1]); + model.ipar = new ScilabDouble([0]); + model.state = new ScilabDouble(...this.x0); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([false, true]); + + var exprs = new ScilabString([0]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"CONSTRAINT_c\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([3, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + CONSTRAINT_c.prototype.details = function CONSTRAINT_c() { + return this.x; + } +} +function CONST_f() { + + CONST_f.prototype.define = function CONST_f() { + this.C = 1; + + var model = scicos_model(); + model.sim = list(new ScilabString(["cstblk"]), new ScilabDouble([1])); + model.in = new ScilabDouble(); + model.out = new ScilabDouble([1]); + model.rpar = new ScilabDouble([this.C]); + model.blocktype = new ScilabString(["d"]); + model.dep_ut = new ScilabBoolean([false, false]); + + var exprs = new ScilabString([sci2exp(this.C)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"CONST_f\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + + CONST_f.prototype.details = function CONST_f() { + + return this.x; + } +} +function CONST_m() { + CONST_m.prototype.get = function CONST_m() { + + var options = { + vec: ["Constant Value", this.c.toString()] + }; + return options; + } + CONST_m.prototype.set = function CONST_m() { + this.c = [parseInt(arguments[0]["vec"])]; + this.displayParameter = this.c; + this.x.model.sim = list(new ScilabString(["cstblk4_m"]), new ScilabDouble([4])); + this.x.model.opar = list(new ScilabDouble(this.c)); + this.x.model.rpar = new ScilabDouble(); + this.x.graphics.exprs = new ScilabString([sci2exp(this.c)]); + return new BasicBlock(this.x); + } + CONST_m.prototype.define = function CONST_m() { + this.c = [1]; + var model = new scicos_model(); + model.sim = list(new ScilabString(["cstblk4"]), new ScilabDouble([4])); + model.in = new ScilabDouble(); + model.out = new ScilabDouble([this.c.length]); + model.in2 = new ScilabDouble(); + model.out2 = new ScilabDouble([this.c.length]); + model.rpar = new ScilabDouble(this.c); + model.opar = list(); + model.blocktype = new ScilabString(["d"]); + this.displayParameter = [1]; + model.dep_ut = new ScilabBoolean([false, false]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"CONST_m\",sz(1),sz(2));"]); + var exprs = new ScilabString([sci2exp(this.c)]); + this.x = new standard_define(new ScilabDouble([80, 80]), model, exprs, gr_i); // 1 -> 80 + this.x.graphics.style = new ScilabString(["CONST_m"]); + return new BasicBlock(this.x); + } + CONST_m.prototype.details = function CONST_m() { + return this.x; + + } +} +function CONVERT() { + + CONVERT.prototype.define = function CONVERT() { + this.sgn = 2; + + var model = scicos_model(); + model.sim = list(new ScilabString(["convert"]), new ScilabDouble([4])); + model.in = new ScilabDouble([-1]); + model.out = new ScilabDouble([-1]); + model.in2 = new ScilabDouble([-2]); + model.out2 = new ScilabDouble([-2]); + model.intyp = new ScilabDouble([1]); + model.outtyp = new ScilabDouble([3]); + model.rpar = new ScilabDouble(); + model.ipar = new ScilabDouble([this.sgn]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var exprs = new ScilabString([sci2exp(1)], [sci2exp(3)], [sci2exp(0)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"CONVERT\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([3, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + + CONVERT.prototype.details = function CONVERT() { + return this.x; + + } + +} +function COSBLK_f () { + + COSBLK_f.prototype.define = function COSBLK_f() { + this.in1 = 1; + + var model = scicos_model(); + model.sim = new ScilabString(["cosblk"]); + model.in = new ScilabDouble([-1]); + model.out = new ScilabDouble([-1]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true,false]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"COSBLK_f\",sz(1),sz(2));"]); + this.x=new standard_define(new ScilabDouble([2,2]),model,new ScilabDouble(),gr_i); + return new BasicBlock(this.x); + } + COSBLK_f.prototype.details = function COSBLK_f() { + return this.x; + } +} +function Counter() { + + Counter.prototype.define = function Counter() { + this.minim = 0; + this.maxim = 2; + this.rule = 1; + + var model = scicos_model(); + model.sim = list(new ScilabString(["counter"]), new ScilabDouble([4])); + model.evtin = new ScilabDouble([1]); + model.out = new ScilabDouble([1]); + model.out2 = new ScilabDouble([1]); + model.dstate = new ScilabDouble([0]); + model.ipar = new ScilabDouble([this.rule], [this.maxim], [this.minim]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([false, false]); + + var exprs = new ScilabString([this.minim], [this.maxim], [this.rule]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"Counter\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([3, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + + Counter.prototype.details = function Counter() { + return this.x; + } +} +function CSCOPE() { + + CSCOPE.prototype.define = function CSCOPE() { + this.win = -1; + this.wdim = [[600],[400]]; + this.wpos = [[-1],[-1]]; + this.clrs = [[1],[3],[5],[7],[9],[11],[13],[15]]; + this.N = 20; + this.ymin = -15; + this.ymax = 15; + this.per = 30; + + var model = scicos_model(); + model.sim = list(new ScilabString(["cscope"]), new ScilabDouble([4])); + model.in = new ScilabDouble([-1]); + model.in2 = new ScilabDouble([1]); + model.evtin = new ScilabDouble([1]); + model.rpar = new ScilabDouble([0], [this.ymin], [this.ymax], [this.per]); + model.ipar = new ScilabDouble([this.win], [1], [this.N], ...this.clrs, ...this.wpos, ...this.wdim); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var exprs = new ScilabString([this.clrs.toString().replace(/,/g, " ")], [this.win], [sci2exp([])], [sci2exp(this.wdim)], [this.ymin], [this.ymax], [this.per], [this.N], [0], [""]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"CSCOPE\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + CSCOPE.prototype.details = function CSCOPE() { + return this.x; + } +} +function CSCOPXY() { + + CSCOPXY.prototype.define = function CSCOPXY() { + this.win = -1; + this.clrs = 4; + this.siz = 1; + this.wdim = [[600], [400]]; + this.wpos = [[-1], [-1]]; + this.N = 2; + this.xmin = -15; + this.xmax = 15; + this.ymin = -15; + this.ymax = 15; + this.nbr_curves = 1; + + var model = scicos_model(); + model.sim = list(new ScilabString(["cscopxy"]), new ScilabDouble([4])); + model.in = new ScilabDouble([1], [1]); + model.in2 = new ScilabDouble([1], [1]); + model.intyp = new ScilabDouble([1], [1]); + model.evtin = new ScilabDouble([1]); + model.rpar = new ScilabDouble([this.xmin], [this.xmax], [this.ymin], [this.ymax]); + model.ipar = new ScilabDouble([this.win], [1], [this.N], [this.clrs], [this.siz], [1], ...this.wpos, ...this.wdim, [this.nbr_curves]); + model.blocktype = new ScilabString(["d"]); + model.dep_ut = new ScilabBoolean([false, false]); + + var exprs = new ScilabString([this.nbr_curves], [sci2exp(this.clrs)], [sci2exp(this.siz)], [this.win], [sci2exp([])], [sci2exp(this.wdim)], [this.xmin], [this.xmax], [this.ymin], [this.ymax], [this.N]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"CSCOPE\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + CSCOPXY.prototype.details = function CSCOPXY() { + return this.x; + } +} + +function CSCOPXY3D() { + + CSCOPXY3D.prototype.define = function CSCOPXY3D() { + this.win = -1; + this.clrs = [[1],[2],[3],[4],[5],[6],[7],[13]]; + this.siz = [[1],[1],[1],[1],[1],[1],[1],[1]]; + this.wdim = [[600],[400]]; + this.wpos = [[-1],[-1]]; + this.N = 2; + this.param3ds = [[50],[280]]; + this.vec_x = [[-15],[15]]; + this.vec_y = [[-15],[15]]; + this.vec_z = [[-15],[15]]; + this.nbr_curves = 1; + + var model = scicos_model(); + model.sim = list(new ScilabString(["cscopxy3d"]), new ScilabDouble([4])); + model.in = new ScilabDouble([1], [1], [1]); + model.in2 = new ScilabDouble([1], [1], [1]); + model.intyp = new ScilabDouble([1], [1], [1]); + model.evtin = new ScilabDouble([1]); + model.rpar = new ScilabDouble(...this.vec_x, ...this.vec_y, ...this.vec_z, ...this.param3ds); + model.ipar = new ScilabDouble([this.win], [8], [this.N], ...this.clrs, ...this.siz, [8], ...this.wpos, ...this.wdim, [this.nbr_curves]); + model.blocktype = new ScilabString(["d"]); + model.dep_ut = new ScilabBoolean([false, false]); + + var exprs = new ScilabString([this.nbr_curves], [this.clrs.toString().replace(/,/g, " ")], [this.siz.toString().replace(/,/g, " ")], [this.win], [sci2exp([])], [sci2exp(this.wdim)], [this.vec_x.toString().replace(/,/g, " ")], [this.vec_y.toString().replace(/,/g, " ")], [this.vec_z.toString().replace(/,/g, " ")], [this.param3ds.toString().replace(/,/g, " ")], [this.N]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"CSCOPE\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + CSCOPXY3D.prototype.details = function CSCOPXY3D() { + return this.x; + } +} +function CUMSUM() { + + CUMSUM.prototype.define = function CUMSUM() { + var model = scicos_model(); + + this.function_name = "cumsum_m"; + this.funtyp = 4; + + model.sim = list(new ScilabString([this.function_name]), new ScilabDouble([this.funtyp])); + model.in = new ScilabDouble([-1]); + model.in2 = new ScilabDouble([-2]); + model.intyp = new ScilabDouble([1]); + model.out = new ScilabDouble([-1]); + model.out2 = new ScilabDouble([-2]); + model.outtyp = new ScilabDouble([1]); + model.evtin = new ScilabDouble(); + model.evtout = new ScilabDouble(); + model.state = new ScilabDouble(); + model.dstate = new ScilabDouble(); + model.rpar = new ScilabDouble(); + model.ipar = new ScilabDouble(); + model.blocktype = new ScilabString(["c"]); + model.firing = new ScilabDouble(); + model.dep_ut = new ScilabBoolean([true, false]); + + var label = new ScilabString([sci2exp(1)], [sci2exp(0)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"CUMSUM\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([3, 2]), model, label, gr_i); + return new BasicBlock(this.x); + } + CUMSUM.prototype.details = function CUMSUM() { + return this.x; + } +} +function CurrentSensor() { + + CurrentSensor.prototype.define = function CurrentSensor() { + var model = scicos_model(); + model.in = new ScilabDouble([1]); + model.out = new ScilabDouble([1], [1]); + model.sim = new ScilabString(["CurrentSensor"]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var mo = modelica(); + mo.model = new ScilabString(["CurrentSensor"]); + mo.inputs = new ScilabString(["p"]); + mo.outputs = new ScilabString(["n"], ["i"]); + model.equations = mo; + + var exprs = new ScilabDouble(); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"CurrentSensor\",sz(1),sz(2));"]); + this.x = standard_define(new ScilabDouble([2, 2]), model, exprs, list(gr_i, new ScilabDouble([0]))); + this.x.graphics.in_implicit = new ScilabString(["I"]); + this.x.graphics.out_implicit = new ScilabString(["I"], ["E"]); + return new BasicBlock(this.x); + } + + CurrentSensor.prototype.details = function CurrentSensor() { + return this.x; + } +} +function CURV_f() { + + CURV_f.prototype.define = function CURV_f() { + this.xx = [[0],[1],[2]]; + this.yy = [[-5],[5],[0]]; + this.rect = [0,-5,2,5]; + this.axisdata = [[2],[10],[2],[10]]; + this.ipar = new ScilabDouble([size(this.xx, 1)], ...this.axisdata); + this.rpar = new ScilabDouble(...this.xx, ...this.yy, this.rect); + + var model = scicos_model(); + model.sim = new ScilabString(["intplt"]); + model.in = new ScilabDouble(); + model.out = new ScilabDouble([1]); + model.rpar = new ScilabDouble(...this.xx, ...this.yy, ...colon_operator([this.rect])); + model.ipar = new ScilabDouble([size(this.xx, 1)], ...this.axisdata); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([false, true]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"CURV_f\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, new ScilabDouble(), gr_i); + return new BasicBlock(this.x); + } + CURV_f.prototype.details = function CURV_f() { + return this.x; + } +} +function CVS() { + + CVS.prototype.define = function CVS() { + this.ModelName = "CVS"; + this.PrametersValue = new ScilabDouble(); + this.ParametersName = new ScilabDouble(); + var model = scicos_model(); + this.Typein = []; + this.Typeout = []; + this.MI = []; + this.MO = []; + this.P = [[2,50,1,0],[70,98,2,0],[70,2,-2,0]]; + this.PortName = [["vin"],["p"],["n"]]; + + for (var i = 0; i < size(this.P, "r"); i++) { + if (this.P[i][2] == 1) { + this.Typein.push(["E"]); + this.MI.push(this.PortName[i]); + } + + if (this.P[i][2] == 2) { + this.Typein.push(["I"]); + this.MI.push(this.PortName[i]); + } + if (this.P[i][2] == -1) { + this.Typeout.push(["E"]); + this.MO.push(this.PortName[i]); + } + if (this.P[i][2] == -2) { + this.Typeout.push(["I"]); + this.MO.push(this.PortName[i]); + } + } + + var mo = modelica(); + model.sim = new ScilabString([this.ModelName]); + mo.inputs = new ScilabString(...this.MI); + mo.outputs = new ScilabString(...this.MO); + model.rpar = this.PrametersValue; + mo.parameters = list(this.ParametersName, this.PrametersValue, new ScilabDouble(...zeros(getData(this.ParametersName)))); + var exprs = new ScilabDouble(); + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"CVS\",sz(1),sz(2));"]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([false, true]); + mo.model = new ScilabString([this.ModelName]); + model.equations = mo; + model.in = new ScilabDouble(...ones(size(this.MI, "*"), 1)); + model.out = new ScilabDouble(...ones(size(this.MO, "*"), 1)); + this.x = new standard_define(new ScilabDouble([2.1, 3]), model, exprs, list(new ScilabString([gr_i]), new ScilabDouble([0]))); + this.x.graphics.in_implicit = new ScilabDouble(this.Typein); + this.x.graphics.out_implicit = new ScilabDouble(this.Typeout); + return new BasicBlock(this.x); + } + + CVS.prototype.details = function CVS() { + return this.x; + } +} +function c_block() { + + c_block.prototype.define = function c_block() { + + this.in1 = 1; + this.out = 1; + this.rpar = []; + this.typ = "c"; + this.funam = "toto"; + + var model = scicos_model(); + model.sim = list(new ScilabString([" "]), new ScilabDouble([2001])); + model.in = new ScilabDouble([this.in1]); + model.out = new ScilabDouble([this.out]); + model.evtin = new ScilabDouble(); + model.evtout = new ScilabDouble(); + model.state = new ScilabDouble(); + model.dstate = new ScilabDouble(); + model.rpar = new ScilabDouble(); + model.ipar = new ScilabDouble([0]); + model.blocktype = new ScilabString([this.typ]); + model.firing = new ScilabDouble(); + model.dep_ut = new ScilabBoolean([true, false]); + + var label = list(new ScilabString([sci2exp(this.in1)], [sci2exp(this.out)], [sci2exp(this.rpar)], [this.funam]), list(new ScilabDouble())); + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"c_block\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([3, 2]), model, label, gr_i); + return new BasicBlock(this.x); + } + c_block.prototype.details = function c_block() { + + return this.x; + } +} +function DEADBAND() { + + DEADBAND.prototype.define = function DEADBAND() { + this.minp = -0.5; + this.maxp = 0.5; + this.rpar = new ScilabDouble([this.maxp], [this.minp]); + + var model = scicos_model(); + model.sim = list(new ScilabString(["deadband"]), new ScilabDouble([4])); + model.in = new ScilabDouble([1]); + model.nzcross = new ScilabDouble([2]); + model.nmode = new ScilabDouble([1]); + model.out = new ScilabDouble([1]); + model.rpar = this.rpar; + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var exprs = new ScilabString([this.maxp], [this.minp], [...getData(model.nmode).toString()]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"DEADBAND\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + DEADBAND.prototype.details = function DEADBAND() { + return this.x; + } +} +function DEBUG() { + + DEBUG.prototype.define = function DEBUG() { + var model = scicos_model(); + model.sim = list(new ScilabString(["%debug_scicos"]), new ScilabDouble([99])); + model.blocktype = new ScilabString(["d"]); + + var exprs = list(new ScilabString([""]), new ScilabString(["xcos_debug_gui(flag,block);"])); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"DEBUG\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([8, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + DEBUG.prototype.details = function DEBUG() { + return this.x; + } +} + +function DELAYV_f() { + + DELAYV_f.prototype.define = function DELAYV_f() { + this.nin = 1; + this.z0 = zeros(11, 1); + this.zz0 = math.subset(this.z0, math.index(math.range(0, math.size(this.z0)[0] - 1), 0)); + this.T = 1; + + var model = scicos_model(); + model.sim = list(new ScilabString(["delayv"]), new ScilabDouble([1])); + model.in = new ScilabDouble([this.nin], [1]); + model.out = new ScilabDouble([this.nin]); + model.evtin = new ScilabDouble([1]); + model.evtout = new ScilabDouble([1], [1]); + model.dstate = new ScilabDouble(...this.z0); + model.rpar = new ScilabDouble([this.T / (size(this.zz0, "*"))]); + model.blocktype = new ScilabString(["d"]); + model.firing = new ScilabDouble([0, -1]); + model.dep_ut = new ScilabBoolean([true, false]); + + var exprs = new ScilabString([this.nin], [this.zz0.toString().replace(/,/g, ";")], [this.T]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"DELAYV_f\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([3, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + DELAYV_f.prototype.details = function DELAYV_f() { + return this.x; + } +} + +function DELAY_f () { + + DELAY_f.prototype.define =function DELAY_f() { + var evtdly = new EVTDLY_f().internal(); + evtdly.graphics.orig = new ScilabDouble([243,296]); + evtdly.graphics.sz = new ScilabDouble([40,40]); + evtdly.graphics.flip = new ScilabBoolean([true]); + evtdly.graphics.exprs = new ScilabString(["0.1"],["0"]); + evtdly.graphics.pein = new ScilabDouble([10]); + evtdly.graphics.peout = new ScilabDouble([7]); + evtdly.model.rpar = new ScilabDouble([0.1]); + evtdly.model.firing = new ScilabDouble([0]); + evtdly.model.uid = new ScilabString([count]); // changed + evtdly.doc = list(new ScilabString([count++])); + evtdly.model.outtyp = new ScilabDouble(); + + var register = new REGISTER_f().internal(); + register.graphics.orig = new ScilabDouble([238,195]); + register.graphics.sz = new ScilabDouble([50,50]); + register.graphics.flip = new ScilabBoolean([true]); + register.graphics.exprs = new ScilabString(["0;0;0;0;0;0;0;0;0;0"]); + register.graphics.pin = new ScilabDouble([6]); + register.graphics.pout = new ScilabDouble([5]); + register.graphics.pein = new ScilabDouble([9]); + register.model.uid = new ScilabString([count]); // changed + register.doc = list(new ScilabString([count++])); + register.model.in2 = new ScilabDouble([1]); + register.model.intyp = new ScilabDouble([1]); + register.model.out2 = new ScilabDouble([1]); + + var input_port = new IN_f().internal(); + input_port.graphics.orig = new ScilabDouble([92,210]); + input_port.graphics.sz = new ScilabDouble([20,20]); + input_port.graphics.flip = new ScilabBoolean([true]); + input_port.graphics.exprs = new ScilabString(["1"],["1"]); + input_port.graphics.pout = new ScilabDouble([6]); + input_port.model.ipar = new ScilabDouble([1]); + input_port.model.uid = new ScilabString([count]); // changed + input_port.doc = list(new ScilabString([count++])); + input_port.model.outtyp = new ScilabDouble([-1]); + + var output_port = new OUT_f().internal(); + output_port.graphics.orig = new ScilabDouble([440,210]); + output_port.graphics.sz = new ScilabDouble([20,20]); + output_port.graphics.flip = new ScilabBoolean([true]); + output_port.graphics.exprs = new ScilabString(["1"],["1"]); + output_port.graphics.pin = new ScilabDouble([5]); + output_port.model.ipar = new ScilabDouble([1]); + output_port.model.uid = new ScilabString([count]); // changed + output_port.doc = list(new ScilabString([count++])); + output_port.model.outtyp = new ScilabDouble(); + + var split = new CLKSPLIT_f().internal(); + split.graphics.orig = new ScilabDouble([263,271.2]); + split.graphics.pein = new ScilabDouble([7]); + split.graphics.peout = new ScilabDouble([9],[10]); + split.model.uid = new ScilabString([count]); // changed + split.doc = list(new ScilabString([count++])); + + var diagram = scicos_diagram(); + diagram.objs.push(input_port); + diagram.objs.push(output_port); + diagram.objs.push(register); + diagram.objs.push(evtdly); + diagram.objs.push(split); + diagram.objs.push(scicos_link({ + xx: new ScilabDouble([296.6],[440]), + yy: new ScilabDouble([220],[220]), + from: new ScilabDouble([3,1,0]), + to: new ScilabDouble([2,1,1])})); + diagram.objs.push(scicos_link({ + xx: new ScilabDouble([112],[229.4]), + yy: new ScilabDouble([220],[220]), + from: new ScilabDouble([1,1,0]), + to: new ScilabDouble([3,1,1])})); + diagram.objs.push(scicos_link({ + xx: new ScilabDouble([263],[263]), + yy: new ScilabDouble([290.3],[271.2]), + ct: new ScilabDouble([5,-1]), + from: new ScilabDouble([4,1,0]), + to: new ScilabDouble([5,1,1])})); + diagram.objs.push(scicos_link({ + xx: new ScilabDouble([263],[263]), + yy: new ScilabDouble([271.2],[250.7]), + ct: new ScilabDouble([5,-1]), + from: new ScilabDouble([5,1,0]), + to: new ScilabDouble([3,1,1])})); + diagram.objs.push(scicos_link({ + xx: new ScilabDouble([263],[308.6],[308.6],[263],[263]), + yy: new ScilabDouble([271.2],[271.2],[367],[367],[341.7]), + ct: new ScilabDouble([5,-1]), + from: new ScilabDouble([5,2,0]), + to: new ScilabDouble([4,1,1])})); + + this.x=scicos_block(); + this.x.gui = new ScilabString(["DELAY_f"]); + this.x.graphics.sz = new ScilabDouble([2,2]); + this.x.graphics.gr_i = new ScilabDouble(); + this.x.graphics.pin = new ScilabDouble([0]); + this.x.graphics.pout = new ScilabDouble([0]); + this.x.model.sim = new ScilabString(["csuper"]); + this.x.model.in = new ScilabDouble([1]); + this.x.model.out = new ScilabDouble([1]); + this.x.model.blocktype = new ScilabString(["h"]); + this.x.model.dep_ut = new ScilabBoolean([false,false]); + this.x.model.rpar=diagram; + this.x.graphics.in_implicit = new ScilabString(["E"]); + this.x.graphics.in_style = new ScilabString([""]); + this.x.graphics.out_implicit = new ScilabString(["E"]); + this.x.graphics.out_style = new ScilabString([""]); + return new BasicBlock(this.x); + } + DELAY_f.prototype.details = function DELAY_f() { + return this.x; + } +} +function DEMUX() { + + DEMUX.prototype.define = function DEMUX() { + this.out = 2; + + var model = scicos_model(); + model.sim = list(new ScilabString(["multiplex"]), new ScilabDouble([4])); + model.in = new ScilabDouble([0]); + + var arr = []; + arr.push(math.range(-1, -this.out, -1, true)._data); + model.out = new ScilabDouble(...math.transpose(arr)); + model.ipar = new ScilabDouble([this.out]); + model.blocktype = new ScilabString(["c"]); + model.firing = new ScilabDouble(); + model.dep_ut = new ScilabBoolean([true, false]); + + var exprs = new ScilabString([this.out]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"DEMUX\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([.5, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + + DEMUX.prototype.details = function DEMUX() { + return this.x; + } +} +function DEMUX_f() { + + DEMUX_f.prototype.define = function DEMUX_f() { + this.out = 2; + var arr = []; + arr.push(math.range(-1, -this.out, -1, true)._data); + + var model = scicos_model(); + model.sim = list(new ScilabString(["demux"]), new ScilabDouble([1])); + model.in = new ScilabDouble([0]); + model.out = new ScilabDouble(...math.transpose(arr)); + model.ipar = new ScilabDouble([this.out]); + model.blocktype = new ScilabString(["c"]); + model.firing = new ScilabDouble(); + model.dep_ut = new ScilabBoolean([true, false]); + + var exprs = new ScilabString([this.out]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"DEMUX_f\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([.5, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + DEMUX_f.prototype.details = function DEMUX_f() { + return this.x; + } +} + +function DERIV() { + + DERIV.prototype.define = function DERIV() { + var model = scicos_model(); + model.sim = list(new ScilabString(["deriv"]), new ScilabDouble([4])); + model.in = new ScilabDouble([-1]); + model.out = new ScilabDouble([-1]); + model.blocktype = new ScilabString(["x"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var exprs = new ScilabDouble(); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"DERIV\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + DERIV.prototype.details = function DERIV() { + return this.x; + } +} +function DFLIPFLOP() { + + DFLIPFLOP.prototype.define = function DFLIPFLOP() { + var scs_m = scicos_diagram({ + version: new ScilabString(["scicos4.2"]), + props: scicos_params({ + wpar: new ScilabDouble([600, 450, 0, 0, 600, 450]), + Title: new ScilabString(["DFLIPFLOP"]), + tol: new ScilabDouble([0.0001], [0.000001], [Math.pow(10, -10)], [100001], [0], [0], [0]), + tf: new ScilabDouble([100000]), + context: new ScilabString([" "]), + void1: new ScilabDouble(), + options: tlist(["scsopt", "3D", "Background", "Link", "ID", "Cmap"], new ScilabString(["scsopt", "3D", "Background", "Link", "ID", "Cmap"]), list(new ScilabBoolean([true]), new ScilabDouble([33])), new ScilabDouble([8, 1]), new ScilabDouble([1, 5]), list(new ScilabDouble([5, 1]), new ScilabDouble([4, 1])), new ScilabDouble([0.8, 0.8, 0.8])), + void2: new ScilabDouble(), + void3: new ScilabDouble(), + doc: list() + }) + }); + scs_m.objs.push(scicos_block({ + gui: new ScilabString(["CONST_m"]), + graphics: scicos_graphics({ + orig: new ScilabDouble([109.62561, 263.44465]), + sz: new ScilabDouble([20], [20]), + flip: new ScilabBoolean([true]), + theta: new ScilabDouble([0]), + exprs: new ScilabString(["int8(0)"]), + pin: new ScilabDouble(), + pout: new ScilabDouble([6]), + pein: new ScilabDouble(), + peout: new ScilabDouble(), + gr_i: list(new ScilabString(["xstringb(orig(1),orig(2),"CONST_m",sz(1),sz(2));"]), new ScilabDouble([8])), + id: new ScilabString([""]), + in_implicit: new ScilabDouble(), + out_implicit: new ScilabString(["E"]), + out_style: new ScilabString(["ExplicitOutputPort;align=right;verticalAlign=middle;spacing=10.0;rotation=0"]), + out_label: new ScilabString([""]), + style: new ScilabString(["CONST_m"]) + }), + model: scicos_model({ + sim: list(new ScilabString(["cstblk4_m"]), new ScilabDouble([4])), + in: new ScilabDouble(), + in2: new ScilabDouble(), + intyp: new ScilabDouble(), + out: new ScilabDouble([1]), + out2: new ScilabDouble([1]), + outtyp: new ScilabDouble([5]), + evtin: new ScilabDouble(), + evtout: new ScilabDouble(), + state: new ScilabDouble(), + dstate: new ScilabDouble(), + odstate: list(), + rpar: new ScilabDouble(), + ipar: new ScilabDouble(), + opar: list(int8([0])), + blocktype: new ScilabString(["d"]), + firing: new ScilabDouble(), + dep_ut: new ScilabBoolean([false, false]), + label: new ScilabString([""]), + nzcross: new ScilabDouble([0]), + nmode: new ScilabDouble([0]), + equations: list(), + uid: new ScilabString([count]) + }), + doc: list(new ScilabString([count++])) + })); + scs_m.objs.push(scicos_block({ + gui: new ScilabString(["IFTHEL_f"]), + graphics: scicos_graphics({ + orig: new ScilabDouble([239.98293, 378.2166]), + sz: new ScilabDouble([60, 60]), + flip: new ScilabBoolean([true]), + theta: new ScilabDouble([0]), + exprs: new ScilabString(["1"], ["1"]), + pin: new ScilabDouble([29]), + pout: new ScilabDouble(), + pein: new ScilabDouble([22]), + peout: new ScilabDouble([16], [44]), + gr_i: list(new ScilabString(["xstringb(orig(1),orig(2),"IFTHEL_f",sz(1),sz(2));"]), new ScilabDouble([8])), + id: new ScilabString([""]), + in_implicit: new ScilabString(["E"]), + out_implicit: new ScilabDouble(), + in_style: new ScilabString(["ExplicitInputPort;align=left;verticalAlign=middle;spacing=10.0;rotation=0"]), + in_label: new ScilabString([""]), + style: new ScilabString(["IFTHEL_f"]) + }), + model: scicos_model({ + sim: list(new ScilabString(["ifthel"]), new ScilabDouble([-1])), + in: new ScilabDouble([1]), + in2: new ScilabDouble([1]), + intyp: new ScilabDouble([-1]), + out: new ScilabDouble(), + out2: new ScilabDouble(), + outtyp: new ScilabDouble([1]), + evtin: new ScilabDouble([1]), + evtout: new ScilabDouble([1], [1]), + state: new ScilabDouble(), + dstate: new ScilabDouble(), + odstate: list(), + rpar: new ScilabDouble(), + ipar: new ScilabDouble(), + opar: list(), + blocktype: new ScilabString(["l"]), + firing: new ScilabDouble([-1, -1]), + dep_ut: new ScilabBoolean([true, false]), + label: new ScilabString([""]), + nzcross: new ScilabDouble([1]), + nmode: new ScilabDouble([1]), + equations: list(), + uid: new ScilabString([count]) + }), + doc: list(new ScilabString([count++])) + })); + scs_m.objs.push(scicos_block({ + gui: new ScilabString(["LOGICAL_OP"]), + graphics: scicos_graphics({ + orig: new ScilabDouble([152.88902, 260.24498]), + sz: new ScilabDouble([60, 40]), + flip: new ScilabBoolean([true]), + theta: new ScilabDouble([0]), + exprs: new ScilabString(["2"], ["1"], ["5"], ["0"]), + pin: new ScilabDouble([11], [39]), + pout: new ScilabDouble([5]), + pein: new ScilabDouble(), + peout: new ScilabDouble(), + gr_i: list(new ScilabString(["xstringb(orig(1),orig(2),"LOGICAL_OP",sz(1),sz(2));"]), new ScilabDouble([8])), + id: new ScilabString([""]), + in_implicit: new ScilabString(["E"], ["E"]), + out_implicit: new ScilabString(["E"]), + in_style: new ScilabString(["ExplicitInputPort;align=left;verticalAlign=middle;spacing=10.0;rotation=0"], ["ExplicitInputPort;align=left;verticalAlign=middle;spacing=10.0;rotation=0"]), + out_style: new ScilabString(["ExplicitOutputPort;align=right;verticalAlign=middle;spacing=10.0;rotation=0"]), + in_label: new ScilabString([""], [""]), + out_label: new ScilabString([""]), + style: new ScilabString(["LOGICAL_OP"]) + }), + model: scicos_model({ + sim: list(new ScilabString(["logicalop_i8"]), new ScilabDouble([4])), + in: new ScilabDouble([-1], [-1]), + in2: new ScilabDouble([-2], [-2]), + intyp: new ScilabDouble([5], [5]), + out: new ScilabDouble([-1]), + out2: new ScilabDouble([-2]), + outtyp: new ScilabDouble([5]), + evtin: new ScilabDouble(), + evtout: new ScilabDouble(), + state: new ScilabDouble(), + dstate: new ScilabDouble(), + odstate: list(), + rpar: new ScilabDouble(), + ipar: new ScilabDouble([1], [0]), + opar: list(), + blocktype: new ScilabString(["c"]), + firing: new ScilabDouble(), + dep_ut: new ScilabBoolean([true, false]), + label: new ScilabString([""]), + nzcross: new ScilabDouble([0]), + nmode: new ScilabDouble([0]), + equations: list(), + uid: new ScilabString([count]) + }), + doc: list(new ScilabString([count++])) + })); + scs_m.objs.push(scicos_block({ + gui: new ScilabString(["SAMPHOLD_m"]), + graphics: scicos_graphics({ + orig: new ScilabDouble([233.72156, 260.24498]), + sz: new ScilabDouble([40, 40]), + flip: new ScilabBoolean([true]), + theta: new ScilabDouble([0]), + exprs: new ScilabString(["5"]), + pin: new ScilabDouble([5]), + pout: new ScilabDouble([33]), + pein: new ScilabDouble([42]), + peout: new ScilabDouble(), + gr_i: list(new ScilabString(["xstringb(orig(1),orig(2),"SAMPHOLD_m",sz(1),sz(2));"]), new ScilabDouble([8])), + id: new ScilabString([""]), + in_implicit: new ScilabString(["E"]), + out_implicit: new ScilabString(["E"]), + in_style: new ScilabString(["ExplicitInputPort;align=left;verticalAlign=middle;spacing=10.0;rotation=0"]), + out_style: new ScilabString(["ExplicitOutputPort;align=right;verticalAlign=middle;spacing=10.0;rotation=0"]), + in_label: new ScilabString([""]), + out_label: new ScilabString([""]), + style: new ScilabString(["SAMPHOLD_m"]) + }), + model: scicos_model({ + sim: list(new ScilabString(["samphold4_m"]), new ScilabDouble([4])), + in: new ScilabDouble([-1]), + in2: new ScilabDouble([-2]), + intyp: new ScilabDouble([5]), + out: new ScilabDouble([-1]), + out2: new ScilabDouble([-2]), + outtyp: new ScilabDouble([5]), + evtin: new ScilabDouble([1]), + evtout: new ScilabDouble(), + state: new ScilabDouble(), + dstate: new ScilabDouble(), + odstate: list(), + rpar: new ScilabDouble(), + ipar: new ScilabDouble(), + opar: list(), + blocktype: new ScilabString(["d"]), + firing: new ScilabDouble(), + dep_ut: new ScilabBoolean([true, false]), + label: new ScilabString([""]), + nzcross: new ScilabDouble([0]), + nmode: new ScilabDouble([0]), + equations: list(), + uid: new ScilabString([count]) + }), + doc: list(new ScilabString([count++])) + })); + scs_m.objs.push(scicos_link({ + xx: new ScilabDouble([221.46044], [225.15013]), + yy: new ScilabDouble([280.24498], [280.24498]), + id: new ScilabString(["drawlink"]), + thick: new ScilabDouble([0, 0]), + ct: new ScilabDouble([1, 1]), + from: new ScilabDouble([3, 1, 0]), + to: new ScilabDouble([4, 1, 1]) + })); + scs_m.objs.push(scicos_link({ + xx: new ScilabDouble([138.19704], [140.34523]), + yy: new ScilabDouble([273.44465], [273.49157]), + id: new ScilabString(["drawlink"]), + thick: new ScilabDouble([0, 0]), + ct: new ScilabDouble([1, 1]), + from: new ScilabDouble([1, 1, 0]), + to: new ScilabDouble([38, 1, 1]) + })); + scs_m.objs.push(scicos_block({ + gui: new ScilabString(["LOGICAL_OP"]), + graphics: scicos_graphics({ + orig: new ScilabDouble([373.24106, 309.46812]), + sz: new ScilabDouble([60, 40]), + flip: new ScilabBoolean([true]), + theta: new ScilabDouble([0]), + exprs: new ScilabString(["1"], ["5"], ["5"], ["0"]), + pin: new ScilabDouble([36]), + pout: new ScilabDouble([13]), + pein: new ScilabDouble(), + peout: new ScilabDouble(), + gr_i: list(new ScilabString(["xstringb(orig(1),orig(2),"LOGICAL_OP",sz(1),sz(2));"]), new ScilabDouble([8])), + id: new ScilabString([""]), + in_implicit: new ScilabString(["E"]), + out_implicit: new ScilabString(["E"]), + in_style: new ScilabString(["ExplicitInputPort;align=left;verticalAlign=middle;spacing=10.0;rotation=0"]), + out_style: new ScilabString(["ExplicitOutputPort;align=right;verticalAlign=middle;spacing=10.0;rotation=0"]), + in_label: new ScilabString([""]), + out_label: new ScilabString([""]), + style: new ScilabString(["LOGICAL_OP"]) + }), + model: scicos_model({ + sim: list(new ScilabString(["logicalop_i8"]), new ScilabDouble([4])), + in: new ScilabDouble([-1]), + in2: new ScilabDouble([-2]), + intyp: new ScilabDouble([5]), + out: new ScilabDouble([-1]), + out2: new ScilabDouble([-2]), + outtyp: new ScilabDouble([5]), + evtin: new ScilabDouble(), + evtout: new ScilabDouble(), + state: new ScilabDouble(), + dstate: new ScilabDouble(), + odstate: list(), + rpar: new ScilabDouble(), + ipar: new ScilabDouble([5], [0]), + opar: list(), + blocktype: new ScilabString(["c"]), + firing: new ScilabDouble(), + dep_ut: new ScilabBoolean([true, false]), + label: new ScilabString([""]), + nzcross: new ScilabDouble([0]), + nmode: new ScilabDouble([0]), + equations: list(), + uid: new ScilabString([count]) + }), + doc: list(new ScilabString([count++])) + })); + scs_m.objs.push(scicos_block({ + gui: new ScilabString(["IN_f"]), + graphics: scicos_graphics({ + orig: new ScilabDouble([199.48466, 398.2166]), + sz: new ScilabDouble([20, 20]), + flip: new ScilabBoolean([true]), + theta: new ScilabDouble([0]), + exprs: new ScilabString(["3"]), + pin: new ScilabDouble(), + pout: new ScilabDouble([9]), + pein: new ScilabDouble(), + peout: new ScilabDouble(), + gr_i: list(new ScilabString(["xstringb(orig(1),orig(2),"IN_f",sz(1),sz(2));"]), new ScilabDouble([8])), + id: new ScilabString([""]), + in_implicit: new ScilabDouble(), + out_implicit: new ScilabString(["E"]), + out_style: new ScilabString(["ExplicitOutputPort;align=right;verticalAlign=middle;spacing=10.0;rotation=0"]), + out_label: new ScilabString([""]), + style: new ScilabString(["IN_f"]) + }), + model: scicos_model({ + sim: new ScilabString(["input"]), + in: new ScilabDouble(), + in2: new ScilabDouble(), + intyp: new ScilabDouble([1]), + out: new ScilabDouble([-1]), + out2: new ScilabDouble(), + outtyp: new ScilabDouble([-1]), + evtin: new ScilabDouble(), + evtout: new ScilabDouble(), + state: new ScilabDouble(), + dstate: new ScilabDouble(), + odstate: list(), + rpar: new ScilabDouble(), + ipar: new ScilabDouble([3]), + opar: list(), + blocktype: new ScilabString(["c"]), + firing: new ScilabDouble(), + dep_ut: new ScilabBoolean([false, false]), + label: new ScilabString([""]), + nzcross: new ScilabDouble([0]), + nmode: new ScilabDouble([0]), + equations: list(), + uid: new ScilabString([count]) + }), + doc: list(new ScilabString([count++])) + })); + scs_m.objs.push(scicos_link({ + xx: new ScilabDouble([219.48466], [222.54128]), + yy: new ScilabDouble([408.2166], [408.2166]), + id: new ScilabString(["drawlink"]), + thick: new ScilabDouble([0, 0]), + ct: new ScilabDouble([1, 1]), + from: new ScilabDouble([8, 1, 0]), + to: new ScilabDouble([28, 1, 1]) + })); + scs_m.objs.push(scicos_block({ + gui: new ScilabString(["IN_f"]), + graphics: scicos_graphics({ + orig: new ScilabDouble([104.31759, 276.91165]), + sz: new ScilabDouble([20, 20]), + flip: new ScilabBoolean([true]), + theta: new ScilabDouble([0]), + exprs: new ScilabString(["1"]), + pin: new ScilabDouble(), + pout: new ScilabDouble([11]), + pein: new ScilabDouble(), + peout: new ScilabDouble(), + gr_i: list(new ScilabString(["xstringb(orig(1),orig(2),"IN_f",sz(1),sz(2));"]), new ScilabDouble([8])), + id: new ScilabString([""]), + in_implicit: new ScilabDouble(), + out_implicit: new ScilabString(["E"]), + out_style: new ScilabString(["ExplicitOutputPort;align=right;verticalAlign=middle;spacing=10.0;rotation=0"]), + out_label: new ScilabString([""]), + style: new ScilabString(["IN_f"]) + }), + model: scicos_model({ + sim: new ScilabString(["input"]), + in: new ScilabDouble(), + in2: new ScilabDouble(), + intyp: new ScilabDouble([1]), + out: new ScilabDouble([-1]), + out2: new ScilabDouble(), + outtyp: new ScilabDouble([-1]), + evtin: new ScilabDouble(), + evtout: new ScilabDouble(), + state: new ScilabDouble(), + dstate: new ScilabDouble(), + odstate: list(), + rpar: new ScilabDouble(), + ipar: new ScilabDouble([1]), + opar: list(), + blocktype: new ScilabString(["c"]), + firing: new ScilabDouble(), + dep_ut: new ScilabBoolean([false, false]), + label: new ScilabString([""]), + nzcross: new ScilabDouble([0]), + nmode: new ScilabDouble([0]), + equations: list(), + uid: new ScilabString([count]) + }), + doc: list(new ScilabString([count++])) + })); + scs_m.objs.push(scicos_link({ + xx: new ScilabDouble([124.31759], [144.31759]), + yy: new ScilabDouble([286.91165], [286.91165]), + id: new ScilabString(["drawlink"]), + thick: new ScilabDouble([0, 0]), + ct: new ScilabDouble([1, 1]), + from: new ScilabDouble([10, 1, 0]), + to: new ScilabDouble([3, 1, 1]) + })); + scs_m.objs.push(scicos_block({ + gui: new ScilabString(["OUT_f"]), + graphics: scicos_graphics({ + orig: new ScilabDouble([457.40928, 320.20131]), + sz: new ScilabDouble([20, 20]), + flip: new ScilabBoolean([true]), + theta: new ScilabDouble([0]), + exprs: new ScilabString(["2"]), + pin: new ScilabDouble([13]), + pout: new ScilabDouble(), + pein: new ScilabDouble(), + peout: new ScilabDouble(), + gr_i: list(new ScilabString(["xstringb(orig(1),orig(2),"OUT_f",sz(1),sz(2));"]), new ScilabDouble([8])), + id: new ScilabString([""]), + in_implicit: new ScilabString(["E"]), + out_implicit: new ScilabDouble(), + in_style: new ScilabString(["ExplicitInputPort;align=left;verticalAlign=middle;spacing=10.0;rotation=0"]), + in_label: new ScilabString([""]), + style: new ScilabString(["OUT_f"]) + }), + model: scicos_model({ + sim: new ScilabString(["output"]), + in: new ScilabDouble([-1]), + in2: new ScilabDouble(), + intyp: new ScilabDouble([-1]), + out: new ScilabDouble(), + out2: new ScilabDouble(), + outtyp: new ScilabDouble([1]), + evtin: new ScilabDouble(), + evtout: new ScilabDouble(), + state: new ScilabDouble(), + dstate: new ScilabDouble(), + odstate: list(), + rpar: new ScilabDouble(), + ipar: new ScilabDouble([2]), + opar: list(), + blocktype: new ScilabString(["c"]), + firing: new ScilabDouble(), + dep_ut: new ScilabBoolean([false, false]), + label: new ScilabString([""]), + nzcross: new ScilabDouble([0]), + nmode: new ScilabDouble([0]), + equations: list(), + uid: new ScilabString([count]) + }), + doc: list(new ScilabString([count++])) + })); + scs_m.objs.push(scicos_link({ + xx: new ScilabDouble([441.81249], [457.40928]), + yy: new ScilabDouble([329.46812], [330.20131]), + id: new ScilabString(["drawlink"]), + thick: new ScilabDouble([0, 0]), + ct: new ScilabDouble([1, 1]), + from: new ScilabDouble([7, 1, 0]), + to: new ScilabDouble([12, 1, 1]) + })); + scs_m.objs.push(scicos_block({ + gui: new ScilabString(["OUT_f"]), + graphics: scicos_graphics({ + orig: new ScilabDouble([376.4669, 270.83282]), + sz: new ScilabDouble([20, 20]), + flip: new ScilabBoolean([true]), + theta: new ScilabDouble([0]), + exprs: new ScilabString(["1"]), + pin: new ScilabDouble([37]), + pout: new ScilabDouble(), + pein: new ScilabDouble(), + peout: new ScilabDouble(), + gr_i: list(new ScilabString(["xstringb(orig(1),orig(2),"OUT_f",sz(1),sz(2));"]), new ScilabDouble([8])), + id: new ScilabString([""]), + in_implicit: new ScilabString(["E"]), + out_implicit: new ScilabDouble(), + in_style: new ScilabString(["ExplicitInputPort;align=left;verticalAlign=middle;spacing=10.0;rotation=0"]), + in_label: new ScilabString([""]), + style: new ScilabString(["OUT_f"]) + }), + model: scicos_model({ + sim: new ScilabString(["output"]), + in: new ScilabDouble([-1]), + in2: new ScilabDouble(), + intyp: new ScilabDouble([-1]), + out: new ScilabDouble(), + out2: new ScilabDouble(), + outtyp: new ScilabDouble([1]), + evtin: new ScilabDouble(), + evtout: new ScilabDouble(), + state: new ScilabDouble(), + dstate: new ScilabDouble(), + odstate: list(), + rpar: new ScilabDouble(), + ipar: new ScilabDouble([1]), + opar: list(), + blocktype: new ScilabString(["c"]), + firing: new ScilabDouble(), + dep_ut: new ScilabBoolean([false, false]), + label: new ScilabString([""]), + nzcross: new ScilabDouble([0]), + nmode: new ScilabDouble([0]), + equations: list(), + uid: new ScilabString([count]) + }), + doc: list(new ScilabString([count++])) + })); + + var scs_m_1 = scicos_diagram({ + version: new ScilabString(["scicos4.2"]), + props: scicos_params({ + wpar: new ScilabDouble([600, 450, 0, 0, 600, 450]), + Title: new ScilabString(["Untitled"]), + tol: new ScilabDouble([0.0001], [0.000001], [Math.pow(10, -10)], [100001], [0], [0], [0]), + tf: new ScilabDouble([100000]), + context: new ScilabDouble(), + void1: new ScilabDouble(), + options: tlist(["scsopt", "3D", "Background", "Link", "ID", "Cmap"], new ScilabString(["scsopt", "3D", "Background", "Link", "ID", "Cmap"]), list(new ScilabBoolean([true]), new ScilabDouble([33])), new ScilabDouble([8, 1]), new ScilabDouble([1, 5]), list(new ScilabDouble([5, 1]), new ScilabDouble([4, 1])), new ScilabDouble([0.8, 0.8, 0.8])), + void2: new ScilabDouble(), + void3: new ScilabDouble(), + doc: list() + }) + }); + scs_m_1.objs.push(scicos_block({ + gui: new ScilabString(["ANDLOG_f"]), + graphics: scicos_graphics({ + orig: new ScilabDouble([194, 133]), + sz: new ScilabDouble([60, 60]), + flip: new ScilabBoolean([true]), + theta: new ScilabDouble([0]), + exprs: new ScilabDouble(), + pin: new ScilabDouble(), + pout: new ScilabDouble([9]), + pein: new ScilabDouble([4], [11]), + peout: new ScilabDouble(), + gr_i: list(new ScilabString(["xstringb(orig(1),orig(2),"ANDLOG_f",sz(1),sz(2));"]), new ScilabDouble([8])), + id: new ScilabString([""]), + in_implicit: new ScilabDouble(), + out_implicit: new ScilabString(["E"]), + out_style: new ScilabString(["ExplicitOutputPort;align=right;verticalAlign=middle;spacing=10.0;rotation=0"]), + out_label: new ScilabString([""]), + style: new ScilabString(["ANDLOG_f"]) + }), + model: scicos_model({ + sim: new ScilabString(["andlog"]), + in: new ScilabDouble(), + in2: new ScilabDouble(), + intyp: new ScilabDouble([1]), + out: new ScilabDouble([1]), + out2: new ScilabDouble(), + outtyp: new ScilabDouble([1]), + evtin: new ScilabDouble([1], [1]), + evtout: new ScilabDouble(), + state: new ScilabDouble(), + dstate: new ScilabDouble(), + odstate: list(), + rpar: new ScilabDouble(), + ipar: new ScilabDouble(), + opar: list(), + blocktype: new ScilabString(["d"]), + firing: new ScilabDouble(), + dep_ut: new ScilabBoolean([false, false]), + label: new ScilabString([""]), + nzcross: new ScilabDouble([0]), + nmode: new ScilabDouble([0]), + equations: list(), + uid: new ScilabString([count]) + }), + doc: list(new ScilabString([count++])) + })); + scs_m_1.objs.push(scicos_block({ + gui: new ScilabString(["CLKIN_f"]), + graphics: scicos_graphics({ + orig: new ScilabDouble([149, 287]), + sz: new ScilabDouble([20, 20]), + flip: new ScilabBoolean([true]), + theta: new ScilabDouble([0]), + exprs: new ScilabString(["1"]), + pin: new ScilabDouble(), + pout: new ScilabDouble(), + pein: new ScilabDouble(), + peout: new ScilabDouble([4]), + gr_i: list(new ScilabString(["xstringb(orig(1),orig(2),"CLKIN_f",sz(1),sz(2));"]), new ScilabDouble([8])), + id: new ScilabString([""]), + in_implicit: new ScilabDouble(), + out_implicit: new ScilabDouble(), + style: new ScilabString(["CLKIN_f"]) + }), + model: scicos_model({ + sim: new ScilabString(["input"]), + in: new ScilabDouble(), + in2: new ScilabDouble(), + intyp: new ScilabDouble([1]), + out: new ScilabDouble(), + out2: new ScilabDouble(), + outtyp: new ScilabDouble([1]), + evtin: new ScilabDouble(), + evtout: new ScilabDouble([1]), + state: new ScilabDouble(), + dstate: new ScilabDouble(), + odstate: list(), + rpar: new ScilabDouble(), + ipar: new ScilabDouble([1]), + opar: list(), + blocktype: new ScilabString(["d"]), + firing: new ScilabDouble([-1]), + dep_ut: new ScilabBoolean([false, false]), + label: new ScilabString([""]), + nzcross: new ScilabDouble([0]), + nmode: new ScilabDouble([0]), + equations: list(), + uid: new ScilabString([count]) + }), + doc: list(new ScilabString([count++])) + })); + scs_m_1.objs.push(scicos_block({ + gui: new ScilabString(["CLKOUT_f"]), + graphics: scicos_graphics({ + orig: new ScilabDouble([450, 83]), + sz: new ScilabDouble([20, 20]), + flip: new ScilabBoolean([true]), + theta: new ScilabDouble([0]), + exprs: new ScilabString(["1"]), + pin: new ScilabDouble(), + pout: new ScilabDouble(), + pein: new ScilabDouble([8]), + peout: new ScilabDouble(), + gr_i: list(new ScilabString(["xstringb(orig(1),orig(2),"CLKOUT_f",sz(1),sz(2));"]), new ScilabDouble([8])), + id: new ScilabString([""]), + in_implicit: new ScilabDouble(), + out_implicit: new ScilabDouble(), + style: new ScilabString(["CLKOUT_f"]) + }), + model: scicos_model({ + sim: new ScilabString(["output"]), + in: new ScilabDouble(), + in2: new ScilabDouble(), + intyp: new ScilabDouble([1]), + out: new ScilabDouble(), + out2: new ScilabDouble(), + outtyp: new ScilabDouble([1]), + evtin: new ScilabDouble([1]), + evtout: new ScilabDouble(), + state: new ScilabDouble(), + dstate: new ScilabDouble(), + odstate: list(), + rpar: new ScilabDouble(), + ipar: new ScilabDouble([1]), + opar: list(), + blocktype: new ScilabString(["d"]), + firing: new ScilabDouble(), + dep_ut: new ScilabBoolean([false, false]), + label: new ScilabString([""]), + nzcross: new ScilabDouble([0]), + nmode: new ScilabDouble([0]), + equations: list(), + uid: new ScilabString([count]) + }), + doc: list(new ScilabString([count++])) + })); + scs_m_1.objs.push(scicos_link({ + xx: new ScilabDouble([169], [214], [214]), + yy: new ScilabDouble([297], [297], [198.71]), + id: new ScilabString(["drawlink"]), + thick: new ScilabDouble([0, 0]), + ct: new ScilabDouble([5, -1]), + from: new ScilabDouble([2, 1]), + to: new ScilabDouble([1, 1]) + })); + scs_m_1.objs.push(scicos_block({ + gui: new ScilabString(["CLKIN_f"]), + graphics: scicos_graphics({ + orig: new ScilabDouble([141, 330]), + sz: new ScilabDouble([20, 20]), + flip: new ScilabBoolean([true]), + theta: new ScilabDouble([0]), + exprs: new ScilabString(["2"]), + pin: new ScilabDouble(), + pout: new ScilabDouble(), + pein: new ScilabDouble(), + peout: new ScilabDouble([6]), + gr_i: list(new ScilabString(["xstringb(orig(1),orig(2),"CLKIN_f",sz(1),sz(2));"]), new ScilabDouble([8])), + id: new ScilabString([""]), + in_implicit: new ScilabDouble(), + out_implicit: new ScilabDouble(), + style: new ScilabString(["CLKIN_f"]) + }), + model: scicos_model({ + sim: new ScilabString(["input"]), + in: new ScilabDouble(), + in2: new ScilabDouble(), + intyp: new ScilabDouble([1]), + out: new ScilabDouble(), + out2: new ScilabDouble(), + outtyp: new ScilabDouble([1]), + evtin: new ScilabDouble(), + evtout: new ScilabDouble([1]), + state: new ScilabDouble(), + dstate: new ScilabDouble(), + odstate: list(), + rpar: new ScilabDouble(), + ipar: new ScilabDouble([2]), + opar: list(), + blocktype: new ScilabString(["d"]), + firing: new ScilabDouble([-1]), + dep_ut: new ScilabBoolean([false, false]), + label: new ScilabString([""]), + nzcross: new ScilabDouble([0]), + nmode: new ScilabDouble([0]), + equations: list(), + uid: new ScilabString([count]) + }), + doc: list(new ScilabString([count++])) + })); + scs_m_1.objs.push(scicos_link({ + xx: new ScilabDouble([161], [234], [234]), + yy: new ScilabDouble([340], [340], [275.78]), + thick: new ScilabDouble([0, 0]), + id: new ScilabString(["drawlink"]), + ct: new ScilabDouble([5, -1]), + from: new ScilabDouble([5, 1]), + to: new ScilabDouble([10, 1]) + })); + scs_m_1.objs.push(scicos_block({ + gui: new ScilabString(["IFTHEL_f"]), + graphics: scicos_graphics({ + orig: new ScilabDouble([331, 137]), + sz: new ScilabDouble([60, 60]), + flip: new ScilabBoolean([true]), + theta: new ScilabDouble([0]), + exprs: new ScilabString(["1"], ["1"]), + pin: new ScilabDouble([9]), + pout: new ScilabDouble(), + pein: new ScilabDouble([12]), + peout: new ScilabDouble([8], [0]), + gr_i: list(new ScilabString(["xstringb(orig(1),orig(2),"IFTHEL_f",sz(1),sz(2));"]), new ScilabDouble([8])), + id: new ScilabString([""]), + in_implicit: new ScilabString(["E"]), + out_implicit: new ScilabDouble(), + in_style: new ScilabString(["ExplicitInputPort;align=left;verticalAlign=middle;spacing=10.0;rotation=0"]), + in_label: new ScilabString([""]), + style: new ScilabString(["IFTHEL_f"]) + }), + model: scicos_model({ + sim: list(new ScilabString(["ifthel"]), new ScilabDouble([-1])), + in: new ScilabDouble([1]), + in2: new ScilabDouble([1]), + intyp: new ScilabDouble([-1]), + out: new ScilabDouble(), + out2: new ScilabDouble(), + outtyp: new ScilabDouble([1]), + evtin: new ScilabDouble([1]), + evtout: new ScilabDouble([1], [1]), + state: new ScilabDouble(), + dstate: new ScilabDouble(), + odstate: list(), + rpar: new ScilabDouble(), + ipar: new ScilabDouble(), + opar: list(), + blocktype: new ScilabString(["l"]), + firing: new ScilabDouble([-1, -1]), + dep_ut: new ScilabBoolean([true, false]), + label: new ScilabString([""]), + nzcross: new ScilabDouble([1]), + nmode: new ScilabDouble([1]), + equations: list(), + uid: new ScilabString([count]) + }), + doc: list(new ScilabString([count++])) + })); + scs_m_1.objs.push(scicos_link({ + xx: new ScilabDouble([351], [351], [450]), + yy: new ScilabDouble([131.29], [93], [93]), + id: new ScilabString(["drawlink"]), + thick: new ScilabDouble([0, 0]), + ct: new ScilabDouble([5, -1]), + from: new ScilabDouble([7, 1]), + to: new ScilabDouble([3, 1]) + })); + scs_m_1.objs.push(scicos_link({ + xx: new ScilabDouble([262.57], [322.43]), + yy: new ScilabDouble([163], [167]), + id: new ScilabString(["drawlink"]), + thick: new ScilabDouble([0, 0]), + ct: new ScilabDouble([1, 1]), + from: new ScilabDouble([1, 1]), + to: new ScilabDouble([7, 1]) + })); + scs_m_1.objs.push(scicos_block({ + gui: new ScilabString(["CLKSPLIT_f"]), + graphics: scicos_graphics({ + orig: new ScilabDouble([234], [275.78348]), + sz: new ScilabDouble([0.3333333, 0.3333333]), + flip: new ScilabBoolean([true]), + theta: new ScilabDouble([0]), + exprs: new ScilabDouble(), + pin: new ScilabDouble(), + pout: new ScilabDouble(), + pein: new ScilabDouble([6]), + peout: new ScilabDouble([11], [12]), + gr_i: list(new ScilabString(["xstringb(orig(1),orig(2),"CLKSPLIT_f",sz(1),sz(2));"]), new ScilabDouble([8])), + id: new ScilabString([""]), + in_implicit: new ScilabDouble(), + out_implicit: new ScilabDouble(), + style: new ScilabString(["CLKSPLIT_f"]) + }), + model: scicos_model({ + sim: new ScilabString(["split"]), + in: new ScilabDouble(), + in2: new ScilabDouble(), + intyp: new ScilabDouble([1]), + out: new ScilabDouble(), + out2: new ScilabDouble(), + outtyp: new ScilabDouble([1]), + evtin: new ScilabDouble([1]), + evtout: new ScilabDouble([1], [1]), + state: new ScilabDouble(), + dstate: new ScilabDouble(), + odstate: list(), + rpar: new ScilabDouble(), + ipar: new ScilabDouble(), + opar: list(), + blocktype: new ScilabString(["d"]), + firing: new ScilabBoolean([false, false, false]), + dep_ut: new ScilabBoolean([false, false]), + label: new ScilabString([""]), + nzcross: new ScilabDouble([0]), + nmode: new ScilabDouble([0]), + equations: list(), + uid: new ScilabString([count]) + }), + doc: list(new ScilabString([count++])) + })); + scs_m_1.objs.push(scicos_link({ + xx: new ScilabDouble([234], [234]), + yy: new ScilabDouble([275.78], [198.71]), + id: new ScilabString(["drawlink"]), + thick: new ScilabDouble([0, 0]), + ct: new ScilabDouble([5, -1]), + from: new ScilabDouble([10, 1]), + to: new ScilabDouble([1, 2]) + })); + scs_m_1.objs.push(scicos_link({ + xx: new ScilabDouble([234], [361], [361]), + yy: new ScilabDouble([275.78], [275.78], [202.71]), + id: new ScilabString(["drawlink"]), + thick: new ScilabDouble([0, 0]), + ct: new ScilabDouble([5, -1]), + from: new ScilabDouble([10, 2]), + to: new ScilabDouble([7, 1]) + })); + scs_m.objs.push(scicos_block({ + gui: new ScilabString(["ANDBLK"]), + graphics: scicos_graphics({ + orig: new ScilabDouble([233.73039, 318.74407]), + sz: new ScilabDouble([40, 40]), + flip: new ScilabBoolean([true]), + theta: new ScilabDouble([0]), + exprs: new ScilabDouble(), + pin: new ScilabDouble(), + pout: new ScilabDouble(), + pein: new ScilabDouble([19], [16]), + peout: new ScilabDouble([17]), + gr_i: list(new ScilabString(["xstringb(orig(1),orig(2),"ANDBLK",sz(1),sz(2));"]), new ScilabDouble([8])), + id: new ScilabString([""]), + in_implicit: new ScilabDouble(), + out_implicit: new ScilabDouble(), + style: new ScilabString(["ANDBLK"]) + }), + model: scicos_model({ + sim: new ScilabString(["csuper"]), + in: new ScilabDouble(), + in2: new ScilabDouble(), + intyp: new ScilabDouble([1]), + out: new ScilabDouble(), + out2: new ScilabDouble(), + outtyp: new ScilabDouble([1]), + evtin: new ScilabDouble([1], [1]), + evtout: new ScilabDouble([1]), + state: new ScilabDouble(), + dstate: new ScilabDouble(), + odstate: list(), + rpar: scs_m_1, + ipar: new ScilabDouble(), + opar: list(), + blocktype: new ScilabString(["h"]), + firing: new ScilabBoolean([false]), + dep_ut: new ScilabBoolean([false, false]), + label: new ScilabString([""]), + nzcross: new ScilabDouble([0]), + nmode: new ScilabDouble([0]), + equations: list(), + uid: new ScilabString([count]) + }), + doc: list(new ScilabString([count++])) + })); + scs_m.objs.push(scicos_link({ + xx: new ScilabDouble([259.98293], [260.39705]), + yy: new ScilabDouble([372.50232], [364.45835]), + id: new ScilabString(["drawlink"]), + thick: new ScilabDouble([0, 0]), + ct: new ScilabDouble([5, -1]), + from: new ScilabDouble([2, 1, 0]), + to: new ScilabDouble([15, 2, 1]) + })); + scs_m.objs.push(scicos_link({ + xx: new ScilabDouble([253.73039], [253.72572]), + yy: new ScilabDouble([313.02978], [309.29537]), + id: new ScilabString(["drawlink"]), + thick: new ScilabDouble([0, 0]), + ct: new ScilabDouble([5, -1]), + from: new ScilabDouble([15, 1, 0]), + to: new ScilabDouble([41, 1, 1]) + })); + scs_m_1 = scicos_diagram({ + version: new ScilabString(["scicos4.2"]), + props: scicos_params({ + wpar: new ScilabDouble([600, 450, 0, 0, 600, 450]), + Title: new ScilabString(["EDGE_TRIGGER", "./"]), + tol: new ScilabDouble([0.0001], [0.000001], [Math.pow(10, -10)], [100001], [0], [0], [0]), + tf: new ScilabDouble([30]), + context: new ScilabString([" "]), + void1: new ScilabDouble(), + options: tlist(["scsopt", "3D", "Background", "Link", "ID", "Cmap"], new ScilabString(["scsopt", "3D", "Background", "Link", "ID", "Cmap"]), list(new ScilabBoolean([true]), new ScilabDouble([33])), new ScilabDouble([8, 1]), new ScilabDouble([1, 5]), list(new ScilabDouble([5, 1]), new ScilabDouble([4, 1])), new ScilabDouble([0.8, 0.8, 0.8])), + void2: new ScilabDouble(), + void3: new ScilabDouble(), + doc: list() + }) + }); + scs_m_1.objs.push(scicos_block({ + gui: new ScilabString(["EDGETRIGGER"]), + graphics: scicos_graphics({ + orig: new ScilabDouble([288.58631, 257.1131]), + sz: new ScilabDouble([60, 40]), + flip: new ScilabBoolean([true]), + theta: new ScilabDouble([0]), + exprs: new ScilabString(["1"]), + pin: new ScilabDouble([5]), + pout: new ScilabDouble([3]), + pein: new ScilabDouble(), + peout: new ScilabDouble(), + gr_i: list(new ScilabString(["xstringb(orig(1),orig(2),"EDGETRIGGER",sz(1),sz(2));"]), new ScilabDouble([8])), + id: new ScilabString([""]), + in_implicit: new ScilabString(["E"]), + out_implicit: new ScilabString(["E"]), + in_style: new ScilabString(["ExplicitInputPort;align=left;verticalAlign=middle;spacing=10.0;rotation=0"]), + out_style: new ScilabString(["ExplicitOutputPort;align=right;verticalAlign=middle;spacing=10.0;rotation=0"]), + in_label: new ScilabString([""]), + out_label: new ScilabString([""]), + style: new ScilabString(["EDGETRIGGER"]) + }), + model: scicos_model({ + sim: list(new ScilabString(["edgetrig"]), new ScilabDouble([4])), + in: new ScilabDouble([1]), + in2: new ScilabDouble(), + intyp: new ScilabDouble([1]), + out: new ScilabDouble([1]), + out2: new ScilabDouble(), + outtyp: new ScilabDouble([1]), + evtin: new ScilabDouble(), + evtout: new ScilabDouble(), + state: new ScilabDouble(), + dstate: new ScilabDouble([0]), + odstate: list(), + rpar: new ScilabDouble(), + ipar: new ScilabDouble([1]), + opar: list(), + blocktype: new ScilabString(["c"]), + firing: new ScilabDouble(), + dep_ut: new ScilabBoolean([true, false]), + label: new ScilabString([""]), + nzcross: new ScilabDouble([1]), + nmode: new ScilabDouble([0]), + equations: list(), + uid: new ScilabString([count]) + }), + doc: list(new ScilabString([count++])) + })); + scs_m_1.objs.push(scicos_block({ + gui: new ScilabString(["IFTHEL_f"]), + graphics: scicos_graphics({ + orig: new ScilabDouble([388.28869, 247.1131]), + sz: new ScilabDouble([60, 60]), + flip: new ScilabBoolean([true]), + theta: new ScilabDouble([0]), + exprs: new ScilabString(["0"], ["0"]), + pin: new ScilabDouble([3]), + pout: new ScilabDouble(), + pein: new ScilabDouble(), + peout: new ScilabDouble([7], [0]), + gr_i: new ScilabDouble(), + id: new ScilabString([""]), + in_implicit: new ScilabString(["E"]), + out_implicit: new ScilabDouble() + }), + model: scicos_model({ + sim: list(new ScilabString(["ifthel"]), new ScilabDouble([-1])), + in: new ScilabDouble([1]), + in2: new ScilabDouble(), + intyp: new ScilabDouble([1]), + out: new ScilabDouble(), + out2: new ScilabDouble([1]), + outtyp: new ScilabDouble(), + evtin: new ScilabDouble(), + evtout: new ScilabDouble([1], [1]), + state: new ScilabDouble(), + dstate: new ScilabDouble(), + odstate: list(), + rpar: new ScilabDouble(), + ipar: new ScilabDouble(), + opar: list(), + blocktype: new ScilabString(["l"]), + firing: new ScilabDouble([-1, -1]), + dep_ut: new ScilabBoolean([true, false]), + label: new ScilabString([""]), + nzcross: new ScilabDouble([0]), + nmode: new ScilabDouble([0]), + equations: list(), + uid: new ScilabString([count]) + }), + doc: list(new ScilabString([count++])) + })); + scs_m_1.objs.push(scicos_link({ + xx: new ScilabDouble([357.15774], [362.99107], [379.71726]), + yy: new ScilabDouble([277.1131], [277.1131], [277.1131]), + id: new ScilabString(["drawlink"]), + thick: new ScilabDouble([0, 0]), + ct: new ScilabDouble([1, 1]), + from: new ScilabDouble([1, 1, 0]), + to: new ScilabDouble([2, 1, 1]) + })); + scs_m_1.objs.push(scicos_block({ + gui: new ScilabString(["IN_f"]), + graphics: scicos_graphics({ + orig: new ScilabDouble([240.01488, 267.1131]), + sz: new ScilabDouble([20, 20]), + flip: new ScilabBoolean([true]), + theta: new ScilabDouble([0]), + exprs: new ScilabString(["1"]), + pin: new ScilabDouble(), + pout: new ScilabDouble([5]), + pein: new ScilabDouble(), + peout: new ScilabDouble(), + gr_i: list(new ScilabString(["xstringb(orig(1),orig(2),"IN_f",sz(1),sz(2));"]), new ScilabDouble([8])), + id: new ScilabString([""]), + in_implicit: new ScilabDouble(), + out_implicit: new ScilabString(["E"]), + style: new ScilabString(["IN_f"]) + }), + model: scicos_model({ + sim: new ScilabString(["input"]), + in: new ScilabDouble(), + in2: new ScilabDouble(), + intyp: new ScilabDouble([-1]), + out: new ScilabDouble([-1]), + out2: new ScilabDouble(), + outtyp: new ScilabDouble([1]), + evtin: new ScilabDouble(), + evtout: new ScilabDouble(), + state: new ScilabDouble(), + dstate: new ScilabDouble(), + odstate: list(), + rpar: new ScilabDouble(), + ipar: new ScilabDouble([1]), + opar: list(), + blocktype: new ScilabString(["c"]), + firing: new ScilabDouble(), + dep_ut: new ScilabBoolean([false, false]), + label: new ScilabString([""]), + nzcross: new ScilabDouble([0]), + nmode: new ScilabDouble([0]), + equations: list(), + uid: new ScilabString([count]) + }), + doc: list(new ScilabString([count++])) + })); + scs_m_1.objs.push(scicos_link({ + xx: new ScilabDouble([260.01488], [280.01488]), + yy: new ScilabDouble([277.1131], [277.1131]), + id: new ScilabString(["drawlink"]), + thick: new ScilabDouble([0, 0]), + ct: new ScilabDouble([1, 1]), + from: new ScilabDouble([4, 1, 0]), + to: new ScilabDouble([1, 1, 1]) + })); + scs_m_1.objs.push(scicos_block({ + gui: new ScilabString(["CLKOUTV_f"]), + graphics: scicos_graphics({ + orig: new ScilabDouble([398.28869, 181.39881]), + sz: new ScilabDouble([20, 30]), + flip: new ScilabBoolean([true]), + theta: new ScilabDouble([0]), + exprs: new ScilabString(["1"]), + pin: new ScilabDouble(), + pout: new ScilabDouble(), + pein: new ScilabDouble([7]), + peout: new ScilabDouble(), + gr_i: list(new ScilabString(["xstringb(orig(1),orig(2),"CLKOUTV_f",sz(1),sz(2));"]), new ScilabDouble([8])), + id: new ScilabString([""]), + in_implicit: new ScilabDouble(), + out_implicit: new ScilabDouble(), + style: new ScilabString(["CLKOUTV_f"]) + }), + model: scicos_model({ + sim: new ScilabString(["output"]), + in: new ScilabDouble(), + in2: new ScilabDouble(), + intyp: new ScilabDouble([1]), + out: new ScilabDouble(), + out2: new ScilabDouble(), + outtyp: new ScilabDouble([1]), + evtin: new ScilabDouble([1]), + evtout: new ScilabDouble(), + state: new ScilabDouble(), + dstate: new ScilabDouble(), + odstate: list(), + rpar: new ScilabDouble(), + ipar: new ScilabDouble([1]), + opar: list(), + blocktype: new ScilabString(["d"]), + firing: new ScilabDouble(), + dep_ut: new ScilabBoolean([false, false]), + label: new ScilabString([""]), + nzcross: new ScilabDouble([0]), + nmode: new ScilabDouble([0]), + equations: list(), + uid: new ScilabString([count]) + }), + doc: list(new ScilabString([count++])) + })); + scs_m_1.objs.push(scicos_link({ + xx: new ScilabDouble([408.28869], [408.28869]), + yy: new ScilabDouble([241.39881], [211.39881]), + id: new ScilabString(["drawlink"]), + thick: new ScilabDouble([0, 0]), + ct: new ScilabDouble([5, -1]), + from: new ScilabDouble([2, 1, 0]), + to: new ScilabDouble([6, 1, 1]) + })); + scs_m.objs.push(scicos_block({ + gui: new ScilabString(["EDGE_TRIGGER"]), + graphics: scicos_graphics({ + orig: new ScilabDouble([133.90637, 385.342]), + sz: new ScilabDouble([60, 40]), + flip: new ScilabBoolean([true]), + theta: new ScilabDouble([0]), + exprs: new ScilabDouble(), + pin: new ScilabDouble([26]), + pout: new ScilabDouble(), + pein: new ScilabDouble(), + peout: new ScilabDouble([19]), + gr_i: list(new ScilabString(["xstringb(orig(1),orig(2),"EDGE_TRIGGER",sz(1),sz(2));"]), new ScilabDouble([8])), + id: new ScilabString([""]), + in_implicit: new ScilabString(["E"]), + out_implicit: new ScilabDouble(), + in_style: new ScilabString(["ExplicitInputPort;align=left;verticalAlign=middle;spacing=10.0;rotation=0"]), + in_label: new ScilabString([""]), + style: new ScilabString(["EDGE_TRIGGER"]) + }), + model: scicos_model({ + sim: new ScilabString(["csuper"]), + in: new ScilabDouble([-1]), + in2: new ScilabDouble(), + intyp: new ScilabDouble([1]), + out: new ScilabDouble(), + out2: new ScilabDouble(), + outtyp: new ScilabDouble([1]), + evtin: new ScilabDouble(), + evtout: new ScilabDouble([1]), + state: new ScilabDouble(), + dstate: new ScilabDouble(), + odstate: list(), + rpar: scs_m_1, + ipar: new ScilabDouble(), + opar: list(), + blocktype: new ScilabString(["h"]), + firing: new ScilabDouble(), + dep_ut: new ScilabBoolean([false, false]), + label: new ScilabString([""]), + nzcross: new ScilabDouble([0]), + nmode: new ScilabDouble([0]), + equations: list(), + uid: new ScilabString([count]) + }), + doc: list(new ScilabString([count++])) + })); + scs_m.objs.push(scicos_link({ + xx: new ScilabDouble([163.90637], [163.90637], [247.06372]), + yy: new ScilabDouble([379.62771], [364.45835], [364.45835]), + id: new ScilabString(["drawlink"]), + thick: new ScilabDouble([0, 0]), + ct: new ScilabDouble([5, -1]), + from: new ScilabDouble([18, 1, 0]), + to: new ScilabDouble([15, 1, 1]) + })); + scs_m.objs.push(scicos_block({ + gui: new ScilabString(["IN_f"]), + graphics: scicos_graphics({ + orig: new ScilabDouble([79.594811, 395.47647]), + sz: new ScilabDouble([20, 20]), + flip: new ScilabBoolean([true]), + theta: new ScilabDouble([0]), + exprs: new ScilabString(["2"]), + pin: new ScilabDouble(), + pout: new ScilabDouble([23]), + pein: new ScilabDouble(), + peout: new ScilabDouble(), + gr_i: list(new ScilabString(["xstringb(orig(1),orig(2),"IN_f",sz(1),sz(2));"]), new ScilabDouble([8])), + id: new ScilabString([""]), + in_implicit: new ScilabDouble(), + out_implicit: new ScilabString(["E"]), + out_style: new ScilabString(["ExplicitOutputPort;align=right;verticalAlign=middle;spacing=10.0;rotation=0"]), + out_label: new ScilabString([""]), + style: new ScilabString(["IN_f"]) + }), + model: scicos_model({ + sim: new ScilabString(["input"]), + in: new ScilabDouble(), + in2: new ScilabDouble(), + intyp: new ScilabDouble([1]), + out: new ScilabDouble([-1]), + out2: new ScilabDouble(), + outtyp: new ScilabDouble([-1]), + evtin: new ScilabDouble(), + evtout: new ScilabDouble(), + state: new ScilabDouble(), + dstate: new ScilabDouble(), + odstate: list(), + rpar: new ScilabDouble(), + ipar: new ScilabDouble([2]), + opar: list(), + blocktype: new ScilabString(["c"]), + firing: new ScilabDouble(), + dep_ut: new ScilabBoolean([false, false]), + label: new ScilabString([""]), + nzcross: new ScilabDouble([0]), + nmode: new ScilabDouble([0]), + equations: list(), + uid: new ScilabString([count]) + }), + doc: list(new ScilabString([count++])) + })); + + scs_m_1 = scicos_diagram({ + version: new ScilabString(["scicos4.2"]), + props: scicos_params({ + wpar: new ScilabDouble([600, 450, 0, 0, 600, 450]), + Title: new ScilabString(["EXTRACT_ACTIVATION", "./"]), + tol: new ScilabDouble([0.0001], [0.000001], [Math.pow(10, -10)], [100001], [0], [0], [0]), + tf: new ScilabDouble([30]), + context: new ScilabString([" "]), + void1: new ScilabDouble(), + options: tlist(["scsopt", "3D", "Background", "Link", "ID", "Cmap"], new ScilabString(["scsopt", "3D", "Background", "Link", "ID", "Cmap"]), list(new ScilabBoolean([true]), new ScilabDouble([33])), new ScilabDouble([8, 1]), new ScilabDouble([1, 5]), list(new ScilabDouble([5, 1]), new ScilabDouble([4, 1])), new ScilabDouble([0.8, 0.8, 0.8])), + void2: new ScilabDouble(), + void3: new ScilabDouble(), + doc: list() + }) + }); + scs_m_1.objs.push(scicos_block({ + gui: new ScilabString(["IFTHEL_f"]), + graphics: scicos_graphics({ + orig: new ScilabDouble([150.65045, 143.82208]), + sz: new ScilabDouble([60, 60]), + flip: new ScilabBoolean([true]), + theta: new ScilabDouble([0]), + exprs: new ScilabString(["0"], ["0"]), + pin: new ScilabDouble([6]), + pout: new ScilabDouble(), + pein: new ScilabDouble(), + peout: new ScilabDouble([3], [4]), + gr_i: list(new ScilabString(["xstringb(orig(1),orig(2),"IFTHEL_f",sz(1),sz(2));"]), new ScilabDouble([8])), + id: new ScilabString([""]), + in_implicit: new ScilabString(["E"]), + out_implicit: new ScilabDouble(), + in_style: new ScilabString(["ExplicitInputPort;align=left;verticalAlign=middle;spacing=10.0;rotation=0"]), + in_label: new ScilabString([""]), + style: new ScilabString(["IFTHEL_f"]) + }), + model: scicos_model({ + sim: list(new ScilabString(["ifthel"]), new ScilabDouble([-1])), + in: new ScilabDouble([1]), + in2: new ScilabDouble(), + intyp: new ScilabDouble([1]), + out: new ScilabDouble(), + out2: new ScilabDouble(), + outtyp: new ScilabDouble([1]), + evtin: new ScilabDouble(), + evtout: new ScilabDouble([1], [1]), + state: new ScilabDouble(), + dstate: new ScilabDouble(), + odstate: list(), + rpar: new ScilabDouble(), + ipar: new ScilabDouble(), + opar: list(), + blocktype: new ScilabString(["l"]), + firing: new ScilabDouble([-1, -1]), + dep_ut: new ScilabBoolean([true, false]), + label: new ScilabString([""]), + nzcross: new ScilabDouble([0]), + nmode: new ScilabDouble([0]), + equations: list(), + uid: new ScilabString([count]) + }), + doc: list(new ScilabString([count++])) + })); + scs_m_1.objs.push(scicos_block({ + gui: new ScilabString(["CLKSOMV_f"]), + graphics: scicos_graphics({ + orig: new ScilabDouble([169.82143, 96.146231]), + sz: new ScilabDouble([16.666667, 16.666667]), + flip: new ScilabBoolean([true]), + theta: new ScilabDouble([0]), + exprs: new ScilabDouble(), + pin: new ScilabDouble(), + pout: new ScilabDouble(), + pein: new ScilabDouble([3], [4], [0]), + peout: new ScilabDouble([8]), + gr_i: list(new ScilabString(["xstringb(orig(1),orig(2),"CLKSOMV_f",sz(1),sz(2));"]), new ScilabDouble([8])), + id: new ScilabString([""]), + in_implicit: new ScilabDouble(), + out_implicit: new ScilabDouble(), + style: new ScilabString(["CLKSOMV_f"]) + }), + model: scicos_model({ + sim: new ScilabString(["sum"]), + in: new ScilabDouble(), + in2: new ScilabDouble(), + intyp: new ScilabDouble([1]), + out: new ScilabDouble(), + out2: new ScilabDouble(), + outtyp: new ScilabDouble([1]), + evtin: new ScilabDouble([1], [1], [1]), + evtout: new ScilabDouble([1]), + state: new ScilabDouble(), + dstate: new ScilabDouble(), + odstate: list(), + rpar: new ScilabDouble(), + ipar: new ScilabDouble(), + opar: list(), + blocktype: new ScilabString(["d"]), + firing: new ScilabDouble([-1]), + dep_ut: new ScilabBoolean([false, false]), + label: new ScilabString([""]), + nzcross: new ScilabDouble([0]), + nmode: new ScilabDouble([0]), + equations: list(), + uid: new ScilabString([count]) + }), + doc: list(new ScilabString([count++])) + })); + scs_m_1.objs.push(scicos_link({ + xx: new ScilabDouble([170.65045], [170.65045], [150.04302], [150.04302], [169.82143]), + yy: new ScilabDouble([138.10779], [128.235], [128.235], [104.47956], [104.47956]), + id: new ScilabString(["drawlink"]), + thick: new ScilabDouble([0, 0]), + ct: new ScilabDouble([5, -1]), + from: new ScilabDouble([1, 1, 0]), + to: new ScilabDouble([2, 1, 1]) + })); + scs_m_1.objs.push(scicos_link({ + xx: new ScilabDouble([190.65045], [190.65045], [178.15476]), + yy: new ScilabDouble([138.10779], [111.55729], [112.8129]), + id: new ScilabString(["drawlink"]), + thick: new ScilabDouble([0, 0]), + ct: new ScilabDouble([5, -1]), + from: new ScilabDouble([1, 2, 0]), + to: new ScilabDouble([2, 2, 1]) + })); + scs_m_1.objs.push(scicos_block({ + gui: new ScilabString(["IN_f"]), + graphics: scicos_graphics({ + orig: new ScilabDouble([102.07902, 163.82208]), + sz: new ScilabDouble([20, 20]), + flip: new ScilabBoolean([true]), + theta: new ScilabDouble([0]), + exprs: new ScilabString(["1"]), + pin: new ScilabDouble(), + pout: new ScilabDouble([6]), + pein: new ScilabDouble(), + peout: new ScilabDouble(), + gr_i: list(new ScilabString(["xstringb(orig(1),orig(2),"IN_f",sz(1),sz(2));"]), new ScilabDouble([8])), + id: new ScilabString([""]), + in_implicit: new ScilabDouble(), + out_implicit: new ScilabString(["E"]), + out_style: new ScilabString(["ExplicitOutputPort;align=right;verticalAlign=middle;spacing=10.0;rotation=0"]), + out_label: new ScilabString([""]), + style: new ScilabString(["IN_f"]) + }), + model: scicos_model({ + sim: new ScilabString(["input"]), + in: new ScilabDouble(), + in2: new ScilabDouble(), + intyp: new ScilabDouble([-1]), + out: new ScilabDouble([-1]), + out2: new ScilabDouble(), + outtyp: new ScilabDouble([1]), + evtin: new ScilabDouble(), + evtout: new ScilabDouble(), + state: new ScilabDouble(), + dstate: new ScilabDouble(), + odstate: list(), + rpar: new ScilabDouble(), + ipar: new ScilabDouble([1]), + opar: list(), + blocktype: new ScilabString(["c"]), + firing: new ScilabDouble(), + dep_ut: new ScilabBoolean([false, false]), + label: new ScilabString([""]), + nzcross: new ScilabDouble([0]), + nmode: new ScilabDouble([0]), + equations: list(), + uid: new ScilabString([count]) + }), + doc: list(new ScilabString([count++])) + })); + scs_m_1.objs.push(scicos_link({ + xx: new ScilabDouble([122.07902], [142.07902]), + yy: new ScilabDouble([173.82208], [173.82208]), + id: new ScilabString(["drawlink"]), + thick: new ScilabDouble([0, 0]), + ct: new ScilabDouble([1, 1]), + from: new ScilabDouble([5, 1, 0]), + to: new ScilabDouble([1, 1, 1]) + })); + scs_m_1.objs.push(scicos_block({ + gui: new ScilabString(["CLKOUTV_f"]), + graphics: scicos_graphics({ + orig: new ScilabDouble([168.15476, 38.527183]), + sz: new ScilabDouble([20, 30]), + flip: new ScilabBoolean([true]), + theta: new ScilabDouble([0]), + exprs: new ScilabString(["1"]), + pin: new ScilabDouble(), + pout: new ScilabDouble(), + pein: new ScilabDouble([8]), + peout: new ScilabDouble(), + gr_i: list(new ScilabString(["xstringb(orig(1),orig(2),"CLKOUTV_f",sz(1),sz(2));"]), new ScilabDouble([8])), + id: new ScilabString([""]), + in_implicit: new ScilabDouble(), + out_implicit: new ScilabDouble(), + style: new ScilabString(["CLKOUTV_f"]) + }), + model: scicos_model({ + sim: new ScilabString(["output"]), + in: new ScilabDouble(), + in2: new ScilabDouble(), + intyp: new ScilabDouble([1]), + out: new ScilabDouble(), + out2: new ScilabDouble(), + outtyp: new ScilabDouble([1]), + evtin: new ScilabDouble([1]), + evtout: new ScilabDouble(), + state: new ScilabDouble(), + dstate: new ScilabDouble(), + odstate: list(), + rpar: new ScilabDouble(), + ipar: new ScilabDouble([1]), + opar: list(), + blocktype: new ScilabString(["d"]), + firing: new ScilabDouble(), + dep_ut: new ScilabBoolean([false, false]), + label: new ScilabString([""]), + nzcross: new ScilabDouble([0]), + nmode: new ScilabDouble([0]), + equations: list(), + uid: new ScilabString([count]) + }), + doc: list(new ScilabString([count++])) + })); + scs_m_1.objs.push(scicos_link({ + xx: new ScilabDouble([178.15476], [178.15476]), + yy: new ScilabDouble([98.527183], [68.527183]), + id: new ScilabString(["drawlink"]), + thick: new ScilabDouble([0, 0]), + ct: new ScilabDouble([5, -1]), + from: new ScilabDouble([2, 1, 0]), + to: new ScilabDouble([7, 1, 1]) + })); + scs_m.objs.push(scicos_block({ + gui: new ScilabString(["Extract_Activation"]), + graphics: scicos_graphics({ + orig: new ScilabDouble([239.82193, 456.57677]), + sz: new ScilabDouble([60, 40]), + flip: new ScilabBoolean([true]), + theta: new ScilabDouble([0]), + exprs: new ScilabDouble(), + pin: new ScilabDouble([31]), + pout: new ScilabDouble(), + pein: new ScilabDouble(), + peout: new ScilabDouble([22]), + gr_i: list(new ScilabString(["xstringb(orig(1),orig(2),"Extract_Activation",sz(1),sz(2));"]), new ScilabDouble([8])), + id: new ScilabString([""]), + in_implicit: new ScilabString(["E"]), + out_implicit: new ScilabDouble(), + in_style: new ScilabString(["ExplicitInputPort;align=left;verticalAlign=middle;spacing=10.0;rotation=0"]), + in_label: new ScilabString([""]), + style: new ScilabString(["Extract_Activation"]) + }), + model: scicos_model({ + sim: new ScilabString(["csuper"]), + in: new ScilabDouble([-1]), + in2: new ScilabDouble(), + intyp: new ScilabDouble([1]), + out: new ScilabDouble(), + out2: new ScilabDouble(), + outtyp: new ScilabDouble([1]), + evtin: new ScilabDouble(), + evtout: new ScilabDouble([1]), + state: new ScilabDouble(), + dstate: new ScilabDouble(), + odstate: list(), + rpar: scs_m_1, + ipar: new ScilabDouble(), + opar: list(), + blocktype: new ScilabString(["h"]), + firing: new ScilabDouble(), + dep_ut: new ScilabBoolean([false, false]), + label: new ScilabString([""]), + nzcross: new ScilabDouble([0]), + nmode: new ScilabDouble([0]), + equations: list(), + uid: new ScilabString([count]) + }), + doc: list(new ScilabString([count++])) + })); + scs_m.objs.push(scicos_link({ + xx: new ScilabDouble([269.82193], [269.98293]), + yy: new ScilabDouble([450.86248], [443.93089]), + id: new ScilabString(["drawlink"]), + thick: new ScilabDouble([0, 0]), + ct: new ScilabDouble([5, -1]), + from: new ScilabDouble([21, 1, 0]), + to: new ScilabDouble([2, 1, 1]) + })); + scs_m.objs.push(scicos_link({ + xx: new ScilabDouble([99.594811], [110.25582]), + yy: new ScilabDouble([405.47647], [405.42077]), + id: new ScilabString(["drawlink"]), + thick: new ScilabDouble([0, 0]), + ct: new ScilabDouble([1, 1]), + from: new ScilabDouble([20, 1, 0]), + to: new ScilabDouble([25, 1, 1]) + })); + scs_m.objs.push(scicos_block({ + gui: new ScilabString(["SUM_f"]), + graphics: scicos_graphics({ + orig: new ScilabDouble([200.5252, 469.13173]), + sz: new ScilabDouble([16.666667, 16.666667]), + flip: new ScilabBoolean([true]), + theta: new ScilabDouble([0]), + exprs: new ScilabDouble(), + pin: new ScilabDouble([27], [0], [30]), + pout: new ScilabDouble([31]), + pein: new ScilabDouble(), + peout: new ScilabDouble(), + gr_i: list(new ScilabString(["xstringb(orig(1),orig(2),"SUM_f",sz(1),sz(2));"]), new ScilabDouble([8])), + id: new ScilabString([""]), + in_implicit: new ScilabString(["E"], ["E"], ["E"]), + out_implicit: new ScilabString(["E"]), + in_style: new ScilabString(["ExplicitInputPort;align=left;verticalAlign=middle;spacing=10.0;rotation=0"], ["ExplicitInputPort;align=left;verticalAlign=middle;spacing=10.0;rotation=0"], ["ExplicitInputPort;align=left;verticalAlign=middle;spacing=10.0;rotation=0"]), + out_style: new ScilabString(["ExplicitOutputPort;align=right;verticalAlign=middle;spacing=10.0;rotation=0"]), + in_label: new ScilabString([""], [""], [""]), + out_label: new ScilabString([""]), + style: new ScilabString(["SUM_f"]) + }), + model: scicos_model({ + sim: list(new ScilabString(["plusblk"]), new ScilabDouble([2])), + in: new ScilabDouble([-1], [-1], [-1]), + in2: new ScilabDouble(), + intyp: new ScilabDouble([1]), + out: new ScilabDouble([-1]), + out2: new ScilabDouble(), + outtyp: new ScilabDouble([1]), + evtin: new ScilabDouble(), + evtout: new ScilabDouble(), + state: new ScilabDouble(), + dstate: new ScilabDouble(), + odstate: list(), + rpar: new ScilabDouble(), + ipar: new ScilabDouble(), + opar: list(), + blocktype: new ScilabString(["c"]), + firing: new ScilabDouble(), + dep_ut: new ScilabBoolean([true, false]), + label: new ScilabString([""]), + nzcross: new ScilabDouble([0]), + nmode: new ScilabDouble([0]), + equations: list(), + uid: new ScilabString([count]) + }), + doc: list(new ScilabString([count++])) + })); + scs_m.objs.push(scicos_block({ + gui: new ScilabString(["SPLIT_f"]), + graphics: scicos_graphics({ + orig: new ScilabDouble([110.25582], [405.42077]), + sz: new ScilabDouble([0.3333333, 0.3333333]), + flip: new ScilabBoolean([true]), + theta: new ScilabDouble([0]), + exprs: new ScilabDouble(), + pin: new ScilabDouble([23]), + pout: new ScilabDouble([26], [27]), + pein: new ScilabDouble(), + peout: new ScilabDouble(), + gr_i: list(new ScilabString(["xstringb(orig(1),orig(2),"SPLIT_f",sz(1),sz(2));"]), new ScilabDouble([8])), + id: new ScilabString([""]), + in_implicit: new ScilabString(["E"]), + out_implicit: new ScilabString(["E"], ["E"], ["E"]), + in_style: new ScilabString(["ExplicitInputPort;align=left;verticalAlign=middle;spacing=10.0;rotation=0"]), + out_style: new ScilabString(["ExplicitOutputPort;align=right;verticalAlign=middle;spacing=10.0;rotation=0"], ["ExplicitOutputPort;align=right;verticalAlign=middle;spacing=10.0;rotation=0"], ["ExplicitOutputPort;align=right;verticalAlign=middle;spacing=10.0;rotation=0"]), + in_label: new ScilabString([""]), + out_label: new ScilabString([""], [""], [""]), + style: new ScilabString(["SPLIT_f"]) + }), + model: scicos_model({ + sim: new ScilabString(["lsplit"]), + in: new ScilabDouble([-1]), + in2: new ScilabDouble(), + intyp: new ScilabDouble([1]), + out: new ScilabDouble([-1], [-1], [-1]), + out2: new ScilabDouble(), + outtyp: new ScilabDouble([1]), + evtin: new ScilabDouble(), + evtout: new ScilabDouble(), + state: new ScilabDouble(), + dstate: new ScilabDouble(), + odstate: list(), + rpar: new ScilabDouble(), + ipar: new ScilabDouble(), + opar: list(), + blocktype: new ScilabString(["c"]), + firing: new ScilabDouble(), + dep_ut: new ScilabBoolean([true, false]), + label: new ScilabString([""]), + nzcross: new ScilabDouble([0]), + nmode: new ScilabDouble([0]), + equations: list(), + uid: new ScilabString([count]) + }), + doc: list(new ScilabString([count++])) + })); + scs_m.objs.push(scicos_link({ + xx: new ScilabDouble([110.25582], [114.33667], [125.33494]), + yy: new ScilabDouble([405.42077], [405.39945], [405.342]), + id: new ScilabString(["drawlink"]), + thick: new ScilabDouble([0, 0]), + ct: new ScilabDouble([1, 1]), + from: new ScilabDouble([25, 1, 0]), + to: new ScilabDouble([18, 1, 1]) + })); + scs_m.objs.push(scicos_link({ + xx: new ScilabDouble([110.25582], [110.25582], [208.85853]), + yy: new ScilabDouble([405.42077], [469.13173], [469.13173]), + id: new ScilabString(["drawlink"]), + thick: new ScilabDouble([0, 0]), + ct: new ScilabDouble([1, 1]), + from: new ScilabDouble([25, 2, 0]), + to: new ScilabDouble([24, 1, 1]) + })); + scs_m.objs.push(scicos_block({ + gui: new ScilabString(["SPLIT_f"]), + graphics: scicos_graphics({ + orig: new ScilabDouble([222.54128], [408.2166]), + sz: new ScilabDouble([0.3333333, 0.3333333]), + flip: new ScilabBoolean([true]), + theta: new ScilabDouble([0]), + exprs: new ScilabDouble(), + pin: new ScilabDouble([9]), + pout: new ScilabDouble([29], [30]), + pein: new ScilabDouble(), + peout: new ScilabDouble(), + gr_i: list(new ScilabString(["xstringb(orig(1),orig(2),"SPLIT_f",sz(1),sz(2));"]), new ScilabDouble([8])), + id: new ScilabString([""]), + in_implicit: new ScilabString(["E"]), + out_implicit: new ScilabString(["E"], ["E"], ["E"]), + in_style: new ScilabString(["ExplicitInputPort;align=left;verticalAlign=middle;spacing=10.0;rotation=0"]), + out_style: new ScilabString(["ExplicitOutputPort;align=right;verticalAlign=middle;spacing=10.0;rotation=0"], ["ExplicitOutputPort;align=right;verticalAlign=middle;spacing=10.0;rotation=0"], ["ExplicitOutputPort;align=right;verticalAlign=middle;spacing=10.0;rotation=0"]), + in_label: new ScilabString([""]), + out_label: new ScilabString([""], [""], [""]), + style: new ScilabString(["SPLIT_f"]) + }), + model: scicos_model({ + sim: new ScilabString(["lsplit"]), + in: new ScilabDouble([-1]), + in2: new ScilabDouble(), + intyp: new ScilabDouble([1]), + out: new ScilabDouble([-1], [-1], [-1]), + out2: new ScilabDouble(), + outtyp: new ScilabDouble([1]), + evtin: new ScilabDouble(), + evtout: new ScilabDouble(), + state: new ScilabDouble(), + dstate: new ScilabDouble(), + odstate: list(), + rpar: new ScilabDouble(), + ipar: new ScilabDouble(), + opar: list(), + blocktype: new ScilabString(["c"]), + firing: new ScilabDouble(), + dep_ut: new ScilabBoolean([true, false]), + label: new ScilabString([""]), + nzcross: new ScilabDouble([0]), + nmode: new ScilabDouble([0]), + equations: list(), + uid: new ScilabString([count]) + }), + doc: list(new ScilabString([count++])) + })); + scs_m.objs.push(scicos_link({ + xx: new ScilabDouble([222.54128], [231.4115]), + yy: new ScilabDouble([408.2166], [408.2166]), + id: new ScilabString(["drawlink"]), + thick: new ScilabDouble([0, 0]), + ct: new ScilabDouble([1, 1]), + from: new ScilabDouble([28, 1, 0]), + to: new ScilabDouble([2, 1, 1]) + })); + scs_m.objs.push(scicos_link({ + xx: new ScilabDouble([222.54128], [222.54128], [208.85853], [208.85853]), + yy: new ScilabDouble([408.2166], [453.0015], [453.0015], [485.7984]), + id: new ScilabString(["drawlink"]), + thick: new ScilabDouble([0, 0]), + ct: new ScilabDouble([1, 1]), + from: new ScilabDouble([28, 2, 0]), + to: new ScilabDouble([24, 3, 1]) + })); + scs_m.objs.push(scicos_link({ + xx: new ScilabDouble([219.57282], [231.2505]), + yy: new ScilabDouble([477.46506], [476.57677]), + id: new ScilabString(["drawlink"]), + thick: new ScilabDouble([0, 0]), + ct: new ScilabDouble([1, 1]), + from: new ScilabDouble([24, 1, 0]), + to: new ScilabDouble([21, 1, 1]) + })); + scs_m.objs.push(scicos_block({ + gui: new ScilabString(["SELECT_m"]), + graphics: scicos_graphics({ + orig: new ScilabDouble([298.86371, 253.57321]), + sz: new ScilabDouble([40, 40]), + flip: new ScilabBoolean([true]), + theta: new ScilabDouble([0]), + exprs: new ScilabString(["5"], ["2"], ["1"]), + pin: new ScilabDouble([33], [40]), + pout: new ScilabDouble([34]), + pein: new ScilabDouble([43], [44]), + peout: new ScilabDouble(), + gr_i: list(new ScilabString(["xstringb(orig(1),orig(2),"SELECT_m",sz(1),sz(2));"]), new ScilabDouble([8])), + id: new ScilabString([""]), + in_implicit: new ScilabString(["E"], ["E"]), + out_implicit: new ScilabString(["E"]), + in_style: new ScilabString(["ExplicitInputPort;align=left;verticalAlign=middle;spacing=10.0;rotation=0"], ["ExplicitInputPort;align=left;verticalAlign=middle;spacing=10.0;rotation=0"]), + out_style: new ScilabString(["ExplicitOutputPort;align=right;verticalAlign=middle;spacing=10.0;rotation=0"]), + in_label: new ScilabString([""], [""]), + out_label: new ScilabString([""]), + style: new ScilabString(["SELECT_m"]) + }), + model: scicos_model({ + sim: list(new ScilabString(["selector_m"]), new ScilabDouble([4])), + in: new ScilabDouble([-1], [-1]), + in2: new ScilabDouble([-2], [-2]), + intyp: new ScilabDouble([5], [5]), + out: new ScilabDouble([-1]), + out2: new ScilabDouble([-2]), + outtyp: new ScilabDouble([5]), + evtin: new ScilabDouble([1], [1]), + evtout: new ScilabDouble(), + state: new ScilabDouble(), + dstate: new ScilabDouble([1]), + odstate: list(), + rpar: new ScilabDouble(), + ipar: new ScilabDouble(), + opar: list(), + blocktype: new ScilabString(["c"]), + firing: new ScilabDouble(), + dep_ut: new ScilabBoolean([true, false]), + label: new ScilabString([""]), + nzcross: new ScilabDouble([0]), + nmode: new ScilabDouble([0]), + equations: list(), + uid: new ScilabString([count]) + }), + doc: list(new ScilabString([count++])) + })); + scs_m.objs.push(scicos_link({ + xx: new ScilabDouble([282.29299], [290.29229]), + yy: new ScilabDouble([280.24498], [280.23987]), + id: new ScilabString(["drawlink"]), + thick: new ScilabDouble([0, 0]), + ct: new ScilabDouble([1, 1]), + from: new ScilabDouble([4, 1, 0]), + to: new ScilabDouble([32, 1, 1]) + })); + scs_m.objs.push(scicos_link({ + xx: new ScilabDouble([347.43514], [357.57328], [357.57328]), + yy: new ScilabDouble([273.57321], [273.57321], [280.83282]), + id: new ScilabString(["drawlink"]), + thick: new ScilabDouble([0, 0]), + ct: new ScilabDouble([1, 1]), + from: new ScilabDouble([32, 1, 0]), + to: new ScilabDouble([35, 1, 1]) + })); + scs_m.objs.push(scicos_block({ + gui: new ScilabString(["SPLIT_f"]), + graphics: scicos_graphics({ + orig: new ScilabDouble([357.57328, 280.83282]), + sz: new ScilabDouble([0.3333333, 0.3333333]), + flip: new ScilabBoolean([true]), + theta: new ScilabDouble([0]), + exprs: new ScilabDouble(), + pin: new ScilabDouble([34]), + pout: new ScilabDouble([36], [37]), + pein: new ScilabDouble(), + peout: new ScilabDouble(), + gr_i: list(new ScilabString(["xstringb(orig(1),orig(2),"SPLIT_f",sz(1),sz(2));"]), new ScilabDouble([8])), + id: new ScilabString([""]), + in_implicit: new ScilabString(["E"]), + out_implicit: new ScilabString(["E"], ["E"], ["E"]), + in_style: new ScilabString(["ExplicitInputPort;align=left;verticalAlign=middle;spacing=10.0;rotation=0"]), + out_style: new ScilabString(["ExplicitOutputPort;align=right;verticalAlign=middle;spacing=10.0;rotation=0"], ["ExplicitOutputPort;align=right;verticalAlign=middle;spacing=10.0;rotation=0"], ["ExplicitOutputPort;align=right;verticalAlign=middle;spacing=10.0;rotation=0"]), + in_label: new ScilabString([""]), + out_label: new ScilabString([""], [""], [""]), + style: new ScilabString(["SPLIT_f"]) + }), + model: scicos_model({ + sim: new ScilabString(["lsplit"]), + in: new ScilabDouble([-1]), + in2: new ScilabDouble(), + intyp: new ScilabDouble([1]), + out: new ScilabDouble([-1], [-1], [-1]), + out2: new ScilabDouble(), + outtyp: new ScilabDouble([1]), + evtin: new ScilabDouble(), + evtout: new ScilabDouble(), + state: new ScilabDouble(), + dstate: new ScilabDouble(), + odstate: list(), + rpar: new ScilabDouble(), + ipar: new ScilabDouble(), + opar: list(), + blocktype: new ScilabString(["c"]), + firing: new ScilabDouble(), + dep_ut: new ScilabBoolean([true, false]), + label: new ScilabString([""]), + nzcross: new ScilabDouble([0]), + nmode: new ScilabDouble([0]), + equations: list(), + uid: new ScilabString([count]) + }), + doc: list(new ScilabString([count++])) + })); + scs_m.objs.push(scicos_link({ + xx: new ScilabDouble([357.57328], [357.57328], [364.66964]), + yy: new ScilabDouble([280.83282], [329.46812], [329.46812]), + id: new ScilabString(["drawlink"]), + thick: new ScilabDouble([0, 0]), + ct: new ScilabDouble([1, 1]), + from: new ScilabDouble([35, 1, 0]), + to: new ScilabDouble([7, 1, 1]) + })); + scs_m.objs.push(scicos_link({ + xx: new ScilabDouble([357.57328], [376.4669]), + yy: new ScilabDouble([280.83282], [280.83282]), + id: new ScilabString(["drawlink"]), + thick: new ScilabDouble([0, 0]), + ct: new ScilabDouble([1, 1]), + from: new ScilabDouble([35, 2, 0]), + to: new ScilabDouble([14, 1, 1]) + })); + scs_m.objs.push(scicos_block({ + gui: new ScilabString(["SPLIT_f"]), + graphics: scicos_graphics({ + orig: new ScilabDouble([140.34523], [273.49157]), + sz: new ScilabDouble([0.3333333, 0.3333333]), + flip: new ScilabBoolean([true]), + theta: new ScilabDouble([0]), + exprs: new ScilabDouble(), + pin: new ScilabDouble([6]), + pout: new ScilabDouble([39], [40]), + pein: new ScilabDouble(), + peout: new ScilabDouble(), + gr_i: list(new ScilabString(["xstringb(orig(1),orig(2),"SPLIT_f",sz(1),sz(2));"]), new ScilabDouble([8])), + id: new ScilabString([""]), + in_implicit: new ScilabString(["E"]), + out_implicit: new ScilabString(["E"], ["E"], ["E"]), + in_style: new ScilabString(["ExplicitInputPort;align=left;verticalAlign=middle;spacing=10.0;rotation=0"]), + out_style: new ScilabString(["ExplicitOutputPort;align=right;verticalAlign=middle;spacing=10.0;rotation=0"], ["ExplicitOutputPort;align=right;verticalAlign=middle;spacing=10.0;rotation=0"], ["ExplicitOutputPort;align=right;verticalAlign=middle;spacing=10.0;rotation=0"]), + in_label: new ScilabString([""]), + out_label: new ScilabString([""], [""], [""]), + style: new ScilabString(["SPLIT_f"]) + }), + model: scicos_model({ + sim: new ScilabString(["lsplit"]), + in: new ScilabDouble([-1]), + in2: new ScilabDouble(), + intyp: new ScilabDouble([1]), + out: new ScilabDouble([-1], [-1], [-1]), + out2: new ScilabDouble(), + outtyp: new ScilabDouble([1]), + evtin: new ScilabDouble(), + evtout: new ScilabDouble(), + state: new ScilabDouble(), + dstate: new ScilabDouble(), + odstate: list(), + rpar: new ScilabDouble(), + ipar: new ScilabDouble(), + opar: list(), + blocktype: new ScilabString(["c"]), + firing: new ScilabDouble(), + dep_ut: new ScilabBoolean([true, false]), + label: new ScilabString([""]), + nzcross: new ScilabDouble([0]), + nmode: new ScilabDouble([0]), + equations: list(), + uid: new ScilabString([count]) + }), + doc: list(new ScilabString([count++])) + })); + scs_m.objs.push(scicos_link({ + xx: new ScilabDouble([140.34523], [144.31759]), + yy: new ScilabDouble([273.49157], [273.57832]), + id: new ScilabString(["drawlink"]), + thick: new ScilabDouble([0, 0]), + ct: new ScilabDouble([1, 1]), + from: new ScilabDouble([38, 1, 0]), + to: new ScilabDouble([3, 2, 1]) + })); + scs_m.objs.push(scicos_link({ + xx: new ScilabDouble([140.34523], [140.34523], [290.29229], [290.29229]), + yy: new ScilabDouble([273.49157], [247.70767], [247.70767], [266.90654]), + id: new ScilabString(["drawlink"]), + thick: new ScilabDouble([0, 0]), + ct: new ScilabDouble([1, 1]), + from: new ScilabDouble([38, 2, 0]), + to: new ScilabDouble([32, 2, 1]) + })); + scs_m.objs.push(scicos_block({ + gui: new ScilabString(["CLKSPLIT_f"]), + graphics: scicos_graphics({ + orig: new ScilabDouble([253.72572], [309.29537]), + sz: new ScilabDouble([0.3333333, 0.3333333]), + flip: new ScilabBoolean([true]), + theta: new ScilabDouble([0]), + exprs: new ScilabDouble(), + pin: new ScilabDouble(), + pout: new ScilabDouble(), + pein: new ScilabDouble([17]), + peout: new ScilabDouble([42], [43]), + gr_i: list(new ScilabString(["xstringb(orig(1),orig(2),"CLKSPLIT_f",sz(1),sz(2));"]), new ScilabDouble([8])), + id: new ScilabString([""]), + in_implicit: new ScilabDouble(), + out_implicit: new ScilabDouble(), + style: new ScilabString(["CLKSPLIT_f"]) + }), + model: scicos_model({ + sim: new ScilabString(["split"]), + in: new ScilabDouble(), + in2: new ScilabDouble(), + intyp: new ScilabDouble([1]), + out: new ScilabDouble(), + out2: new ScilabDouble(), + outtyp: new ScilabDouble([1]), + evtin: new ScilabDouble([1]), + evtout: new ScilabDouble([1], [1]), + state: new ScilabDouble(), + dstate: new ScilabDouble(), + odstate: list(), + rpar: new ScilabDouble(), + ipar: new ScilabDouble(), + opar: list(), + blocktype: new ScilabString(["d"]), + firing: new ScilabBoolean([false, false, false]), + dep_ut: new ScilabBoolean([false, false]), + label: new ScilabString([""]), + nzcross: new ScilabDouble([0]), + nmode: new ScilabDouble([0]), + equations: list(), + uid: new ScilabString([count]) + }), + doc: list(new ScilabString([count++])) + })); + scs_m.objs.push(scicos_link({ + xx: new ScilabDouble([253.72572], [253.72156]), + yy: new ScilabDouble([309.29537], [305.95927]), + id: new ScilabString(["drawlink"]), + thick: new ScilabDouble([0, 0]), + ct: new ScilabDouble([5, -1]), + from: new ScilabDouble([41, 1, 0]), + to: new ScilabDouble([4, 1, 1]) + })); + scs_m.objs.push(scicos_link({ + xx: new ScilabDouble([253.72572], [312.19705], [312.19705]), + yy: new ScilabDouble([309.29537], [309.29537], [299.28749]), + id: new ScilabString(["drawlink"]), + thick: new ScilabDouble([0, 0]), + ct: new ScilabDouble([5, -1]), + from: new ScilabDouble([41, 2, 0]), + to: new ScilabDouble([32, 1, 1]) + + })); + scs_m.objs.push(scicos_link({ + xx: new ScilabDouble([279.98293], [279.98293], [325.53038], [325.53038]), + yy: new ScilabDouble([372.50232], [315.89455], [315.89455], [299.28749]), + id: new ScilabString(["drawlink"]), + thick: new ScilabDouble([0, 0]), + ct: new ScilabDouble([5, -1]), + from: new ScilabDouble([2, 2, 0]), + to: new ScilabDouble([32, 2, 1]) + })); + + var model = scicos_model(); + model.sim = new ScilabString(["csuper"]); + model.in = new ScilabDouble([1], [1], [1]); + model.in2 = new ScilabDouble([1], [1], [1]); + model.out = new ScilabDouble([1], [1]); + model.out2 = new ScilabDouble([1], [1]); + model.intyp = new ScilabDouble([5, 1, 1]); + model.outtyp = new ScilabDouble([5, 5]); + model.blocktype = new ScilabString(["h"]); + model.firing = new ScilabBoolean([false]); + model.dep_ut = new ScilabBoolean([true, false]); + model.rpar = scs_m; + + var gr_i = []; + this.x = new standard_define(new ScilabDouble([2, 3]), model, new ScilabDouble(), gr_i); + return new BasicBlock(this.x); + } + DFLIPFLOP.prototype.details = function DFLIPFLOP() { + return this.x; + } +} +function DIFF_f() { + + DIFF_f.prototype.define = function DIFF_f() { + this.x0 = [[0], [0]]; + + var model = scicos_model(); + model.sim = list(new ScilabString(["diffblk"]), new ScilabDouble([10001])); + model.in = new ScilabDouble([1]); + model.out = new ScilabDouble([1]); + model.state = new ScilabDouble(...this.x0); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([false, true]); + + var exprs = new ScilabString([sci2exp(this.x0[0])], [sci2exp(this.x0[1])]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"DIFF_f\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + DIFF_f.prototype.details = function DIFF_f() { + return this.x; + } +} + +function Diode() { + + Diode.prototype.define = function Diode() { + + this.Ids = 1.e-6; + this.Vt = 0.04; + this.Maxexp = 15; + this.R = 1.e8; + + var model = scicos_model(); + model.rpar = new ScilabDouble([this.Ids], [this.Vt], [this.Maxexp], [this.R]); + model.in = new ScilabDouble([1]); + model.out = new ScilabDouble([1]); + model.sim = new ScilabString(["Diode"]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var mo = modelica(); + mo.model = new ScilabString(["Diode"]); + mo.inputs = new ScilabString(["p"]); + mo.outputs = new ScilabString(["n"]); + mo.parameters = list(new ScilabString(["Ids", "Vt", "Maxexp", "R"]), list(new ScilabDouble([this.Ids]), new ScilabDouble([this.Vt]), new ScilabDouble([this.Maxexp]), new ScilabDouble([this.R]))); + model.equations = mo; + + var exprs = new ScilabString([this.Ids], [this.Vt], [this.Maxexp], [this.R]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"Diode\",sz(1),sz(2));"]); + this.x = standard_define(new ScilabDouble([2, 1]), model, exprs, list(gr_i, 0)); + this.x.graphics.in_implicit = new ScilabString(["I"]); + this.x.graphics.out_implicit = new ScilabString(["I"]); + return new BasicBlock(this.x); + } + Diode.prototype.details = function Diode() { + return this.x; + } +} +function DLR() { + + DLR.prototype.define = function DLR() { + this.x0 = 0; + this.A = -1; + this.B = 1; + this.C = 1; + this.D = 0; + + var model = scicos_model(); + model.sim = list(new ScilabString(["dsslti4"]), new ScilabDouble([4])); + model.in = new ScilabDouble([1]); + model.out = new ScilabDouble([1]); + model.evtin = new ScilabDouble([1]); + model.dstate = new ScilabDouble([this.x0]); + model.rpar = new ScilabDouble([this.A], [this.B], [this.C], [this.D]); + model.blocktype = new ScilabString(["d"]); + model.dep_ut = new ScilabBoolean([false, false]); + + var exprs = new ScilabString(["1"], ["1+z"]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"DLR\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([3, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + DLR.prototype.details = function DLR() { + return this.x; + } +} + +function DLSS() { + + DLSS.prototype.define = function DLSS() { + this.x0 = 0; + this.A = -1; + this.B = 1; + this.C = 1; + this.D = 0; + + var model = scicos_model(); + model.sim = list(new ScilabString(["dsslti4"]), new ScilabDouble([4])); + model.in = new ScilabDouble([1]); + model.out = new ScilabDouble([1]); + model.evtin = new ScilabDouble([1]); + model.dstate = new ScilabDouble([this.x0]); + model.rpar = new ScilabDouble([this.A], [this.B], [this.C], [this.D]); + model.blocktype = new ScilabString(["d"]); + model.dep_ut = new ScilabBoolean([false, false]); + + var exprs = new ScilabString([sci2exp(this.A)], [sci2exp(this.B)], [sci2exp(this.C)], [sci2exp(this.D)], [sci2exp(this.x0)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"DLSS\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([4, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + DLSS.prototype.details = function DLSS() { + return this.x; + } +} + +function DOLLAR() { + + DOLLAR.prototype.define = function DOLLAR() { + this.z = 0; + this.inh = 0; + this.in1 = 1; + + var model = scicos_model(); + model.sim = list(new ScilabString(["dollar4"]), new ScilabDouble([4])); + model.in = new ScilabDouble([this.in1]); + model.out = new ScilabDouble([this.in1]); + model.evtin = new ScilabDouble([1 - this.inh]); + model.dstate = new ScilabDouble([this.z]); + model.blocktype = new ScilabString(["d"]); + model.dep_ut = new ScilabBoolean([false, false]); + + var exprs = new ScilabString([this.z], [this.inh]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"DOLLAR\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + DOLLAR.prototype.details = function DOLLAR() { + return this.x; + } +} + +function DOLLAR_f() { + + DOLLAR_f.prototype.define = function DOLLAR_f() { + this.z = 0; + this.inh = 0; + this.in1 = 1; + + var model = scicos_model(); + model.sim = new ScilabString(["dollar"]); + model.in = new ScilabDouble([this.in1]); + model.out = new ScilabDouble([this.in1]); + model.evtin = new ScilabDouble([1 - this.inh]); + model.dstate = new ScilabDouble([this.z]); + model.blocktype = new ScilabString(["d"]); + model.dep_ut = new ScilabBoolean([false, false]); + + var exprs = new ScilabString([this.z], [this.inh]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"DOLLAR_f\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + DOLLAR_f.prototype.details = function DOLLAR_f() { + return this.x; + } +} + +function DOLLAR_m() { + + DOLLAR_m.prototype.define = function DOLLAR_m() { + this.z = 0; + this.inh = 0; + this.in1 = 1; + + var model = scicos_model(); + model.sim = list(new ScilabString(["dollar4"]), new ScilabDouble([4])); + model.in = new ScilabDouble([this.in1]); + model.out = new ScilabDouble([this.in1]); + model.evtin = new ScilabDouble([1 - this.inh]); + model.dstate = new ScilabDouble([this.z]); + model.blocktype = new ScilabString(["d"]); + model.dep_ut = new ScilabBoolean([false, false]); + + var exprs = new ScilabString([this.z], [this.inh]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"DOLLAR_m\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + DOLLAR_m.prototype.details = function DOLLAR_m() { + return this.x; + } +} + +function EDGETRIGGER() { + + EDGETRIGGER.prototype.internal = function EDGETRIGGER() { + this.edge = 1; + var model = scicos_model(); + model.sim = list(new ScilabString(["edgetrig"]), new ScilabDouble([4])); + model.in = new ScilabDouble([1]); + model.out = new ScilabDouble([1]); + model.in2 = new ScilabDouble([1]); + model.out2 = new ScilabDouble([1]); + model.intyp = new ScilabDouble([1]); + model.outtyp = new ScilabDouble([1]); + model.dstate = new ScilabDouble([0]); + model.nzcross = new ScilabDouble([1]); + model.ipar = new ScilabDouble([this.edge]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var exprs = new ScilabString([this.edge]); + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),"EDGETRIGGER",sz(1),sz(2));"]); + var block = standard_define(new ScilabDouble([3, 2]), model, exprs, gr_i); + block.graphics.style = new ScilabString(["EDGETRIGGER"]); + return block; + } +} +function EDGE_TRIGGER() { + + EDGE_TRIGGER.prototype.define = function EDGE_TRIGGER() { + var scs_m_1 = scicos_diagram(); + scs_m_1.objs.push(new EDGETRIGGER().internal()); + scs_m_1.objs.push(new IFTHEL_f().internal()); + scs_m_1.objs.push(new IN_f().internal()); + scs_m_1.objs.push(new CLKOUTV_f().internal()); + scs_m_1.objs.push(scicos_link({})); + scs_m_1.objs.push(scicos_link({})); + scs_m_1.objs.push(scicos_link({})); + + var blk = scs_m_1.objs[0]; + var graphics = blk.graphics; + var model = blk.model; + graphics.orig = new ScilabDouble([60, 0]); + graphics.sz = new ScilabDouble([60, 40]); + graphics.exprs = new ScilabString(["0"]); + graphics.in_implicit = new ScilabString(["E"]); + graphics.out_implicit = new ScilabString(["E"]); + graphics.in_style = new ScilabString(["ExplicitInputPort;align=left;verticalAlign=middle;spacing=10.0;rotation=0"]); + graphics.out_style = new ScilabString(["ExplicitOutputPort;align=right;verticalAlign=middle;spacing=10.0;rotation=0"]); + graphics.in_label = new ScilabString([""]); + graphics.out_label = new ScilabString([""]); + model.ipar = new ScilabDouble([0]); + graphics.pin = new ScilabDouble([5]); + graphics.pout = new ScilabDouble([6]); + model.uid = new ScilabString([count]); + blk.doc = list(new ScilabString([count++])); + blk.graphics = graphics; + blk.model = model; + scs_m_1.objs[0] = blk; + + blk = scs_m_1.objs[1]; + graphics = blk.graphics; + model = blk.model; + graphics.orig = new ScilabDouble([160, 0]); + graphics.sz = new ScilabDouble([60, 40]); + graphics.exprs = new ScilabString(["0"], ["0"]); + model.evtin = new ScilabDouble(); + model.nzcross = new ScilabDouble([0]); + model.nmode = new ScilabDouble([0]); + graphics.pin = new ScilabDouble([6]); + graphics.peout = new ScilabDouble([7], [0]); + model.uid = new ScilabString([count]); + blk.doc = list(new ScilabString([count++])); + blk.graphics = graphics; + blk.model = model; + scs_m_1.objs[1] = blk; + + blk = scs_m_1.objs[2]; + graphics = blk.graphics; + model = blk.model; + graphics.orig = new ScilabDouble([0, 10]); + graphics.sz = new ScilabDouble([20, 20]); + graphics.exprs = new ScilabString(["1"]); + model.ipar = new ScilabDouble([1]); + graphics.pout = new ScilabDouble([5]); + model.uid = new ScilabString([count]); + blk.doc = list(new ScilabString([count++])); + blk.graphics = graphics; + blk.model = model; + scs_m_1.objs[2] = blk; + + blk = scs_m_1.objs[3]; + graphics = blk.graphics; + model = blk.model; + graphics.orig = new ScilabDouble([170, -60]); + graphics.sz = new ScilabDouble([20, 20]); + graphics.exprs = new ScilabString(["1"]); + model.ipar = new ScilabDouble([1]); + graphics.pein = new ScilabDouble([7]); + model.uid = new ScilabString([count]); + blk.doc = list(new ScilabString([count++])); + blk.graphics = graphics; + blk.model = model; + scs_m_1.objs[3] = blk; + + var lnk = scs_m_1.objs[4]; + lnk.xx = new ScilabDouble([64], [96]); + lnk.yy = new ScilabDouble([-40], [-20]); + lnk.from = new ScilabDouble([3, 1, 0]); + lnk.to = new ScilabDouble([1, 1, 1]); + scs_m_1.objs[4] = lnk; + + lnk = scs_m_1.objs[5]; + lnk.xx = new ScilabDouble([164], [196]); + lnk.yy = new ScilabDouble([-20], [-20]); + lnk.from = new ScilabDouble([1, 1, 0]); + lnk.to = new ScilabDouble([2, 1, 1]); + scs_m_1.objs[5] = lnk; + + lnk = scs_m_1.objs[6]; + lnk.xx = new ScilabDouble([220], [220]); + lnk.yy = new ScilabDouble([-44], [-96]); + lnk.ct = new ScilabDouble([5, -1]); + lnk.from = new ScilabDouble([2, 1, 0]); + lnk.to = new ScilabDouble([4, 1, 1]); + scs_m_1.objs[6] = lnk; + + model = scicos_model(); + model.sim = new ScilabString(["csuper"]); + model.in = new ScilabDouble([1]); + model.evtout = new ScilabDouble([1]); + model.rpar = scs_m_1; + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),"EDGE_TRIGGER",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([3, 2]), model, new ScilabDouble(), gr_i); + return new BasicBlock(this.x); + } + EDGE_TRIGGER.prototype.details = function EDGE_TRIGGER() { + return this.x; + } +} +function ENDBLK() { + + ENDBLK.prototype.define = function ENDBLK() { + var scs_m_1 = scicos_diagram({ + version: new ScilabString(["scicos4.2"]), + props: scicos_params({ + wpar: new ScilabDouble([600, 450, 0, 0, 600, 450]), + Title: new ScilabString(["ENDBLK"]), + tol: new ScilabDouble([0.0001], [0.000001], [Math.pow(10, -10)], [100001], [0], [0], [0]), + tf: new ScilabDouble([100000]), + context: new ScilabString([" "]), + void1: new ScilabDouble(), + options: tlist(["scsopt", "3D", "Background", "Link", "ID", "Cmap"], new ScilabString(["scsopt", "3D", "Background", "Link", "ID", "Cmap"]), list(new ScilabBoolean([true]), new ScilabDouble([33])), new ScilabDouble([8, 1]), new ScilabDouble([1, 5]), list(new ScilabDouble([5, 1]), new ScilabDouble([4, 1])), new ScilabDouble([0.8, 0.8, 0.8])), + void2: new ScilabDouble(), + void3: new ScilabDouble(), + doc: list() + }) + }); + scs_m_1.objs.push(scicos_block({ + gui: new ScilabString(["END_c"]), + graphics: scicos_graphics({ + orig: new ScilabDouble([272.104, 249.11733]), + sz: new ScilabDouble([40, 40]), + flip: new ScilabBoolean([true]), + theta: new ScilabDouble([0]), + exprs: new ScilabString(["1.000E+08"]), + pin: new ScilabDouble(), + pout: new ScilabDouble(), + pein: new ScilabDouble([2]), + peout: new ScilabDouble([2]), + gr_i: list(new ScilabString(["xstringb(orig(1),orig(2),"END_c",sz(1),sz(2));"]), new ScilabDouble([8])), + id: new ScilabString([""]), + in_implicit: new ScilabDouble(), + out_implicit: new ScilabDouble(), + style: new ScilabString(["END_c"]) + }), + model: scicos_model({ + sim: list(new ScilabString(["scicosexit"]), new ScilabDouble([4])), + in: new ScilabDouble(), + in2: new ScilabDouble(), + intyp: new ScilabDouble(), + out: new ScilabDouble(), + out2: new ScilabDouble(), + outtyp: new ScilabDouble(), + evtin: new ScilabDouble([1]), + evtout: new ScilabDouble([1]), + state: new ScilabDouble(), + dstate: new ScilabDouble(), + odstate: list(), + rpar: new ScilabDouble(), + ipar: new ScilabDouble(), + opar: list(), + blocktype: new ScilabString(["d"]), + firing: new ScilabDouble([1.000E+08]), + dep_ut: new ScilabBoolean([false, false]), + label: new ScilabString([""]), + nzcross: new ScilabDouble([0]), + nmode: new ScilabDouble([0]), + equations: list(), + uid: new ScilabString([count]) + }), + doc: list(new ScilabString([count++])) + })); + scs_m_1.objs.push(scicos_link({ + xx: new ScilabDouble([292.104], [292.104], [261.83733], [261.83733], [292.104], [292.104]), + yy: new ScilabDouble([243.40305], [234.45067], [234.45067], [305.584], [305.584], [294.83162]), + id: new ScilabString(["drawlink"]), + thick: new ScilabDouble([0, 0]), + ct: new ScilabDouble([5, -1]), + from: new ScilabDouble([1, 1, 0]), + to: new ScilabDouble([1, 1, 1]) + })); + + var model = scicos_model({ + sim: new ScilabString(["csuper"]), + in: new ScilabDouble(), + in2: new ScilabDouble(), + intyp: new ScilabDouble([1]), + out: new ScilabDouble(), + out2: new ScilabDouble(), + outtyp: new ScilabDouble([1]), + evtin: new ScilabDouble(), + evtout: new ScilabDouble(), + state: new ScilabDouble(), + dstate: new ScilabDouble(), + odstate: list(), + rpar: scs_m_1, + ipar: new ScilabDouble(), + opar: list(), + blocktype: new ScilabString(["h"]), + firing: new ScilabDouble(), + dep_ut: new ScilabBoolean([false, false]), + label: new ScilabString([""]), + nzcross: new ScilabDouble([0]), + nmode: new ScilabDouble([0]), + equations: list() + }); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),"ENDBLK",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, new ScilabDouble(), gr_i); + return new BasicBlock(this.x); + } + ENDBLK.prototype.details = function ENDBLK() { + return this.x; + } +} +function END_c() { + + END_c.prototype.define = function END_c() { + this.tf = 100000000; + + var model = scicos_model(); + model.sim = list(new ScilabString(["scicosexit"]), new ScilabDouble([4])); + model.evtin = new ScilabDouble([1]); + model.evtout = new ScilabDouble([1]); + model.firing = new ScilabDouble([this.tf]); + model.blocktype = new ScilabString(["d"]); + model.dep_ut = new ScilabBoolean([false, false]); + + var exprs = new ScilabString([this.tf]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"END_c\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + END_c.prototype.details = function END_c() { + return this.x; + } +} + +function ESELECT_f() { + + ESELECT_f.prototype.define = function ESELECT_f() { + this.out = 2; + + var model = scicos_model(); + model.sim = list(new ScilabString(["eselect"]), new ScilabDouble([-2])); + model.in = new ScilabDouble([1]); + model.in2 = new ScilabDouble([1]); + model.intyp = new ScilabDouble([-1]); + model.evtin = new ScilabDouble([1]); + model.evtout = new ScilabDouble(...ones(this.out, 1)); + model.blocktype = new ScilabString(["l"]); + model.firing = new ScilabDouble(...ones(this.out, 1)); + model.dep_ut = new ScilabBoolean([true, false]); + model.nmode = new ScilabDouble([0]); + model.nzcross = new ScilabDouble([0]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"ESELECT_f\",sz(1),sz(2));"]);; + + var exprs = new ScilabString([this.out], [1], [parseInt(getData(model.nmode))]); + this.x = new standard_define(new ScilabDouble([4, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + + ESELECT_f.prototype.details = function ESELECT_f() { + return this.x; + } +} +function EVTDLY_c() { + + EVTDLY_c.prototype.internal = function EVTDLY_c() { + var dt = 0.1; + var ff = 0.0; + var model = scicos_model(); + model.sim = list(new ScilabString(["evtdly4"]), new ScilabDouble([4])); + model.evtin = new ScilabDouble([1]); + model.evtout = new ScilabDouble([1]); + model.rpar = new ScilabDouble([dt], [ff]); + model.blocktype = new ScilabString(["d"]); + model.firing = new ScilabDouble([ff]); + model.dep_ut = new ScilabBoolean([false, false]); + // changed + model.outtyp = new ScilabDouble(); + var exprs = new ScilabString([dt], [ff]); + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"EVTDLY_c\",sz(1),sz(2));"]); + var block = new standard_define(new ScilabDouble([80, 80]), model, exprs, gr_i); // 3,2 -> 80 + block.graphics.style = new ScilabString(["EVTDLY_c"]); + return block; + + } + + EVTDLY_c.prototype.define = function EVTDLY_c() { + this.dt = 0.1; + this.ff = 0.0; + var model = scicos_model(); + model.sim = list(new ScilabString(["evtdly4"]), new ScilabDouble([4])); + model.evtin = new ScilabDouble([1]); + model.evtout = new ScilabDouble([1]); + model.rpar = new ScilabDouble([this.dt], [this.ff]); + model.blocktype = new ScilabString(["d"]); + model.firing = new ScilabDouble([this.ff]); + model.dep_ut = new ScilabBoolean([false, false]); + // changed + model.outtyp = new ScilabDouble(); + var exprs = new ScilabString([this.dt], [this.ff]); + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"EVTDLY_c\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([80, 80]), model, exprs, gr_i); // 3,2 -> 80 + this.x.graphics.style = new ScilabString(["EVTDLY_c"]); + return new BasicBlock(this.x); + + } + + EVTDLY_c.prototype.details = function EVTDLY_c() { + + return this.x; + } +} +function EVTDLY_f () { + + EVTDLY_f.prototype.internal = function EVTDLY_f() { + this.dt = 0.1; + this.ff = this.dt; + + var model = scicos_model(); + model.sim = new ScilabString(["evtdly"]); + model.evtin = new ScilabDouble([1]); + model.evtout = new ScilabDouble([1]); + model.rpar=new ScilabDouble([this.dt]); + model.blocktype = new ScilabString(["d"]); + model.firing=new ScilabDouble([this.ff]); + model.dep_ut = new ScilabBoolean([false,false]); + + var exprs = new ScilabString([this.dt],[sci2exp(this.ff)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"EVTDLY_f\",sz(1),sz(2));"]); + var block = new standard_define(new ScilabDouble([2,2]),model,exprs,gr_i); + block.graphics.style = new ScilabString(["EVTDLY_f"]); + return block; + } +} +function EVTGEN_f() { + + EVTGEN_f.prototype.define = function EVTGEN_f() { + this.tt = 0; + + var model = scicos_model(); + model.sim = new ScilabString(["trash"]); + model.evtout = new ScilabDouble([1]); + model.blocktype = new ScilabString(["d"]); + model.firing = new ScilabDouble([this.tt]); + model.dep_ut = new ScilabBoolean([false, false]); + + var exprs = new ScilabString([this.tt]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"EVTGEN_f\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([3, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + EVTGEN_f.prototype.details = function EVTGEN_f() { + return this.x; + } +} +function EVTVARDLY() { + + EVTVARDLY.prototype.define = function EVTVARDLY() { + + var model = scicos_model(); + model.sim = list(new ScilabString(["evtvardly"]), new ScilabDouble([4])); + model.in = new ScilabDouble([1]); + model.evtin = new ScilabDouble([1]); + model.evtout = new ScilabDouble([1]); + model.blocktype = new ScilabString(["d"]); + model.firing = new ScilabDouble([-1]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var exprs = new ScilabString([parseInt(getData(model.firing), 10)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"EVTVARDLY\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + EVTVARDLY.prototype.details = function EVTVARDLY() { + return this.x; + } +} + +function EXPBLK_m() { + + EXPBLK_m.prototype.define = function EXPBLK_m() { + this.in1 = 1; + this.a = math.E; + + var model = scicos_model(); + model.sim = list(new ScilabString(["expblk_m"]), new ScilabDouble([4])); + model.in = new ScilabDouble([-1]); + model.in2 = new ScilabDouble([-2]); + model.out = new ScilabDouble([-1]); + model.out2 = new ScilabDouble([-2]); + model.intyp = new ScilabDouble([1]); + model.outtyp = new ScilabDouble([1]); + model.rpar = new ScilabDouble([this.a]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var exprs = new ScilabString(["%e"]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"EXPBLK_m\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + EXPBLK_m.prototype.details = function EXPBLK_m() { + return this.x; + } +} +function EXTRACT() { + + EXTRACT.prototype.define = function EXTRACT() { + this.function_name = "extract"; + this.funtyp = 4; + + var model = scicos_model(); + model.sim = list(new ScilabString([this.function_name]), new ScilabDouble([this.funtyp])); + model.in = new ScilabDouble([-1]); + model.in2 = new ScilabDouble([-2]); + model.intyp = new ScilabDouble([1]); + model.out = new ScilabDouble([1]); + model.out2 = new ScilabDouble([1]); + model.outtyp = new ScilabDouble([1]); + model.evtin = new ScilabDouble(); + model.evtout = new ScilabDouble(); + model.state = new ScilabDouble(); + model.dstate = new ScilabDouble(); + model.rpar = new ScilabDouble(); + model.ipar = new ScilabDouble([1, 1, 1, 1]); + model.blocktype = new ScilabString(["c"]); + model.firing = new ScilabDouble(); + model.dep_ut = new ScilabBoolean([true, false]); + + var label = new ScilabString([sci2exp(1)], [sci2exp([1])], [sci2exp([1])]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"EXTRACT\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([3, 2]), model, label, gr_i); + return new BasicBlock(this.x); + } + EXTRACT.prototype.details = function EXTRACT() { + return this.x; + } +} + +function EXTRACTBITS() { + + EXTRACTBITS.prototype.define = function EXTRACTBITS() { + this.numb = []; + + var model = scicos_model(); + model.sim = list(new ScilabString(["extract_bit_32_UH0"]), new ScilabDouble([4])); + model.in = new ScilabDouble([1]); + model.in2 = new ScilabDouble([1]); + model.out = new ScilabDouble([1]); + model.out2 = new ScilabDouble([1]); + model.intyp = new ScilabDouble([3]); + model.outtyp = new ScilabDouble([3]); + model.ipar = new ScilabDouble([0, ...this.numb]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var exprs = new ScilabString([sci2exp(3)], [sci2exp(1)], [sci2exp(0)], [sci2exp(0)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"EXTRACTBITS\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([4, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + EXTRACTBITS.prototype.details = function EXTRACTBITS() { + return this.x; + } +} +function EXTRACTOR() { + + EXTRACTOR.prototype.define = function EXTRACTOR() { + this.ind = 1; + + var model = scicos_model(); + model.sim = list(new ScilabString(["extractor"]), new ScilabDouble([4])); + model.in = new ScilabDouble([-1]); + model.out = new ScilabDouble([1]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + model.ipar = new ScilabDouble([this.ind]); + + var exprs = new ScilabString([sci2exp(this.ind)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"EXTRACTOR\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([3, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + EXTRACTOR.prototype.details = function EXTRACTOR() { + return this.x; + } +} + +function Extract_Activation() { + + Extract_Activation.prototype.define = function Extract_Activation() { + var scs_m_1 = scicos_diagram(); + scs_m_1.objs.push(new IFTHEL_f().internal()); + scs_m_1.objs.push(new CLKSOMV_f().internal()); + scs_m_1.objs.push(new IN_f().internal()); + scs_m_1.objs.push(new CLKOUTV_f().internal()); + scs_m_1.objs.push(scicos_link({})); + scs_m_1.objs.push(scicos_link({})); + scs_m_1.objs.push(scicos_link({})); + scs_m_1.objs.push(scicos_link({})); + + var blk = scs_m_1.objs[0]; + var graphics = blk.graphics; + + var model = blk.model; + graphics.orig = new ScilabDouble([80, 0]); + graphics.sz = new ScilabDouble([60, 40]); + graphics.flip = new ScilabBoolean([true]); + graphics.exprs = new ScilabString(["0"], ["0"]); + model.evtin = new ScilabDouble(); + model.nzcross = new ScilabDouble([0]); + model.nmode = new ScilabDouble([0]); + graphics.pin = new ScilabDouble([7]); + graphics.peout = new ScilabDouble([5], [6]); + model.uid = new ScilabString([count]); + blk.doc = list(new ScilabString([count++])); + blk.graphics = graphics; + blk.model = model; + scs_m_1.objs[0] = blk; + + blk = scs_m_1.objs[1]; + graphics = blk.graphics; + model = blk.model; + model.outtyp = new ScilabDouble(); + model.evtin = new ScilabDouble([-1], [-1], [-1]); + model.evtout = new ScilabDouble([-1]); + graphics.orig = new ScilabDouble([80, -80]); + graphics.sz = new ScilabDouble([80, 40]); + graphics.flip = new ScilabBoolean([true]); + graphics.pein = new ScilabDouble([5], [6], [0]); + graphics.peout = new ScilabDouble([8]); + graphics.style = new ScilabString(["CLKSOMV_f"]); + model.uid = new ScilabString([count]); + blk.doc = list(new ScilabString([count++])); + blk.graphics = graphics; + blk.model = model; + scs_m_1.objs[1] = blk; + + blk = scs_m_1.objs[2]; + graphics = blk.graphics; + model = blk.model; + graphics.orig = new ScilabDouble([0, 10]); + graphics.sz = new ScilabDouble([20, 20]); + graphics.flip = new ScilabBoolean([true]); + graphics.exprs = new ScilabString(["1"]); + model.ipar = new ScilabDouble([1]); + graphics.pout = new ScilabDouble([7]); + model.uid = new ScilabString([count]); + blk.doc = list(new ScilabString([count++])); + blk.graphics = graphics; + blk.model = model; + scs_m_1.objs[2] = blk; + + blk = scs_m_1.objs[3]; + graphics = blk.graphics; + model = blk.model; + model.outtyp = new ScilabDouble(); + graphics.style = new ScilabString(["CLKOUTV_f"]); + graphics.orig = new ScilabDouble([110, -140]); + graphics.sz = new ScilabDouble([20, 20]); + graphics.flip = new ScilabBoolean([true]); + graphics.exprs = new ScilabString(["1"]); + graphics.gr_i = list(new ScilabString(["xstringb(orig(1),orig(2),\"CLKOUTV_f\",sz(1),sz(2));"]), new ScilabDouble([8])); + model.ipar = new ScilabDouble([1]); + graphics.pein = new ScilabDouble([8]); + model.uid = new ScilabString([count]); + blk.doc = list(new ScilabString([count++])); + blk.graphics = graphics; + blk.model = model; + scs_m_1.objs[3] = blk; + + var lnk = scs_m_1.objs[4]; + lnk.xx = new ScilabDouble([140], [140]); + lnk.yy = new ScilabDouble([-44], [-76]); + lnk.ct = new ScilabDouble([5, -1]); + lnk.from = new ScilabDouble([1, 1, 0]); + lnk.to = new ScilabDouble([2, 1, 1]); + scs_m_1.objs[4] = lnk; + + lnk = scs_m_1.objs[5]; + lnk.xx = new ScilabDouble([160], [160]); + lnk.yy = new ScilabDouble([-44], [-76]); + lnk.ct = new ScilabDouble([5, -1]); + lnk.from = new ScilabDouble([1, 2, 0]); + lnk.to = new ScilabDouble([2, 2, 1]); + scs_m_1.objs[5] = lnk; + + lnk = scs_m_1.objs[6]; + lnk.xx = new ScilabDouble([64], [116]); + lnk.yy = new ScilabDouble([-40], [-20]); + lnk.from = new ScilabDouble([3, 1, 0]); + lnk.to = new ScilabDouble([1, 1, 1]); + scs_m_1.objs[6] = lnk; + + lnk = scs_m_1.objs[7]; + lnk.xx = new ScilabDouble([160], [160]); + lnk.yy = new ScilabDouble([-124], [-176]); + lnk.ct = new ScilabDouble([5, -1]); + lnk.from = new ScilabDouble([2, 1, 0]); + lnk.to = new ScilabDouble([4, 1, 1]); + scs_m_1.objs[7] = lnk; + + model = scicos_model(); + model.sim = new ScilabString(["csuper"]); + model.in = new ScilabDouble([1]); + model.evtout = new ScilabDouble([1]); + model.rpar = scs_m_1; + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"Extract_Activation\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([3, 2]), model, new ScilabDouble(), gr_i); + return new BasicBlock(this.x); + } + + Extract_Activation.prototype.details = function Extract_Activation() { + return this.x; + } +} +function EXTTRI() { + + EXTTRI.prototype.define = function EXTTRI() { + this.function_name = "extrilz"; + this.funtyp = 4; + + var model = scicos_model(); + model.sim = list(new ScilabString([this.function_name]), new ScilabDouble([this.funtyp])); + model.in = new ScilabDouble([-1]); + model.in2 = new ScilabDouble([-2]); + model.intyp = new ScilabDouble([1]); + model.out = new ScilabDouble([-1]); + model.out2 = new ScilabDouble([-2]); + model.outtyp = new ScilabDouble([1]); + model.evtin = new ScilabDouble(); + model.evtout = new ScilabDouble(); + model.state = new ScilabDouble(); + model.dstate = new ScilabDouble(); + model.rpar = new ScilabDouble(); + model.ipar = new ScilabDouble(); + model.blocktype = new ScilabString(["c"]); + model.firing = new ScilabDouble(); + model.dep_ut = new ScilabBoolean([true, false]); + + var label = new ScilabString([sci2exp(1)], [sci2exp(1)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"EXTTRI\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([3, 2]), model, label, gr_i); + return new BasicBlock(this.x); + } + EXTTRI.prototype.details = function EXTTRI() { + return this.x; + } +} + +function Flowmeter() { + + Flowmeter.prototype.define = function Flowmeter() { + this.ModelName = "Flowmeter"; + this.PrametersValue = 1; + this.ParametersName = "Qini"; + + var model = scicos_model(); + + this.Typein = []; + this.Typeout = []; + + this.MI = []; + this.MO = []; + this.P = [[50,105,-1,90],[0,10,2,0],[101,10,-2,0]]; + this.PortName = [["Mesure"],["C1"],["C2"]]; + + for (var i = 0; i < size(this.P, "r"); i++) { + if (this.P[i][2] == 1) { + this.Typein.push(["E"]); + this.MI.push(this.PortName[i]); + } + + if (this.P[i][2] == 2) { + this.Typein.push(["I"]); + this.MI.push(this.PortName[i]); + } + if (this.P[i][2] == -1) { + this.Typeout.push(["E"]); + this.MO.push(this.PortName[i]); + } + if (this.P[i][2] == -2) { + this.Typeout.push(["I"]); + this.MO.push(this.PortName[i]); + } + } + + var mo = modelica(); + model.sim = new ScilabString([this.ModelName]); + mo.inputs = new ScilabString(...this.MI); + mo.outputs = new ScilabString(...this.MO); + model.rpar = new ScilabDouble([this.PrametersValue]); + mo.parameters = list(new ScilabString([this.ParametersName]), new ScilabDouble([this.PrametersValue]), new ScilabDouble(zeros([this.ParametersName]))); + var exprs = new ScilabString(["1"]); + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"Flowmeter\",sz(1),sz(2));"]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([false, true]); + mo.model = new ScilabString([this.ModelName]); + model.equations = mo; + model.in = new ScilabDouble(...ones(size(this.MI, "*"), 1)); + model.out = new ScilabDouble(...ones(size(this.MO, "*"), 1)); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, list(new ScilabString([gr_i]), new ScilabDouble([0]))); + this.x.graphics.in_implicit = new ScilabDouble(this.Typein); + this.x.graphics.out_implicit = new ScilabDouble(this.Typeout); + return new BasicBlock(this.x); + } + + Flowmeter.prototype.details = function Flowmeter() { + return this.x; + } +} +function fortran_block() { + + fortran_block.prototype.define = function fortran_block() { + var model = scicos_model(); + model.sim = list(new ScilabString([" "]), new ScilabDouble([1001])); + model.in = new ScilabDouble([1]); + model.out = new ScilabDouble([1]); + model.evtin = new ScilabDouble(); + model.evtout = new ScilabDouble(); + model.state = new ScilabDouble(); + model.dstate = new ScilabDouble(); + model.rpar = new ScilabDouble(); + model.ipar = new ScilabDouble([0]); + model.blocktype = new ScilabString(["c"]); + model.firing = new ScilabDouble(); + model.dep_ut = new ScilabBoolean([true, false]); + + this.funam = "forty"; + + var label = list(new ScilabString([sci2exp(parseInt(getData(model.in)))], [sci2exp(parseInt(getData(model.out)))], [sci2exp(getData(model.rpar))], [this.funam]), list(new ScilabDouble())); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"fortran_block\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([4, 2]), model, label, gr_i); + return new BasicBlock(this.x); + } + fortran_block.prototype.details = function fortran_block() { + return this.x; + } +} +function freq_div() { + + freq_div.prototype.define = function freq_div() { + var scs_m_1 = scicos_diagram(); + scs_m_1.objs.push(new Modulo_Count().internal()); + scs_m_1.objs.push(new CLKINV_f().internal()); + scs_m_1.objs.push(new CLKOUTV_f().internal()); + scs_m_1.objs.push(new IFTHEL_f().internal()); + scs_m_1.objs.push(new CLKSPLIT_f().internal()); + scs_m_1.objs.push(scicos_link({})); + scs_m_1.objs.push(scicos_link({})); + scs_m_1.objs.push(scicos_link({})); + scs_m_1.objs.push(scicos_link({})); + scs_m_1.objs.push(scicos_link({})); + + var blk = scs_m_1.objs[0]; + var graphics = blk.graphics; + var model = blk.model; + graphics.orig = new ScilabDouble([0, -100]); + graphics.sz = new ScilabDouble([60, 40]); + graphics.exprs = new ScilabString(["0"], ["3"]); + model.dstate = new ScilabDouble([3]); + model.ipar = new ScilabDouble([3]); + graphics.pout = new ScilabDouble([7]); + graphics.pein = new ScilabDouble([10]); + graphics.out_implicit = new ScilabString(["E"]); + graphics.out_style = new ScilabString(["ExplicitOutputPort;align=right;verticalAlign=middle;spacing=10.0;rotation=0"]); + graphics.out_label = new ScilabString([""]); + model.uid = new ScilabString([count]); + blk.doc = list(new ScilabString([count++])); + blk.graphics = graphics; + blk.model = model; + scs_m_1.objs[0] = blk; + + blk = scs_m_1.objs[1]; + graphics = blk.graphics; + model = blk.model; + graphics.orig = new ScilabDouble([120, 0]); + graphics.sz = new ScilabDouble([20, 20]); + graphics.exprs = new ScilabString(["1"]); + model.ipar = new ScilabDouble([1]); + graphics.peout = new ScilabDouble([6]); + model.uid = new ScilabString([count]); + blk.doc = list(new ScilabString([count++])); + blk.graphics = graphics; + blk.model = model; + scs_m_1.objs[1] = blk; + + blk = scs_m_1.objs[2]; + graphics = blk.graphics; + model = blk.model; + graphics.orig = new ScilabDouble([130, -160]); + graphics.sz = new ScilabDouble([20, 20]); + graphics.exprs = new ScilabString(["1"]); + model.ipar = new ScilabDouble([1]); + graphics.pein = new ScilabDouble([8]); + model.uid = new ScilabString([count]); + blk.doc = list(new ScilabString([count++])); + blk.graphics = graphics; + blk.model = model; + scs_m_1.objs[2] = blk; + + blk = scs_m_1.objs[3]; + graphics = blk.graphics; + model = blk.model; + graphics.orig = new ScilabDouble([100, -100]); + graphics.sz = new ScilabDouble([60, 40]); + graphics.exprs = new ScilabString(["1"], ["0"]); + model.ipar = new ScilabDouble([1]); + graphics.pin = new ScilabDouble([7]); + graphics.pein = new ScilabDouble([9]); + graphics.peout = new ScilabDouble([0], [8]); + model.uid = new ScilabString([count]); + blk.doc = list(new ScilabString([count++])); + blk.graphics = graphics; + blk.model = model; + scs_m_1.objs[3] = blk; + + blk = scs_m_1.objs[4]; + graphics = blk.graphics; + model = blk.model; + graphics.orig = new ScilabDouble([127, -33]); + graphics.sz = new ScilabDouble([7, 7]); + graphics.pein = new ScilabDouble([6]); + graphics.peout = new ScilabDouble([9], [10]); + model.uid = new ScilabString([count]); + blk.doc = list(new ScilabString([count++])); + blk.graphics = graphics; + blk.model = model; + scs_m_1.objs[4] = blk; + + var lnk = scs_m_1.objs[5]; + lnk.xx = new ScilabDouble([170], [170.5]); + lnk.yy = new ScilabDouble([-44], [-75]); + lnk.ct = new ScilabDouble([5, -1]); + lnk.from = new ScilabDouble([2, 1, 0]); + lnk.to = new ScilabDouble([5, 1, 1]); + scs_m_1.objs[5] = lnk; + + lnk = scs_m_1.objs[6]; + lnk.xx = new ScilabDouble([104], [136]); + lnk.yy = new ScilabDouble([-100], [-100]); + lnk.from = new ScilabDouble([1, 1, 0]); + lnk.to = new ScilabDouble([4, 1, 1]); + scs_m_1.objs[6] = lnk; + + lnk = scs_m_1.objs[7]; + lnk.xx = new ScilabDouble([180], [180]); + lnk.yy = new ScilabDouble([-124], [-176]); + lnk.ct = new ScilabDouble([5, -1]); + lnk.from = new ScilabDouble([4, 2, 0]); + lnk.to = new ScilabDouble([3, 1, 1]); + scs_m_1.objs[7] = lnk; + + lnk = scs_m_1.objs[8]; + lnk.xx = new ScilabDouble([170], [170.5]); + lnk.yy = new ScilabDouble([-44], [-75]); + lnk.ct = new ScilabDouble([5, -1]); + lnk.from = new ScilabDouble([5, 1, 0]); + lnk.to = new ScilabDouble([4, 1, 1]); + scs_m_1.objs[8] = lnk; + + lnk = scs_m_1.objs[9]; + lnk.xx = new ScilabDouble([169], [170]); + lnk.yy = new ScilabDouble([-90], [-76]); + lnk.xx = new ScilabDouble([0, 30, 1]); + lnk.yy = new ScilabDouble([0, -30, 1]); + lnk.ct = new ScilabDouble([5, -1]); + lnk.from = new ScilabDouble([5, 2, 0]); + lnk.to = new ScilabDouble([1, 1, 1]); + scs_m_1.objs[9] = lnk; + + model = scicos_model(); + model.sim = new ScilabString(["csuper"]); + model.evtin = new ScilabDouble([1]); + model.evtout = new ScilabDouble([1]); + model.rpar = scs_m_1; + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),"freq_div",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([3, 2]), model, new ScilabDouble(), gr_i); + return new BasicBlock(this.x); + } + freq_div.prototype.details = function freq_div() { + return this.x; + } +} +function FROMMO() { + + FROMMO.prototype.define = function FROMMO() { + + var model = scicos_model(); + model.sim = new ScilabString(["frommo"]); + model.in = new ScilabDouble(); + model.in2 = new ScilabDouble(); + model.intyp = new ScilabDouble([1]); + model.out = new ScilabDouble([-1]); + model.out2 = new ScilabDouble([-2]); + model.outtyp = new ScilabDouble([-1]); + model.ipar = new ScilabDouble(); + model.opar = list(new ScilabString(["A"])); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([false, false]); + + var mo = modelica(); + mo.model = new ScilabString(["frommo"]); + mo.outputs = new ScilabString(["n"]); + + var exprs = new ScilabString(["A"]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"FROMMO\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 1]), model, exprs, gr_i); + this.x.graphics.out_implicit = new ScilabString(["I"]); + return new BasicBlock(this.x); + } + FROMMO.prototype.details = function FROMMO() { + return this.x; + } +} + +function GAINBLK() { + + GAINBLK.prototype.define = function GAINBLK() { + this.gain = 1; + this.in1 = -1; + this.out = -1; + this.in2 = -2; + this.out2 = -2; + + var model = scicos_model(); + model.sim = list(new ScilabString(["gainblk"]), new ScilabDouble([4])); + model.in = new ScilabDouble([this.in1]); + model.out = new ScilabDouble([this.out]); + model.in2 = new ScilabDouble([this.in2]); + model.out2 = new ScilabDouble([this.out2]); + model.rpar = new ScilabDouble([this.gain]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var exprs = new ScilabString([sci2exp(this.gain)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"GAINBLK\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + GAINBLK.prototype.details = function GAINBLK() { + return this.x; + } +} + +function GAIN_f() { + + GAIN_f.prototype.define = function GAIN_f() { + this.gain = 1; + this.in1 = 1; + this.out = 1; + + var model = scicos_model(); + model.sim = new ScilabString(["gain"]); + model.in = new ScilabDouble([1]); + model.out = new ScilabDouble([1]); + model.rpar = new ScilabDouble([this.gain]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var exprs = new ScilabString([sci2exp(this.gain)], [sci2exp(this.in1)], [sci2exp(this.out)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"GAIN_f\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + GAIN_f.prototype.details = function GAIN_f() { + return this.x; + } +} + +function GENERAL_f() { + + GENERAL_f.prototype.define = function GENERAL_f() { + var rpar = [[0],[0],[0],[0]]; + + this.in1 = 1; + this.out = 1; + + var model = scicos_model(); + model.sim = list(new ScilabString(["zcross"]), new ScilabDouble([1])); + model.nzcross = new ScilabDouble([this.in1]); + model.in = new ScilabDouble([this.in1]); + model.evtout = new ScilabDouble(...ones(this.out, 1)); + model.rpar = new ScilabDouble([0], [0], [0], [0]); + model.blocktype = new ScilabString(["z"]); + model.firing = -new ScilabDouble(...ones(this.out, 1)); + model.dep_ut = new ScilabBoolean([true, false]); + + var exprs = new ScilabString([sci2exp(this.in1)], [sci2exp(this.out)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"GENERAL_f\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([3, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + + GENERAL_f.prototype.details = function GENERAL_f() { + return this.x; + } +} +function generic_block3() { + + generic_block3.prototype.define = function generic_block3() { + var model = scicos_model(); + this.function_name = "sinblk"; + this.funtyp = 4; + model.sim = list(new ScilabString([this.function_name]), new ScilabDouble([this.funtyp])); + model.in = new ScilabDouble([1]); + model.in2 = new ScilabDouble([1]); + model.intyp = new ScilabDouble([1]); + model.out = new ScilabDouble([1]); + model.out2 = new ScilabDouble([1]); + model.outtyp = new ScilabDouble([1]); + model.dep_ut = new ScilabBoolean([true, false]); + + var label = new ScilabString([this.function_name], [sci2exp(this.funtyp)], [sci2exp([parseInt(getData(model.in)[0]), parseInt(getData(model.in2)[0])])], [sci2exp(parseInt(getData(model.intyp)[0]))], [sci2exp([parseInt(getData(model.out)[0]), parseInt(getData(model.out2)[0])])], [sci2exp(parseInt(getData(model.outtyp)[0]))], [sci2exp(getData(model.evtin))], [sci2exp(getData(model.evtout))], [sci2exp(getData(model.state))], [sci2exp(getData(model.dstate))], [sci2exp(model.odstate)], [sci2exp(getData(model.rpar))], [sci2exp(getData(model.ipar))], [sci2exp(model.opar)], [sci2exp(parseInt(getData(model.nmode)[0]))], [sci2exp(parseInt(getData(model.nzcross)[0]))], [sci2exp(getData(model.firing))], ["y"], ["n"]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"generic_block3\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([4, 2]), model, label, gr_i); + return new BasicBlock(this.x); + } + generic_block3.prototype.details = function generic_block3() { + return this.x; + } +} +function GENSIN_f() { + + GENSIN_f.prototype.define = function GENSIN_f() { + this.rpar = [[1], [1], [0]]; + + var model = scicos_model(); + model.sim = new ScilabString(["gensin"]); + model.in = new ScilabDouble(); + model.out = new ScilabDouble([1]); + model.out2 = new ScilabDouble([1]); + model.outtyp = new ScilabDouble([1]); + model.rpar = new ScilabDouble([1], [1], [0]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([false, true]); + + var exprs = new ScilabString(this.rpar[0], this.rpar[1], this.rpar[2]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"GENSIN_f\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([3, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + GENSIN_f.prototype.details = function GENSIN_f() { + return this.x; + } +} + +function GENSQR_f() { + + GENSQR_f.prototype.define = function GENSQR_f() { + this.Amplitude = 1; + + var model = scicos_model(); + model.sim = new ScilabString(["gensqr"]); + model.out = new ScilabDouble([1]); + model.out2 = new ScilabDouble([1]); + model.outtyp = new ScilabDouble([1]); + model.evtin = new ScilabDouble([1]); + model.dstate = new ScilabDouble([this.Amplitude]); + model.blocktype = new ScilabString(["d"]); + model.dep_ut = new ScilabBoolean([false, false]); + + var exprs = new ScilabString([this.Amplitude]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"GENSQR_f\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([3, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + GENSQR_f.prototype.details = function GENSQR_f() { + return this.x; + } +} +function GOTO() { + + GOTO.prototype.define = function GOTO() { + var model = scicos_model(); + model.sim = new ScilabString(["goto"]); + model.in = new ScilabDouble([-1]); + model.in2 = new ScilabDouble([-2]); + model.intyp = new ScilabDouble([-1]); + model.out = new ScilabDouble(); + model.out2 = new ScilabDouble(); + model.outtyp = new ScilabDouble([1]); + model.ipar = new ScilabDouble([1]); + model.opar = list(new ScilabString(["A"])); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([false, false]); + + var exprs = new ScilabString(["A"], [sci2exp(1)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"GOTO\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 1]), model, exprs, gr_i); + this.x.graphics.id = new ScilabString(["Goto"]); + return new BasicBlock(this.x) + } + + GOTO.prototype.details = function GOTO() { + return this.x; + } +} +function GOTOMO() { + + GOTOMO.prototype.define = function GOTOMO() { + + var model = scicos_model(); + model.sim = new ScilabString(["gotomo"]); + model.in = new ScilabDouble([-1]); + model.in2 = new ScilabDouble([-2]); + model.intyp = new ScilabDouble(); + model.out = new ScilabDouble(); + model.out2 = new ScilabDouble(); + model.outtyp = new ScilabDouble([1]); + model.ipar = new ScilabDouble([1]); + model.opar = list(new ScilabString(["A"])); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([false, false]); + + var mo = modelica(); + mo.model = new ScilabString(["gotomo"]); + mo.inputs = new ScilabString(["p"]); + + var exprs = new ScilabString(["A"], [sci2exp(1)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"GOTOMO\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 1]), model, exprs, gr_i); + this.x.graphics.in_implicit = new ScilabString(["I"]); + return new BasicBlock(this.x); + } + GOTOMO.prototype.details = function GOTOMO() { + return this.x; + } +} + +function GotoTagVisibility() { + + GotoTagVisibility.prototype.define = function GotoTagVisibility() { + + var model = scicos_model(); + model.sim = new ScilabString(["gototagvisibility"]); + model.in1 = new ScilabDouble(); + model.in2 = new ScilabDouble(); + model.out = new ScilabDouble(); + model.out2 = new ScilabDouble(); + model.evtin = new ScilabDouble(); + model.intyp = new ScilabDouble([1]); + model.outtyp = new ScilabDouble([1]); + model.opar = list(new ScilabString(["A"])); + model.blocktype = new ScilabString(["c"]); + model.firing = new ScilabBoolean([false]); + model.dep_ut = new ScilabBoolean([false, false]); + + var exprs = new ScilabString(["A"]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"GotoTagVisibility\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + + GotoTagVisibility.prototype.details = function GotoTagVisibility() { + + return this.x; + } +} +function GotoTagVisibilityMO() { + + GotoTagVisibilityMO.prototype.define = function GotoTagVisibilityMO() { + + var model = scicos_model(); + model.sim = new ScilabString(["gototagvisibilitymo"]); + model.in = new ScilabDouble(); + model.in2 = new ScilabDouble(); + model.out = new ScilabDouble(); + model.out2 = new ScilabDouble(); + model.evtin = new ScilabDouble(); + model.intyp = new ScilabDouble([1]); + model.outtyp = new ScilabDouble([1]); + model.opar = list(new ScilabString(["A"])); + model.blocktype = new ScilabString(["c"]); + model.firing = new ScilabBoolean([false]); + model.dep_ut = new ScilabBoolean([false, false]); + + var exprs = new ScilabString(["A"]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"GotoTagVisibilityMO\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + GotoTagVisibilityMO.prototype.details = function GotoTagVisibilityMO() { + return this.x; + } +} + +function Ground() { + + Ground.prototype.define = function Ground() { + + var model = scicos_model(); + model.in = new ScilabDouble([1]); + model.out = new ScilabDouble(); + model.sim = new ScilabString(["Ground"]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var mo = modelica(); + mo.model = new ScilabString(["Ground"]); + mo.inputs = new ScilabString(["p"]); + mo.outputs = new ScilabDouble(); + model.equations = mo; + + var exprs = new ScilabString([""]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"Ground\",sz(1),sz(2));"]); + this.x = standard_define(new ScilabDouble([1, 1]), model, exprs, list(gr_i, new ScilabDouble([0]))); + this.x.graphics.in_implicit = new ScilabString(["I"]); + this.x.graphics.out_implicit = new ScilabString(["I"]); + return new GroundBlock(this.x); + } + + Ground.prototype.details = function Ground() { + return this.x; + } +} +function Gyrator() { + + Gyrator.prototype.define = function Gyrator() { + this.ModelName = "Gyrator"; + this.PrametersValue = [[1],[1]]; + this.ParametersName = [["G1"],["G2"]]; + this.model = scicos_model(); + this.Typein = []; + this.Typeout = []; + this.MI = []; + this.MO = []; + this.P = [[2.5, 90, 2, 0],[2.5, 10, 2, 0],[97.5, 90, -2, 0],[97.5, 10, -2, 0]]; + this.PortName = [["p1"],["n1"],["p2"],["n2"]]; + + for (var i = 0; i < size(this.P, "r"); i++) { + if (this.P[i][2] == 1) { + this.Typein.push(["E"]); + this.MI.push(this.PortName[i]); + } + if (this.P[i][2] == 2) { + this.Typein.push(["I"]); + this.MI.push(this.PortName[i]); + } + if (this.P[i][2] == -1) { + this.Typeout.push(["E"]); + this.MO.push(this.PortName[i]); + } + if (this.P[i][2] == -2) { + this.Typeout.push(["I"]); + this.MO.push(this.PortName[i]); + } + } + var model = scicos_model(); + var mo = modelica(); + model.sim = new ScilabString([this.ModelName]); + mo.inputs = new ScilabString(...this.MI); + mo.outputs = new ScilabString(...this.MO); + console.log(this.MI); + model.rpar = new ScilabDouble(...this.PrametersValue); + mo.parameters = list(new ScilabString(...this.ParametersName), new ScilabDouble(...this.PrametersValue), new ScilabDouble(...zeros(this.ParametersName))); + var exprs = new ScilabString(["1"], ["1"]); + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),"Gyrator",sz(1),sz(2));"]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([false, true]); + mo.model = new ScilabString([this.ModelName]); + model.equations = mo; + model.in = new ScilabDouble(...ones(size(this.MI, "*"), 1)); + model.out = new ScilabDouble(...ones(size(this.MO, "*"), 1)); + this.x = standard_define([2, 2], model, exprs, list(gr_i, new ScilabDouble([0]))); + this.x.graphics.in_implicit = new ScilabString(...this.Typein); + this.x.graphics.out_implicit = new ScilabString(...this.Typeout); + return new BasicBlock(this.x); + } + Gyrator.prototype.details = function Gyrator() { + return this.x; + } +} +function HALT_f() { + + HALT_f.prototype.define = function HALT_f() { + this.n = 0; + + var model = scicos_model(); + model.sim = new ScilabString(["hltblk"]); + model.evtin = new ScilabDouble([1]); + model.dstate = new ScilabDouble([0]); + model.ipar = new ScilabDouble([0]); + model.blocktype = new ScilabString(["d"]); + model.dep_ut = new ScilabBoolean([false, false]); + + var exprs = new ScilabString([this.n]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"HALT_f\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + HALT_f.prototype.details = function HALT_f() { + return this.x; + } +} + +function HYSTHERESIS() { + + HYSTHERESIS.prototype.define = function HYSTHERESIS() { + this.in1 = 1; + this.ipar = 0; + this.nzz = 2; + this.rpar = [[1], [0], [1], [0]]; + + var model = scicos_model(); + model.sim = list(new ScilabString(["hystheresis"]), new ScilabDouble([4])); + model.in = new ScilabDouble([this.in1]); + model.out = new ScilabDouble([1]); + model.rpar = new ScilabDouble(...this.rpar); + model.nzcross = new ScilabDouble([this.nzz]); + model.nmode = new ScilabDouble([1]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var exprs = new ScilabString(...this.rpar, [Math.sign(this.nzz)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"HYSTHERESIS\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + HYSTHERESIS.prototype.details = function HYSTHERESIS() { + return this.x; + } +} + +function IdealTransformer() { + + IdealTransformer.prototype.define = function IdealTransformer() { + this.ModelName = "IdealTransformer"; + this.PrametersValue = [1]; + this.ParametersName = ["N"]; + + var model = scicos_model(); + + this.Typein = []; + this.Typeout = []; + this.MI = []; + this.MO = []; + this.P = [[2.5,90,2,0],[2.5,10,2,0],[97.5,90,-2,0],[97.5,10,-2,0]]; + this.PortName = [["p1"],["n1"],["p2"],["n2"]]; + + for (var i = 0; i < size(this.P, "r"); i++) { + if (this.P[i][2] == 1) { + this.Typein.push(["E"]); + this.MI.push(this.PortName[i]); + } + + if (this.P[i][2] == 2) { + this.Typein.push(["I"]); + this.MI.push(this.PortName[i]); + } + if (this.P[i][2] == -1) { + this.Typeout.push(["E"]); + this.MO.push(this.PortName[i]); + } + if (this.P[i][2] == -2) { + this.Typeout.push(["I"]); + this.MO.push(this.PortName[i]); + } + } + var mo = modelica(); + model.sim = new ScilabString([this.ModelName]); + mo.inputs = new ScilabString(...this.MI); + mo.outputs = new ScilabString(...this.MO); + model.rpar = new ScilabDouble(this.PrametersValue); + mo.parameters = list(new ScilabString(this.ParametersName), new ScilabDouble(this.PrametersValue), new ScilabDouble(zeros(getData(this.ParametersName)))); + var exprs = new ScilabString(["1"]); + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"IdealTransformer\",sz(1),sz(2));"]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([false, true]); + mo.model = new ScilabString([this.ModelName]); + model.equations = mo; + model.in = new ScilabDouble(...ones(size(this.MI, "*"), 1)); + model.out = new ScilabDouble(...ones(size(this.MO, "*"), 1)); + this.x = new standard_define(new ScilabDouble([2,2]), model, exprs, list(gr_i), new ScilabDouble([0])); + this.x.graphics.in_implicit = new ScilabDouble(this.Typein); + this.x.graphics.out_implicit = new ScilabDouble(this.Typeout); + return new BasicBlock(this.x); + } + + IdealTransformer.prototype.details = function IdealTransformer() { + return this.x; + } + +} +function IFTHEL_f() { + + IFTHEL_f.prototype.internal = function IFTHEL_f() { + var model = scicos_model(); + model.sim = list(new ScilabString(["ifthel"]), new ScilabDouble([-1])); + model.in = new ScilabDouble([1]); + model.in2 = new ScilabDouble([1]); + model.intyp = new ScilabDouble([-1]); + model.evtin = new ScilabDouble([-1]); + model.outtyp = new ScilabDouble(); // changed + model.evtout = new ScilabDouble([-1], [-1]) // 1, 1 -> -1, -1 inverse + model.blocktype = new ScilabString(["l"]); + model.firing = new ScilabDouble([-1], [-1]); // inverse + model.dep_ut = new ScilabBoolean([true, false]); + model.nmode = new ScilabDouble([1]); + model.nzcross = new ScilabDouble([1]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"IFTHEL_f\",sz(1),sz(2));"]); + var exprs = new ScilabString(["1"], ["1"]); // value model.in, model.nmode inverse + + var block = new standard_define(new ScilabDouble([80, 80]), model, exprs, gr_i); // 3 -> 80 + block.graphics.in_implicit = new ScilabString(["E"]); + // changed + block.graphics.in_label = new ScilabString([""]); + block.graphics.in_style = new ScilabString(["ExplicitInputPort;align=left;verticalAlign=middle;spacing=10.0;rotation=0"]); + block.graphics.style = new ScilabString(["IFTHEL_f"]); + return block; + } + + IFTHEL_f.prototype.define = function IFTHEL_f() { + var model = scicos_model(); + model.sim = list(new ScilabString(["ifthel"]), new ScilabDouble([-1])); + model.in = new ScilabDouble([1]); + model.in2 = new ScilabDouble([1]); + model.intyp = new ScilabDouble([-1]); + model.evtin = new ScilabDouble([-1]); + model.outtyp = new ScilabDouble(); // changed + model.evtout = new ScilabDouble([-1], [-1]) // 1, 1 -> -1, -1 inverse + model.blocktype = new ScilabString(["l"]); + model.firing = new ScilabDouble([-1], [-1]); // inverse + model.dep_ut = new ScilabBoolean([true, false]); + model.nmode = new ScilabDouble([1]); + model.nzcross = new ScilabDouble([1]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"IFTHEL_f\",sz(1),sz(2));"]); + var exprs = new ScilabString(["1"], ["1"]); // value model.in, model.nmode inverse + + this.x = new standard_define(new ScilabDouble([80, 80]), model, exprs, gr_i); // 3 -> 80 + this.x.graphics.in_implicit = new ScilabString(["E"]); + // changed + this.x.graphics.in_label = new ScilabString([""]); + this, x.graphics.in_style = new ScilabString(["ExplicitInputPort;align=left;verticalAlign=middle;spacing=10.0;rotation=0"]); + this.x.graphics.style = new ScilabString(["IFTHEL_f"]); + return new BasicBlock(this.x); + } + + IFTHEL_f.prototype.details = function IFTHEL_f() { + return this.x; + } +} +function Inductor() { + + Inductor.prototype.define = function Inductor() { + this.L = 1.0E-5; + + var model = scicos_model(); + model.in = new ScilabDouble([1]); + model.out = new ScilabDouble([1]); + model.rpar = new ScilabDouble([this.L.toExponential(1)]); + model.sim = new ScilabString(["Inductor"]); + + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var mo = modelica(); + mo.model = new ScilabString(["Inductor"]); + mo.inputs = new ScilabString(["p"]); + mo.outputs = new ScilabString(["n"]); + mo.parameters = list(new ScilabString(["L"]), list(new ScilabDouble([this.L.toExponential(1)]))); + model.equations = mo; + + var exprs = new ScilabString([this.L]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"Inductor\",sz(1),sz(2));"]); + this.x = standard_define([2, 0.9], model, exprs, list(gr_i, 0)); + this.x.graphics.in_implicit = new ScilabString(["I"]); + this.x.graphics.out_implicit = new ScilabString(["I"]); + return new BasicBlock(this.x); + } + Inductor.prototype.details = function Inductor() { + return this.x; + } +} + +function INIMPL_f() { + + INIMPL_f.prototype.define = function INIMPL_f() { + var model = scicos_model(); + model.sim = new ScilabString(["inimpl"]); + model.out = new ScilabDouble([-1]); + model.out2 = new ScilabDouble([1]); + model.ipar = new ScilabDouble([1]); + model.dep_ut = new ScilabBoolean([false, false]); + model.blocktype = new ScilabString(["c"]); + + var mo = modelica(); + mo.model = new ScilabString(["PORT"]); + mo.outputs = new ScilabString(["n"]); + mo.inputs = new ScilabDouble(); + model.equations = mo; + + var exprs = new ScilabString(["1"]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),"INIMPL_f",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([1, 1]), model, exprs, gr_i); + this.x.graphics.out_implicit = new ScilabString(["I"]); + return new ImplicitInBlock(this.x); + } + INIMPL_f.prototype.details = function INIMPL_f() { + return this.x; + } +} +function INTEGRAL_f() { + + INTEGRAL_f.prototype.define = function INTEGRAL_f() { + this.x0 = 0; + + var model = scicos_model(); + model.sim = new ScilabString(["integr"]); + model.in = new ScilabDouble([1]); + model.out = new ScilabDouble([1]); + model.state = new ScilabDouble([this.x0]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([false, true]); + + var exprs = new ScilabString([sci2exp(this.x0)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"INTEGRAL_f\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + INTEGRAL_f.prototype.details = function INTEGRAL_f() { + return this.x; + } +} + +function INTEGRAL_m() { + + INTEGRAL_m.prototype.define = function INTEGRAL_m() { + this.maxp = 1; + this.minp = -1; + this.rpar = []; + + var model = scicos_model(); + model.state = new ScilabDouble([0]); + model.sim = list(new ScilabString(["integral_func"]), new ScilabDouble([4])); + model.in = new ScilabDouble([1]); + model.out = new ScilabDouble([1]); + model.in2 = new ScilabDouble([1]); + model.out2 = new ScilabDouble([1]); + model.rpar = new ScilabDouble(); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([false, true]); + + var exprs = new ScilabString([0], [0], [0], [this.maxp], [this.minp]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"INTEGRAL_m\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + INTEGRAL_m.prototype.details = function INTEGRAL_m() { + return this.x; + } +} + +function INTMUL() { + + INTMUL.prototype.define = function INTMUL() { + this.sgn = 0; + + var model = scicos_model(); + model.sim = list(new ScilabString(["matmul_i32"]), new ScilabDouble([4])); + model.in = new ScilabDouble([-1], [-2]); + model.out = new ScilabDouble([-1]); + model.in2 = new ScilabDouble([-2], [-3]); + model.out2 = new ScilabDouble([-3]); + model.intyp = new ScilabDouble([3, 3]); + model.outtyp = new ScilabDouble([3]); + model.rpar = new ScilabDouble(); + model.ipar = new ScilabDouble([this.sgn]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var exprs = new ScilabString([sci2exp(3)], [sci2exp(0)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"INTMUL\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + INTMUL.prototype.details = function INTMUL() { + return this.x; + } +} + +function INTRPLBLK_f() { + + INTRPLBLK_f.prototype.define = function INTRPLBLK_f() { + this.a = [[0],[1]]; + + this.b = [[0],[1]]; + + var model = scicos_model(); + model.sim = new ScilabString(["intrpl"]); + model.in = new ScilabDouble(1); + model.out = new ScilabDouble(1); + model.rpar = new ScilabDouble(...this.a, ...this.b); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true,false]); + + var exprs = new ScilabString([sci2exp(this.a)], [sci2exp(this.b)]); + + var gr_i = ["xstringb(orig(1),orig(2),\"INTRPLBLK_f\",sz(1),sz(2));"]; + this.x = new standard_define(new ScilabDouble([2,2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + + INTRPLBLK_f.prototype.details = function INTRPLBLK_f() { + return this.x; + } +} +function INVBLK() { + + INVBLK.prototype.define = function INVBLK() { + this.in1 = -1; + + var model = scicos_model(); + model.sim = list(new ScilabString(["invblk4"]), new ScilabDouble([4])); + model.in = new ScilabDouble([this.in1]); + model.out = new ScilabDouble([this.in1]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var exprs = new ScilabString([" "]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"INVBLK\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + INVBLK.prototype.details = function INVBLK() { + return this.x; + } +} + +function IN_f () { + + IN_f.prototype.internal = function IN_f() { + this.prt = 1; + + var model = scicos_model(); + model.sim = new ScilabString(["input"]); + model.out = new ScilabDouble([-1]); + model.out2 = new ScilabDouble([-2]); + model.outtyp = new ScilabDouble([-1]); + model.ipar=new ScilabDouble([this.prt]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([false,false]); + + var exprs = new ScilabString([sci2exp(this.prt)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"IN_f\",sz(1),sz(2));"]); + var block=new standard_define(new ScilabDouble([1,1]),model,exprs,gr_i); + block.graphics.style = new ScilabString(["IN_f"]); // changed + block.graphics.out_implicit = new ScilabString(["E"]); + block.graphics.out_style = new ScilabString(["ExplicitOutputPort;align=right;verticalAlign=middle;spacing=10.0;rotation=0"]); + block.graphics.out_label = new ScilabString([""]); + return block; + } + + IN_f.prototype.define = function IN_f() { + this.prt = 1; + + var model = scicos_model(); + model.sim = new ScilabString(["input"]); + model.out = new ScilabDouble([-1]); + model.out2 = new ScilabDouble([-2]); + model.outtyp = new ScilabDouble([-1]); + model.ipar=new ScilabDouble([this.prt]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([false,false]); + + var exprs = new ScilabString([sci2exp(this.prt)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"IN_f\",sz(1),sz(2));"]); + this.x=new standard_define(new ScilabDouble([1,1]),model,exprs,gr_i); + return new ExplicitInBlock(this.x); + } + + IN_f.prototype.details = function IN_f() { + return this.x; + } +} +function ISELECT_m() { + + ISELECT_m.prototype.define = function ISELECT_m() { + this.z0 = 1; + this.nout = 2; + + var model = scicos_model(); + model.sim = list(new ScilabString(["selector_m"]), new ScilabDouble([4])); + model.out = new ScilabDouble([-1], [-1]); + model.out2 = new ScilabDouble([-2], [-2]); + model.outtyp = new ScilabDouble([1]); + model.in = new ScilabDouble([-1]); + model.in2 = new ScilabDouble([-2]); + model.intyp = new ScilabDouble([1]); + model.evtout = new ScilabDouble(); + model.state = new ScilabDouble(); + model.rpar = new ScilabDouble(); + model.ipar = new ScilabDouble(); + model.firing = new ScilabDouble(); + model.evtin = new ScilabDouble(...ones(this.nout, 1)); + model.dstate = new ScilabDouble([this.z0]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var exprs = new ScilabString([sci2exp(1)], [sci2exp(this.nout)], [sci2exp(this.z0)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"ISELECT_m\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([3, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + ISELECT_m.prototype.details = function ISELECT_m() { + return this.x; + } +} + +function LOGBLK_f() { + + LOGBLK_f.prototype.define = function LOGBLK_f() { + this.in1 = 1; + this.a = Math.E; + + var model = scicos_model(); + model.sim = new ScilabString(["logblk"]); + model.in = new ScilabDouble([-1]); + model.out = new ScilabDouble([-1]); + model.rpar = new ScilabDouble([this.a]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var exprs = new ScilabString(["%e"]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"LOGBLK_f\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + LOGBLK_f.prototype.details = function LOGBLK_f() { + return this.x; + } +} + +function LOGICAL_OP() { + + LOGICAL_OP.prototype.define = function LOGICAL_OP() { + this.in1 = [[-1], [-1]]; + this.ipar = 0; + this.nin = 2; + + var model = scicos_model(); + model.sim = list(new ScilabString(["logicalop"]), new ScilabDouble([4])); + model.in = new ScilabDouble(...this.in1); + model.out = new ScilabDouble([-1]); + model.ipar = new ScilabDouble([this.ipar]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var exprs = new ScilabString([this.nin], [this.ipar]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"LOGICAL_OP\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + LOGICAL_OP.prototype.details = function LOGICAL_OP() { + return this.x; + } +} + +function LOOKUP_f() { + + LOOKUP_f.prototype.define = function LOOKUP_f() { + + var model = scicos_model(); + model.sim = new ScilabString(["lookup"]); + model.in = new ScilabDouble([1]); + model.out = new ScilabDouble([1]); + model.rpar = new ScilabDouble([-2], [-1], [1], [2], [-1], [1], [-1], [1]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"LOOKUP_f\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, [], gr_i); + return new BasicBlock(this.x); + } + LOOKUP_f.prototype.details = function LOOKUP_f() { + return this.x; + } +} + +function MATBKSL() { + + MATBKSL.prototype.define = function MATBKSL() { + this.function_name = "mat_bksl"; + this.funtyp = 4; + + var model = scicos_model(); + model.sim = list(new ScilabString([this.function_name]), new ScilabDouble([this.funtyp])); + model.in = new ScilabDouble([-1], [-1]); + model.in2 = new ScilabDouble([-2], [-3]); + model.intyp = new ScilabDouble([1, 1]); + model.out = new ScilabDouble([-2]); + model.out2 = new ScilabDouble([-3]); + model.outtyp = new ScilabDouble([1]); + model.evtin = new ScilabDouble(); + model.evtout = new ScilabDouble(); + model.state = new ScilabDouble(); + model.dstate = new ScilabDouble(); + model.rpar = new ScilabDouble(); + model.ipar = new ScilabDouble(); + model.blocktype = new ScilabString(["c"]); + model.firing = new ScilabDouble(); + model.dep_ut = new ScilabBoolean([true, false]); + + var label = new ScilabString([sci2exp(1)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"MATBKSL\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, label, gr_i); + return new BasicBlock(this.x); + } + MATBKSL.prototype.details = function MATBKSL() { + return this.x; + } +} + +function MATCATH() { + + MATCATH.prototype.define = function MATCATH() { + this.funtyp = 4; + this.function_name = "mat_cath"; + + var model = scicos_model(); + model.sim = list(new ScilabString([this.function_name]), new ScilabDouble([this.funtyp])); + model.in = new ScilabDouble([-1], [-1]); + model.in2 = new ScilabDouble([-2], [-3]); + model.intyp = new ScilabDouble([1, 1]); + model.out = new ScilabDouble([-1]); + model.out2 = new ScilabDouble([0]); + model.outtyp = new ScilabDouble([-1]); + model.evtin = new ScilabDouble(); + model.evtout = new ScilabDouble(); + model.state = new ScilabDouble(); + model.dstate = new ScilabDouble(); + model.rpar = new ScilabDouble(); + model.ipar = new ScilabDouble(); + model.blocktype = new ScilabString(["c"]); + model.firing = new ScilabDouble(); + model.dep_ut = new ScilabBoolean([true, false]); + + var label = new ScilabString([sci2exp(2)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"MATCATH\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 3]), model, label, gr_i); + return new BasicBlock(this.x); + } + MATCATH.prototype.details = function MATCATH() { + return this.x; + } +} + +function MATCATV() { + + MATCATV.prototype.define = function MATCATV() { + this.l1 = [[2], [2]]; + this.function_name = "mat_catv"; + this.funtyp = 4; + + var model = scicos_model(); + model.sim = list(new ScilabString([this.function_name]), new ScilabDouble([this.funtyp])); + model.in2 = new ScilabDouble([-1], [-1]); + model.in = new ScilabDouble([-2], [-3]); + model.intyp = new ScilabDouble([-1, -1]); + model.out = new ScilabDouble([0]); + model.out2 = new ScilabDouble([-1]); + model.outtyp = new ScilabDouble([-1]); + model.evtin = new ScilabDouble(); + model.evtout = new ScilabDouble(); + model.state = new ScilabDouble(); + model.dstate = new ScilabDouble(); + model.rpar = new ScilabDouble(); + model.ipar = new ScilabDouble(); + model.blocktype = new ScilabString(["c"]); + model.firing = new ScilabDouble(); + model.dep_ut = new ScilabBoolean([true, false]); + + var label = new ScilabString([sci2exp(2)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"MATCATV\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 3]), model, label, gr_i); + return new BasicBlock(this.x); + } + MATCATV.prototype.details = function MATCATV() { + return this.x; + } +} + +function MATDET() { + + MATDET.prototype.define = function MATDET() { + var model = scicos_model(); + + this.function_name = "mat_det"; + this.funtyp = 4; + + model.sim = list(new ScilabString([this.function_name]), new ScilabDouble([this.funtyp])); + model.in = new ScilabDouble([-1]); + model.in2 = new ScilabDouble([-1]); + model.intyp = new ScilabDouble([1]); + model.out = new ScilabDouble([1]); + model.out2 = new ScilabDouble([1]); + model.outtyp = new ScilabDouble([1]); + model.evtin = new ScilabDouble(); + model.evtout = new ScilabDouble(); + model.state = new ScilabDouble(); + model.dstate = new ScilabDouble(); + model.rpar = new ScilabDouble(); + model.ipar = new ScilabDouble(); + model.blocktype = new ScilabString(["c"]); + model.firing = new ScilabDouble(); + model.dep_ut = new ScilabBoolean([true, false]); + + var label = new ScilabString([sci2exp(1)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"MATDET\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, label, gr_i); + return new BasicBlock(this.x); + } + + MATDET.prototype.details = function MATDET() { + return this.x; + } +} +function MATDIAG() { + + MATDIAG.prototype.define = function MATDIAG() { + this.function_name = "mat_diag"; + this.funtyp = 4; + + var model = scicos_model(); + model.sim = list(new ScilabString([this.function_name]), new ScilabDouble([this.funtyp])); + model.in = new ScilabDouble([-1]); + model.in2 = new ScilabDouble([1]); + model.intyp = new ScilabDouble([1]); + model.out = new ScilabDouble([-1]); + model.out2 = new ScilabDouble([-1]); + model.outtyp = new ScilabDouble([1]); + model.evtin = new ScilabDouble(); + model.evtout = new ScilabDouble(); + model.state = new ScilabDouble(); + model.dstate = new ScilabDouble(); + model.rpar = new ScilabDouble(); + model.ipar = new ScilabDouble(); + model.blocktype = new ScilabString(["c"]); + model.firing = new ScilabDouble(); + model.dep_ut = new ScilabBoolean([true, false]); + + var label = new ScilabString([sci2exp(1)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"MATDIAG\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, label, gr_i); + return new BasicBlock(this.x); + } + MATDIAG.prototype.details = function MATDIAG() { + return this.x; + } +} + +function MATDIV() { + + MATDIV.prototype.define = function MATDIV() { + var model = scicos_model(); + + this.function_name = "mat_div"; + this.funtyp = 4; + + model.sim = list(new ScilabString([this.function_name]), new ScilabDouble([this.funtyp])); + model.in = new ScilabDouble([-1], [-2]); + model.in2 = new ScilabDouble([-3], [-3]); + model.intyp = new ScilabDouble([1, 1]); + model.out = new ScilabDouble([-1]); + model.out2 = new ScilabDouble([-2]); + model.outtyp = new ScilabDouble([1]); + model.evtin = new ScilabDouble(); + model.evtout = new ScilabDouble(); + model.state = new ScilabDouble(); + model.dstate = new ScilabDouble(); + model.rpar = new ScilabDouble(); + model.ipar = new ScilabDouble(); + model.blocktype = new ScilabString(["c"]); + model.firing = new ScilabDouble(); + model.dep_ut = new ScilabBoolean([true, false]); + + var label = new ScilabString([sci2exp(1)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"MATDIV\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, label, gr_i); + return new BasicBlock(this.x); + } + + MATDIV.prototype.details = function MATDIV() { + return this.x; + } + +} +function MATEIG() { + + MATEIG.prototype.define = function MATEIG() { + this.function_name = "mat_vps"; + this.funtyp = 4; + + var model = scicos_model(); + model.sim = list(new ScilabString([this.function_name]), new ScilabDouble([this.funtyp])); + model.in = new ScilabDouble([-1]); + model.in2 = new ScilabDouble([-1]); + model.intyp = new ScilabDouble([1]); + model.out = new ScilabDouble([-1]); + model.out2 = new ScilabDouble([1]); + model.outtyp = new ScilabDouble([2]); + model.evtin = new ScilabDouble(); + model.evtout = new ScilabDouble(); + model.state = new ScilabDouble(); + model.dstate = new ScilabDouble(); + model.rpar = new ScilabDouble(); + model.ipar = new ScilabDouble(); + model.blocktype = new ScilabString(["c"]); + model.firing = new ScilabDouble(); + model.dep_ut = new ScilabBoolean([true, false]); + + var label = new ScilabString([sci2exp(1)], [sci2exp(1)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"MATEIG\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, label, gr_i); + return new BasicBlock(this.x); + } + MATEIG.prototype.details = function MATEIG() { + return this.x; + } +} + +function MATEXPM() { + + MATEXPM.prototype.define = function MATEXPM() { + this.function_name = "mat_expm"; + this.funtyp = 4; + var model = scicos_model(); + model.sim = list(new ScilabString([this.function_name]), new ScilabDouble([this.funtyp])); + model.in = new ScilabDouble([-1]); + model.in2 = new ScilabDouble([-1]); + model.intyp = new ScilabDouble([1]); + model.out = new ScilabDouble([-1]); + model.out2 = new ScilabDouble([-1]); + model.outtyp = new ScilabDouble([1]); + model.evtin = new ScilabDouble(); + model.evtout = new ScilabDouble(); + model.state = new ScilabDouble(); + model.dstate = new ScilabDouble(); + model.rpar = new ScilabDouble(); + model.ipar = new ScilabDouble(); + model.blocktype = new ScilabString(["c"]); + model.firing = new ScilabDouble(); + model.dep_ut = new ScilabBoolean([true, false]); + + var label = new ScilabString([sci2exp(1)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"MATEXPM\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, label, gr_i); + return new BasicBlock(this.x); + } + MATEXPM.prototype.details = function MATEXPM() { + return this.x; + } +} + +function MATINV() { + + MATINV.prototype.define = function MATINV() { + this.function_name = "mat_inv"; + this.funtyp = 4; + + var model = scicos_model(); + model.sim = list(new ScilabString([this.function_name]), new ScilabDouble([this.funtyp])); + model.in = new ScilabDouble([-1]); + model.in2 = new ScilabDouble([-1]); + model.intyp = new ScilabDouble([1]); + model.out = new ScilabDouble([-1]); + model.out2 = new ScilabDouble([-1]); + model.outtyp = new ScilabDouble([1]); + model.evtin = new ScilabDouble(); + model.evtout = new ScilabDouble(); + model.state = new ScilabDouble(); + model.dstate = new ScilabDouble(); + model.rpar = new ScilabDouble(); + model.ipar = new ScilabDouble(); + model.blocktype = new ScilabString(["c"]); + model.firing = new ScilabDouble(); + model.dep_ut = new ScilabBoolean([true, false]); + + var label = new ScilabString([sci2exp(1)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"MATINV\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, label, gr_i); + return new BasicBlock(this.x); + } + MATINV.prototype.details = function MATINV() { + return this.x; + } +} + +function MATLU() { + + MATLU.prototype.define = function MATLU() { + this.function_name = "mat_lu"; + this.funtyp = 4; + + var model = scicos_model(); + model.sim = list(new ScilabString([this.function_name]), new ScilabDouble([this.funtyp])); + model.in = new ScilabDouble([-1]); + model.in2 = new ScilabDouble([-1]); + model.intyp = new ScilabDouble([1]); + model.out = new ScilabDouble([-1], [-1]); + model.out2 = new ScilabDouble([-1], [-1]); + model.outtyp = new ScilabDouble([1, 1]); + model.evtin = new ScilabDouble(); + model.evtout = new ScilabDouble(); + model.state = new ScilabDouble(); + model.dstate = new ScilabDouble(); + model.rpar = new ScilabDouble(); + model.ipar = new ScilabDouble(); + model.blocktype = new ScilabString(["c"]); + model.firing = new ScilabDouble(); + model.dep_ut = new ScilabBoolean([true, false]); + + var label = new ScilabString([sci2exp(1)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"MATLU\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, label, gr_i); + return new BasicBlock(this.x); + } + MATLU.prototype.details = function CSCOPE() { + return this.x; + } +} + +function MATMAGPHI() { + + MATMAGPHI.prototype.define = function MATMAGPHI() { + this.function_name = "matz_abs"; + this.funtyp = 4; + + var model = scicos_model(); + model.sim = list(new ScilabString([this.function_name]), new ScilabDouble([this.funtyp])); + model.in = new ScilabDouble([-1]); + model.in2 = new ScilabDouble([-2]); + model.intyp = new ScilabDouble([2]); + model.out = new ScilabDouble([-1], [-1]); + model.out2 = new ScilabDouble([-2], [-2]); + model.outtyp = new ScilabDouble([1, 1]); + model.evtin = new ScilabDouble(); + model.evtout = new ScilabDouble(); + model.state = new ScilabDouble(); + model.dstate = new ScilabDouble(); + model.rpar = new ScilabDouble(); + model.ipar = new ScilabDouble(); + model.blocktype = new ScilabString(["c"]); + model.firing = new ScilabDouble(); + model.dep_ut = new ScilabBoolean([true, false]); + + var label = new ScilabString([sci2exp(1)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"MATMAGPHI\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([3, 2]), model, label, gr_i); + return new BasicBlock(this.x); + } + MATMAGPHI.prototype.details = function MATMAGPHI() { + return this.x; + } +} + +function MATMUL() { + + MATMUL.prototype.define = function MATMUL() { + + var model = scicos_model(); + model.sim = list(new ScilabString(["matmul_m"]), new ScilabDouble([4])); + model.in = new ScilabDouble([-1], [-2]); + model.in2 = new ScilabDouble([-2], [-3]); + model.out = new ScilabDouble([-1]); + model.out2 = new ScilabDouble([-3]); + model.dep_ut = new ScilabBoolean([true, false]); + model.ipar = new ScilabDouble([1]); + + var label = new ScilabString([sci2exp(parseInt(getData(model.ipar)))]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"MATMUL\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([3, 2]), model, label, gr_i); + return new BasicBlock(this.x); + } + MATMUL.prototype.details = function MATMUL() { + return this.x; + } +} + +function MATPINV() { + + MATPINV.prototype.define = function MATPINV() { + this.function_name = "mat_pinv"; + this.funtyp = 4; + + var model = scicos_model(); + model.sim = list(new ScilabString([this.function_name]), new ScilabDouble([this.funtyp])); + model.in = new ScilabDouble([-1]); + model.in = new ScilabDouble([-1]); + model.in2 = new ScilabDouble([-2]); + model.intyp = new ScilabDouble([1]); + model.out = new ScilabDouble([-2]); + model.out2 = new ScilabDouble([-1]); + model.outtyp = new ScilabDouble([1]); + model.evtin = new ScilabDouble(); + model.evtout = new ScilabDouble(); + model.state = new ScilabDouble(); + model.dstate = new ScilabDouble(); + model.rpar = new ScilabDouble(); + model.ipar = new ScilabDouble(); + model.blocktype = new ScilabString(["c"]); + model.firing = new ScilabDouble(); + model.dep_ut = new ScilabBoolean([true, false]); + + var label = new ScilabString([sci2exp(1)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"MATPINV\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, label, gr_i); + return new BasicBlock(this.x); + } + MATPINV.prototype.details = function MATPINV() { + return this.x; + } +} + +function MATRESH() { + + MATRESH.prototype.define = function MATRESH() { + this.function_name = "mat_reshape"; + this.funtyp = 4; + + var model = scicos_model(); + model.sim = list(new ScilabString([this.function_name]), new ScilabDouble([this.funtyp])); + model.in = new ScilabDouble([-1]); + model.in2 = new ScilabDouble([-2]); + model.intyp = new ScilabDouble([1]); + model.out = new ScilabDouble([-1]); + model.out2 = new ScilabDouble([-2]); + model.outtyp = new ScilabDouble([1]); + model.evtin = new ScilabDouble(); + model.evtout = new ScilabDouble(); + model.state = new ScilabDouble(); + model.dstate = new ScilabDouble(); + model.rpar = new ScilabDouble(); + model.ipar = new ScilabDouble(); + model.blocktype = new ScilabString(["c"]); + model.firing = new ScilabDouble(); + model.dep_ut = new ScilabBoolean([true, false]); + + var label = new ScilabString([sci2exp(1)], [sci2exp([1, 1])], [sci2exp([1, 1])]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"MATRESH\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([3, 2]), model, label, gr_i); + return new BasicBlock(this.x); + } + MATRESH.prototype.details = function MATRESH() { + return this.x; + } +} + +function MATSING() { + + MATSING.prototype.define = function MATSING() { + var model = scicos_model(); + + this.function_name = "mat_sing"; + this.funtyp = 4; + + model.sim = list(new ScilabString([this.function_name]), new ScilabDouble([this.funtyp])); + model.in = new ScilabDouble([-1]); + model.in2 = new ScilabDouble([-2]); + model.intyp = new ScilabDouble([1]); + model.out = new ScilabDouble([-1]); + model.out2 = new ScilabDouble([1]); + model.outtyp = new ScilabDouble([1]); + model.evtin = new ScilabDouble(); + model.evtout = new ScilabDouble(); + model.state = new ScilabDouble(); + model.dstate = new ScilabDouble(); + model.rpar = new ScilabDouble(); + model.ipar = new ScilabDouble(); + model.blocktype = new ScilabString(["c"]); + model.firing = new ScilabDouble(); + model.dep_ut = new ScilabBoolean([true, false]); + + var label = new ScilabString([sci2exp(1)], [sci2exp(1)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"MATSING\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, label, gr_i); + return new BasicBlock(this.x); + } + + MATSING.prototype.details = function MATSING() { + return this.x; + } +} +function MATSUM() { + + MATSUM.prototype.define = function MATSUM() { + this.function_name = "mat_sum"; + this.funtyp = 4; + + var model = scicos_model(); + model.sim = list(new ScilabString([this.function_name]), new ScilabDouble([this.funtyp])); + model.in = new ScilabDouble([-1]); + model.in2 = new ScilabDouble([-2]); + model.intyp = new ScilabDouble([1]); + model.out = new ScilabDouble([1]); + model.out2 = new ScilabDouble([1]); + model.outtyp = new ScilabDouble([1]); + model.evtin = new ScilabDouble(); + model.evtout = new ScilabDouble(); + model.state = new ScilabDouble(); + model.dstate = new ScilabDouble(); + model.rpar = new ScilabDouble(); + model.ipar = new ScilabDouble(); + model.blocktype = new ScilabString(["c"]); + model.firing = new ScilabDouble(); + model.dep_ut = new ScilabBoolean([true, false]); + + var label = new ScilabString([sci2exp(1)], [sci2exp(0)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"MATSUM\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([3, 2]), model, label, gr_i); + return new BasicBlock(this.x); + } + MATSUM.prototype.details = function MATSUM() { + return this.x; + } +} + +function MATTRAN() { + + MATTRAN.prototype.define = function MATTRAN() { + + var model = scicos_model(); + model.sim = list(new ScilabString(["mattran_m"]), new ScilabDouble([4])); + model.in = new ScilabDouble([-1]); + model.in2 = new ScilabDouble([-2]); + model.out = new ScilabDouble([-2]); + model.out2 = new ScilabDouble([-1]); + model.dep_ut = new ScilabBoolean([true, false]); + + var label = new ScilabString([sci2exp(1)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"MATTRAN\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([3, 2]), model, label, gr_i); + return new BasicBlock(this.x); + } + MATTRAN.prototype.details = function MATTRAN() { + return this.x; + } +} + +function MATZCONJ() { + + MATZCONJ.prototype.define = function MATZCONJ() { + this.function_name = "matz_conj"; + this.funtyp = 4; + + var model = scicos_model(); + model.sim = list(new ScilabString([this.function_name]), new ScilabDouble([this.funtyp])); + model.in = new ScilabDouble([-1]); + model.in2 = new ScilabDouble([-2]); + model.intyp = new ScilabDouble([2]); + model.out = new ScilabDouble([-1]); + model.out2 = new ScilabDouble([-2]); + model.outtyp = new ScilabDouble([2]); + model.evtin = new ScilabDouble(); + model.evtout = new ScilabDouble(); + model.state = new ScilabDouble(); + model.dstate = new ScilabDouble(); + model.rpar = new ScilabDouble(); + model.ipar = new ScilabDouble(); + model.blocktype = new ScilabString(["c"]); + model.firing = new ScilabDouble(); + model.dep_ut = new ScilabBoolean([true, false]); + + var label = new ScilabDouble(); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"MATZCONJ\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, label, gr_i); + return new BasicBlock(this.x); + } + MATZCONJ.prototype.details = function MATZCONJ() { + return this.x; + } +} + +function MATZREIM() { + MATZREIM.prototype.define = function MATZREIM() { + + + var model = scicos_model(); + + this.function_name = "matz_reim"; + + this.funtyp = new ScilabDouble([4]); + model.sim = list(this.function_name, this.funtyp); + model.in1 = new ScilabDouble([-1]); + model.in2 = new ScilabDouble([-2]); + model.intyp = new ScilabDouble([2]); + model.out = new ScilabDouble(-1, -1); + model.out2 = new ScilabDouble(-2, -2); + model.outtyp = new ScilabDouble([1,1]); + model.evtin = new ScilabDouble(); + model.evtout = new ScilabDouble(); + model.state = new ScilabDouble(); + model.dstate = new ScilabDouble(); + model.rpar = new ScilabDouble(); + model.ipar = new ScilabDouble(); + model.blocktype = new ScilabString(["c"]); + model.firing = new ScilabDouble(); + model.dep_ut = new ScilabBoolean([true,false]); + + this.label = sci2exp(new ScilabDouble(1)); + + var gr_i = ["xstringb(orig(1),orig(2),\"MATZREIM\",sz(1),sz(2));"]; + this.x = new standard_define(new ScilabDouble([3,2]), model, this.label, gr_i); + return new BasicBlock(this.x); + } + + MATZREIM.prototype.details = function MATZREIM() { + return this.x; + } +} +function MAXMIN() { + + MAXMIN.prototype.define = function MAXMIN() { + var model = scicos_model(); + model.sim = list(new ScilabString(["minmax"]), new ScilabDouble([4])); + model.out = new ScilabDouble([1]); + model.in = new ScilabDouble([-1]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + model.ipar = new ScilabDouble([0]); + + var exprs = new ScilabString(...math.transpose([[2, 1, 1]])); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"MAXMIN\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, gr_i); + this.x.graphics.style = new ScilabString(["MAXMIN;displayedLabel=MAX"]); + return new BasicBlock(this.x); + } + + MAXMIN.prototype.details = function MAXMIN() { + return this.x; + } +} +function MAX_f() { + + MAX_f.prototype.define = function MAX_f() { + this.in = new ScilabDouble([-1]); + + var model = scicos_model(); + model.sim = new ScilabString(["maxblk"]); + model.in = this.in; + model.out = new ScilabDouble(1); + model.dstate = new ScilabDouble([0], [0]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var exprs = new ScilabString([" "]); + + var gr_i = ["xstringb(orig(1),orig(2),\"MAX_f\",sz(1),sz(2));"]; + this.x = new standard_define(new ScilabDouble([2,2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + + MAX_f.prototype.details = function MAX_f() { + return this.x; + } +} +function MCLOCK_f() { + + MCLOCK_f.prototype.define = function MCLOCK_f() { + this.nn = 2; + this.dt = 0.1; + var exprs = new ScilabString([this.dt], [this.nn]); + + var mfclck = new MFCLCK_f().internal(); + mfclck.graphics.orig = new ScilabDouble([334, 199]); + mfclck.graphics.sz = new ScilabDouble([40, 40]); + mfclck.graphics.flip = new ScilabBoolean([true]); + mfclck.graphics.exprs = exprs; + mfclck.graphics.pein = new ScilabDouble([12]); + mfclck.graphics.peout = new ScilabDouble([4], [3]); + mfclck.model.rpar = new ScilabDouble([0.1]); + mfclck.model.ipar = new ScilabDouble([this.nn]); + mfclck.model.firing = new ScilabDouble([-1, 0]); + mfclck.model.uid = new ScilabString([count]); + mfclck.doc = list(new ScilabString([count++])); + + var clksom = new CLKSOM_f().internal(); + clksom.graphics.orig = new ScilabDouble([457, 161]); + clksom.graphics.sz = new ScilabDouble([16.666667, 16.666667]); + clksom.graphics.flip = new ScilabBoolean([true]); + clksom.graphics.exprs = new ScilabString(["0.1"], ["0.1"]); + clksom.graphics.pein = new ScilabDouble([4], [9], [0]); + clksom.graphics.peout = new ScilabDouble([5]); + clksom.model.uid = new ScilabString([count]); + clksom.doc = list(new ScilabString([count++])); + + var output_port1 = new CLKOUT_f().internal(); + output_port1.graphics.orig = new ScilabDouble([509, 261]); + output_port1.graphics.sz = new ScilabDouble([20, 20]); + output_port1.graphics.flip = new ScilabBoolean([true]); + output_port1.graphics.exprs = new ScilabString(["1"]); + output_port1.graphics.pein = new ScilabDouble([10]); + output_port1.model.ipar = new ScilabDouble([1]); + output_port1.model.uid = new ScilabString([count]); + output_port1.doc = list(new ScilabString([count++])); + + var output_port2 = new CLKOUT_f().internal(); + output_port2.graphics.orig = new ScilabDouble([509, 142]); + output_port2.graphics.sz = new ScilabDouble([20, 20]); + output_port2.graphics.flip = new ScilabBoolean([true]); + output_port2.graphics.exprs = new ScilabString(["2"]); + output_port2.graphics.pein = new ScilabDouble([13]); + output_port2.model.ipar = new ScilabDouble([2]); + output_port2.model.uid = new ScilabString([count]); + output_port2.doc = list(new ScilabString([count++])); + + var split1 = new CLKSPLIT_f().internal(); + split1.graphics.orig = new ScilabDouble([411.92504, 169.33333]); + split1.graphics.pein = new ScilabDouble([3]); + split1.graphics.peout = new ScilabDouble([9], [10]); + split1.model.uid = new ScilabString([count]); + split1.doc = list(new ScilabString([count++])); + + var split2 = new CLKSPLIT_f().internal(); + split2.graphics.orig = new ScilabDouble([482.45315, 169.33333]); + split2.graphics.pein = new ScilabDouble([5]); + split2.graphics.peout = new ScilabDouble([12], [13]); + split2.model.uid = new ScilabString([count]); + split2.doc = list(new ScilabString([count++])); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),"MCLOCK_f",sz(1),sz(2));"]); + + var diagram = scicos_diagram(); + diagram.objs.push(mfclck); + diagram.objs.push(clksom); + diagram.objs.push(output_port1); + diagram.objs.push(output_port2); + diagram.objs.push(split1); + diagram.objs.push(split2); + + diagram.objs.push(scicos_link({ + xx: new ScilabDouble([360.7], [360.7], [411.9]), + yy: new ScilabDouble([193.3], [169.3], [169.3]), + ct: new ScilabDouble([10, -1]), + from: new ScilabDouble([1, 2, 0]), + to: new ScilabDouble([5, 1, 1]) + })); + diagram.objs.push(scicos_link({ + xx: new ScilabDouble([347.3], [347.3], [461.8], [461.8]), + yy: new ScilabDouble([193.3], [155.5], [155.5], [161]), + ct: new ScilabDouble([10, -1]), + from: new ScilabDouble([1, 1, 0]), + to: new ScilabDouble([2, 1, 1]) + })); + diagram.objs.push(scicos_link({ + xx: new ScilabDouble([468.9], [482.5]), + yy: new ScilabDouble([169.3], [169.3]), + ct: new ScilabDouble([10, -1]), + from: new ScilabDouble([2, 1, 0]), + to: new ScilabDouble([6, 1, 1]) + })); + diagram.objs.push(scicos_link({ + xx: new ScilabDouble([411.9], [457]), + yy: new ScilabDouble([169.3], [169.3]), + ct: new ScilabDouble([10, -1]), + from: new ScilabDouble([5, 1, 0]), + to: new ScilabDouble([2, 2, 1]) + })); + diagram.objs.push(scicos_link({ + xx: new ScilabDouble([411.9], [411.9], [509]), + yy: new ScilabDouble([169.3], [271], [271]), + ct: new ScilabDouble([10, -1]), + from: new ScilabDouble([5, 2, 0]), + to: new ScilabDouble([3, 1, 1]) + })); + diagram.objs.push(scicos_link({ + xx: new ScilabDouble([482.5], [489.6], [489.6], [354], [354]), + yy: new ScilabDouble([169.3], [169.3], [338.3], [338.3], [244.7]), + ct: new ScilabDouble([10, -1]), + from: new ScilabDouble([6, 1, 0]), + to: new ScilabDouble([1, 1, 1]) + })); + diagram.objs.push(scicos_link({ + xx: new ScilabDouble([482.4], [482.4], [509]), + yy: new ScilabDouble([169.3], [152], [152]), + ct: new ScilabDouble([10, -1]), + from: new ScilabDouble([6, 2, 0]), + to: new ScilabDouble([4, 1, 1]) + })); + + this.x = scicos_block(); + this.x.gui = new ScilabString(["MCLOCK_f"]); + this.x.graphics.sz = new ScilabDouble([3, 2]); + this.x.graphics.gr_i = gr_i; + this.x.model.sim = new ScilabString(["csuper"]); + this.x.model.evtout = new ScilabDouble([1], [1]); + this.x.model.blocktype = new ScilabString(["h"]); + this.x.model.rpar = diagram; + this.x.graphics.peout = new ScilabDouble([0], [0]); + return new BasicBlock(this.x); + } + MCLOCK_f.prototype.details = function MCLOCK_f() { + return this.x; + } +} +function MFCLCK_f() { + + MFCLCK_f.prototype.define = function MFCLCK_f() { + this.nn = 2; + this.dt = 0.1; + + var model = scicos_model(); + model.sim = new ScilabString(["mfclck"]); + model.evtin = new ScilabDouble([1]); + model.evtout = new ScilabDouble([1], [1]); + model.dstate = new ScilabDouble([0]); + model.rpar = new ScilabDouble([this.dt]); + model.ipar = new ScilabDouble([this.nn]); + model.blocktype = new ScilabString(["d"]); + model.firing = new ScilabDouble([-1], [0]); + model.dep_ut = new ScilabBoolean([false, false]); + + var exprs = new ScilabString([this.dt], [this.nn]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"MFCLCK_f\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([3, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + MFCLCK_f.prototype.internal = function MFCLCK_f() { + this.nn = 2; + this.dt = 0.1; + + var model = scicos_model(); + model.sim = new ScilabString(["mfclck"]); + model.evtin = new ScilabDouble([1]); + model.evtout = new ScilabDouble([1], [1]); + model.dstate = new ScilabDouble([0]); + model.rpar = new ScilabDouble([this.dt]); + model.ipar = new ScilabDouble([this.nn]); + model.blocktype = new ScilabString(["d"]); + model.firing = new ScilabDouble([-1], [0]); + model.dep_ut = new ScilabBoolean([false, false]); + model.outtyp = new ScilabDouble(); + + var exprs = new ScilabString([this.dt], [this.nn]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"MFCLCK_f\",sz(1),sz(2));"]); + var block = new standard_define(new ScilabDouble([3, 2]), model, exprs, gr_i); + block.graphics.style = new ScilabString(["MFCLCK_f"]); + return block; + } + MFCLCK_f.prototype.details = function MFCLCK_f() { + return this.x; + } +} +function MIN_f() { + + MIN_f.prototype.define = function MIN_f() { + this.in1 = -1; + + var model = scicos_model(); + model.sim = new ScilabString(["minblk"]); + model.in = new ScilabDouble([this.in1]); + model.out = new ScilabDouble([1]); + model.dstate = new ScilabDouble([0], [0]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var exprs = new ScilabString([sci2exp(this.in1)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"MIN_f\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + MIN_f.prototype.details = function MIN_f() { + return this.x; + } +} + +function Modulo_Count() { + + Modulo_Count.prototype.define = function Modulo_Count() { + this.ini_c = 0; + this.base = 3; + + var model = scicos_model(); + model.sim = list(new ScilabString(["modulo_count"]), new ScilabDouble([4])); + model.evtin = new ScilabDouble([1]); + model.out = new ScilabDouble([1]); + model.dstate = new ScilabDouble([this.ini_c]); + model.ipar = new ScilabDouble([this.base]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([false, false]); + + var exprs = new ScilabString([this.ini_c], [this.base]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"Modulo_Count\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([3, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + Modulo_Count.prototype.internal = function Modulo_Count() { + this.ini_c = 0; + this.base = 3; + + var model = scicos_model(); + model.sim = list(new ScilabString(["modulo_count"]), new ScilabDouble([4])); + model.evtin = new ScilabDouble([1]); + model.out = new ScilabDouble([1]); + model.out2 = new ScilabDouble([1]); + model.dstate = new ScilabDouble([this.ini_c]); + model.ipar = new ScilabDouble([this.base]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([false, false]); + + var exprs = new ScilabString([this.ini_c], [this.base]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"Modulo_Count\",sz(1),sz(2));"]); + var block = new standard_define(new ScilabDouble([3, 2]), model, exprs, gr_i); + block.graphics.style = new ScilabString(["Modulo_Count"]); + return block; + } + Modulo_Count.prototype.details = function Modulo_Count() { + return this.x; + } +} +function MUX() { + + MUX.prototype.define = function MUX() { + this.in1 = 2; + var arr = []; + arr.push(math.range(-1, -this.in1, -1, true)._data); + + var model = scicos_model(); + model.sim = list(new ScilabString(["multiplex"]), new ScilabDouble([4])); + model.in = new ScilabDouble(...math.transpose(arr)); + model.out = new ScilabDouble([0]); + model.ipar = new ScilabDouble([this.in1]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var exprs = new ScilabString([this.in1]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"MUX\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([.5, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + MUX.prototype.details = function MUX() { + return this.x; + } +} + +function MUX_f() { + + MUX_f.prototype.define = function MUX_f() { + this.in1 = 2; + var arr = []; + arr.push(math.range(-1, -this.in1, -1, true)._data); + + var model = scicos_model(); + model.sim = list(new ScilabString(["mux"]), new ScilabDouble([1])); + model.in = new ScilabDouble(...math.transpose(arr)); + model.out = new ScilabDouble([0]); + model.ipar = new ScilabDouble([this.in1]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var exprs = new ScilabString([this.in1]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"MUX_f\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([0.5, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + MUX_f.prototype.details = function MUX_f() { + return this.x; + } +} + +function M_freq() { + + M_freq.prototype.define = function M_freq() { + var model = scicos_model(); + model.sim = list(new ScilabString(["m_frequ"]), new ScilabDouble([4])); + model.evtout = new ScilabDouble([1], [1], [1]); + model.evtin = new ScilabDouble([1]); + model.rpar = new ScilabDouble(); + model.opar = list(new ScilabDouble([1, 1, 0], [1, 1, 1], [1, 3, 2]), new ScilabDouble([1]), new ScilabDouble([0]), new ScilabDouble([0])); + model.blocktype = new ScilabString(["d"]); + model.firing = new ScilabDouble([0, -1, -1]); + model.dep_ut = new ScilabBoolean([false, false]); + + var exprs = new ScilabString([sci2exp([[1], [2]])], [sci2exp([[0], [0]])]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"M_freq\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([3, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + + M_freq.prototype.details = function M_freq() { + return this.x; + } +} +function M_SWITCH() { + + M_SWITCH.prototype.define = function M_SWITCH() { + this.in1 = [[1], [-1], [-1]]; + this.ipar = [[1], [3]]; + this.nin = 2; + + var model = scicos_model(); + model.sim = list(new ScilabString(["mswitch"]), new ScilabDouble([4])); + model.in = new ScilabDouble(...this.in1); + model.out = new ScilabDouble([-1]); + model.ipar = new ScilabDouble(...this.ipar); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var exprs = new ScilabString([this.nin], ...this.ipar); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"M_SWITCH\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2.5, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + M_SWITCH.prototype.details = function M_SWITCH() { + return this.x; + } +} + +function NEGTOPOS_f() { + + NEGTOPOS_f.prototype.define = function NEGTOPOS_f() { + var model = scicos_model(); + model.sim = list(new ScilabString(["zcross"]), new ScilabDouble([1])); + model.nzcross = new ScilabDouble([1]); + model.in = new ScilabDouble([1]); + model.evtout = new ScilabDouble([1]); + model.rpar = new ScilabDouble([-1], [-1], [0], [-1]); + model.blocktype = new ScilabString(["z"]); + model.firing = new ScilabDouble([-1]); + model.dep_ut = new ScilabBoolean([true, false]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"NEGTOPOS_f\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, new ScilabDouble(), gr_i); + return new BasicBlock(this.x); + } + + NEGTOPOS_f.prototype.details = function NEGTOPOS_f() { + return this.x; + } +} +function NMOS() { + + NMOS.prototype.define = function NMOS() { + this.W = 20.e-6; + this.L = 6.e-6; + this.Beta = 0.041e-3; + this.Vt = 0.8; + this.K2 = 1.144; + this.K5 = 0.7311; + this.dW = -2.5e-6; + this.dL = -1.5e-6; + this.RDS = 1.e+7; + + var model = scicos_model(); + model.sim = new ScilabString(["NMOS"]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var mo = modelica(); + mo.model = new ScilabString(["NMOS"]); + mo.outputs = new ScilabString(["D"], ["B"], ["S"]); + mo.inputs = new ScilabString(["G"]); + mo.parameters = list(new ScilabString(["W"], ["L"], ["Beta"], ["Vt"], ["K2"], ["K5"], ["dW"], ["dL"], ["RDS"]), new ScilabDouble([this.W], [this.L], [this.Beta], [this.Vt], [this.K2], [this.K5], [this.dW], [this.dL], [this.RDS])); + model.equations = mo; + model.in = new ScilabDouble(...ones(size(getData(mo.inputs), "*"), 1)); + model.out = new ScilabDouble(...ones(size(getData(mo.outputs), "*"), 1)); + + var exprs = new ScilabString([this.W], [this.L], [this.Beta], [this.Vt], [this.K2], [this.K5], [this.dW], [this.dL], [this.RDS]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"NMOS\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, gr_i); + this.x.graphics.in_implicit = new ScilabString(["I"]); + this.x.graphics.out_implicit = new ScilabString(["I"], ["I"], ["I"]); + return new BasicBlock(this.x); + } + NMOS.prototype.details = function NMOS() { + return this.x; + } +} + +function NPN() { + + NPN.prototype.define = function NPN() { + this.ModelName = "NPN"; + this.PrametersValue = [[50], [0.1], [0], [0.02], [1.200e-10], [5.000e-09], [1.000e-12], [4.000e-13], [5.000e-13], [0.8], [0.4], [0.8], [0.333], [1.000e-15], [1.000e-15], [0.02585], [40]]; + this.ParametersName = [["Bf"], ["Br"], ["Is"], ["Vak"], ["Tauf"], ["Taur"], ["Ccs"], ["Cje"], ["Cjc"], ["Phie"], ["Me"], ["Phic"], ["Mc"], ["Gbc"], ["Gbe"], ["Vt"], ["EMinMax"]]; + this.model = scicos_model(); + this.Typein = []; + this.Typeout = []; + this.MI = []; + this.MO = []; + this.P = [[100, 90, -2, 0], [0, 50, 2, 0], [100, 10, -2, 0]]; + this.PortName = [["C"], ["B"], ["E"]]; + + for (var i = 0; i < size(this.P, "r"); i++) { + if (this.P[i][2] == 1) { + this.Typein.push(["E"]); + this.MI.push(this.PortName[i]); + } + if (this.P[i][2] == 2) { + this.Typein.push(["I"]); + this.MI.push(this.PortName[i]); + } + if (this.P[i][2] == -1) { + this.Typeout.push(["E"]); + this.MO.push(this.PortName[i]); + } + if (this.P[i][2] == -2) { + this.Typeout.push(["I"]); + this.MO.push(this.PortName[i]); + } + } + var model = scicos_model(); + var mo = modelica(); + model.sim = new ScilabString([this.ModelName]); + mo.inputs = new ScilabString(...this.MI); + mo.outputs = new ScilabString(...this.MO); + model.rpar = new ScilabDouble(...this.PrametersValue); + mo.parameters = list(new ScilabString(...this.ParametersName), new ScilabDouble(...this.PrametersValue), new ScilabDouble(...zeros(this.ParametersName))); + var exprs = new ScilabString(["50"], ["0.1"], ["1.e-16"], ["0.02"], ["0.12e-9"], ["5e-9"], ["1e-12"], ["0.4e-12"], ["0.5e-12"], ["0.8"], ["0.4"], ["0.8"], ["0.333"], ["1e-15"], ["1e-15"], ["0.02585"], ["40"]); + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),"NPN",sz(1),sz(2));"]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([false, true]); + mo.model = new ScilabString([this.ModelName]); + model.equations = mo; + model.in = new ScilabDouble(...ones(size(this.MI, "*"), 1)); + model.out = new ScilabDouble(...ones(size(this.MO, "*"), 1)); + this.x = standard_define([2, 2], model, exprs, list(gr_i, new ScilabDouble([0]))); + this.x.graphics.in_implicit = new ScilabString(...this.Typein); + this.x.graphics.out_implicit = new ScilabString(...this.Typeout); + return new BasicBlock(this.x); + } + NPN.prototype.details = function NPN() { + return this.x; + } +} +function NRMSOM_f() { + + NRMSOM_f.prototype.define = function NRMSOM_f() { + this.in1 = [[-1], [-1]]; + this.nin = 2; + + var model = scicos_model(); + model.sim = new ScilabString(["junk"]); + model.in = new ScilabDouble(...this.in1); + model.out = new ScilabDouble([-1]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var exprs = new ScilabString([this.nin]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"NRMSOM_f\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([.2, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + NRMSOM_f.prototype.details = function NRMSOM_f() { + return this.x; + } +} + +function OpAmp() { + + OpAmp.prototype.define = function OpAmp() { + this.S = []; + this.Z = []; + + var model = scicos_model(); + model.sim = new ScilabString(["OpAmp"]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var mo = modelica(); + mo.model = model.sim; + mo.inputs = new ScilabString(["in_p"], ["in_n"]); + mo.outputs = new ScilabString(["out"]); + mo.parameters = list(new ScilabDouble(), new ScilabDouble()); + model.equations = mo; + model.in = new ScilabDouble(...ones(size(getData(mo.inputs), "*"), 1)); + model.out = new ScilabDouble(...ones(size(getData(mo.outputs), "*"), 1)); + model.rpar = new ScilabDouble(); + + var exprs = new ScilabString(); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"OpAmp\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([3, 5]), model, exprs, gr_i); + this.x.graphics.in_implicit = new ScilabString(["I"], ["I"]); + this.x.graphics.out_implicit = new ScilabString(["I"]); + return new BasicBlock(this.x); + } + OpAmp.prototype.details = function OpAmp() { + return this.x; + } +} + +function OUTIMPL_f() { + + OUTIMPL_f.prototype.define = function OUTIMPL_f() { + var model = scicos_model(); + model.in = new ScilabDouble([-1]); + model.in2 = new ScilabDouble([1]); + + this.prt = 1; + model.sim = new ScilabString(["outimpl"]); + model.ipar = new ScilabDouble([1]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([false, false]); + + var mo = modelica(); + mo.model = new ScilabString(["PORT"]); + mo.inputs = new ScilabString(["n"]); + mo.outputs = new ScilabDouble(); + model.equations = mo; + + var exprs = new ScilabString(["1"]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),"OUTIMPL_f",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([1, 1]), model, exprs, gr_i); + this.x.graphics.in_implicit = new ScilabString(["I"]); + return new ImplicitOutBlock(this.x); + } + OUTIMPL_f.prototype.details = function OUTIMPL_f() { + return this.x; + } +} +function OUT_f () { + + OUT_f.prototype.internal = function OUT_f() { + this.n = -1; + this.prt = 1; + + var model = scicos_model(); + model.sim = new ScilabString(["output"]); + model.in = new ScilabDouble([-1]); + model.in2 = new ScilabDouble([-2]); + model.intyp = new ScilabDouble([-1]); + model.ipar=new ScilabDouble([this.prt]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([false,false]); + var exprs = new ScilabString([sci2exp(this.prt)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"OUT_f\",sz(1),sz(2));"]); + var block=new standard_define(new ScilabDouble([1,1]),model,exprs,gr_i); + block.graphics.style = new ScilabString(["OUT_f"]); // changed + block.graphics.in_style = new ScilabString(["ExplicitInputPort;align=left;verticalAlign=middle;spacing=10.0;rotation=0"]); + block.graphics.in_label = new ScilabString([""]); + block.graphics.in_implicit = new ScilabString(["E"]); + return block; + } + + OUT_f.prototype.define = function OUT_f() { + this.n = -1; + this.prt = 1; + + var model = scicos_model(); + model.sim = new ScilabString(["output"]); + model.in1 = new ScilabDouble([-1]); + model.in2 = new ScilabDouble([-2]); + model.intyp = new ScilabDouble([-1]); + model.ipar=new ScilabDouble([this.prt]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([false,false]); + + var exprs = new ScilabString([sci2exp(this.prt)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"OUT_f\",sz(1),sz(2));"]); + var block=new standard_define(new ScilabDouble([1,1]),model,exprs,gr_i); + block.graphics.style = new ScilabString(["OUT_f"]); + return new ExplicitOutBlock(this.x); + } + + OUT_f.prototype.details = function OUT_f() { + return this.x; + } +} +function PDE() { + + PDE.prototype.define = function PDE() { + this.params_pde = tlist(["paramspde", "a", "b", "txt_exp", "check_op1", "a1", "b1", "check_op2", "a2", "b2", "check_op3", "a3", "b3", "check_op4", "a4", "b4", "check_op5", "a5", "b5", "check_op6", "a6", "b6", "check_op7", "a7", "b7", "discr_cst", "discr_non_cst", "signe", "rad_automatique", "rad_manuel", "methode", "ord1", "ord2", "ord3", "degre", "nnode", "txt_pas", "CI", "dCI", "CLa", "CLa_exp", "CLb", "CLb_exp", "points"], new ScilabString(["paramspde"], ["a"], ["b"], ["txt_exp"], ["check_op1"], ["a1"], ["b1"], ["check_op2"], ["a2"], ["b2"], ["check_op3"], ["a3"], ["b3"], ["check_op4"], ["a4"], ["b4"], ["check_op5"], ["a5"], ["b5"], ["check_op6"], ["a6"], ["b6"], ["check_op7"], ["a7"], ["b7"], ["discr_cst"], ["discr_non_cst"], ["signe"], ["rad_automatique"], ["rad_manuel"], ["methode"], ["ord1"], ["ord2"], ["ord3"], ["degre"], ["nnode"], ["txt_pas"], ["CI"], ["dCI"], ["CLa"], ["CLa_exp"], ["CLb"], ["CLb_exp"], ["points"]), new ScilabString([""]), new ScilabString([""]), new ScilabString([""]), new ScilabString(["0"]), new ScilabString([""]), new ScilabString(["IN_EDP1(t)"]), new ScilabString(["0"]), new ScilabString([""]), new ScilabString(["IN_EDP2(t)"]), new ScilabString(["0"]), new ScilabString([""]), new ScilabString(["IN_EDP3(t)"]), new ScilabString(["0"]), new ScilabString([""]), new ScilabString(["IN_EDP4(t)"]), new ScilabString(["0"]), new ScilabString([""]), new ScilabString(["IN_EDP5(t)"]), new ScilabString(["0"]), new ScilabString([""]), new ScilabString(["IN_EDP6(t)"]), new ScilabString(["0"]), new ScilabString([""]), new ScilabString(["IN_EDP7(t)"]), new ScilabString(["0"]), new ScilabString(["0"]), new ScilabString(["0"]), new ScilabString(["0"]), new ScilabString(["0"]), new ScilabString(["0"]), new ScilabString([""]), new ScilabString([""]), new ScilabString([""]), new ScilabString([""]), new ScilabString([""]), new ScilabString([""]), new ScilabString([""]), new ScilabString([""]), new ScilabString(["0"]), new ScilabString(["IN_CL1(t)"]), new ScilabString(["0"]), new ScilabString(["IN_CL2(t)"]), new ScilabString([""])); + + var model = scicos_model(); + model.state = new ScilabDouble(...zeros(10, 1)); + model.sim = list(new ScilabString(["PDE"]), new ScilabDouble([0])); + model.in = new ScilabDouble([1], [1], [1], [1], [1]); + model.out = new ScilabDouble([10], [0]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([false, true]); + + var label = list(this.params_pde, new ScilabDouble(), new ScilabString([""])); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"PDE\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([3, 3]), model, label, gr_i); + return new BasicBlock(this.x); + } + PDE.prototype.details = function PDE() { + return this.x; + } +} + +function PerteDP() { + + PerteDP.prototype.define = function PerteDP() { + this.L = 10; + this.D = 0.2; + this.lambda = 0.03; + this.z1 = 0; + this.z2 = 0; + this.p_rho = 0; + + var model = scicos_model(); + model.in = new ScilabDouble([1]); + model.out = new ScilabDouble([1]); + model.rpar = new ScilabDouble([this.L], [this.D], [this.lambda], [this.z1], [this.z2], [this.p_rho]); + model.sim = new ScilabString(["PerteDP"]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var mo = modelica(); + mo.model = new ScilabString(["PerteDP"]); + mo.inputs = new ScilabString(["C1"]); + mo.outputs = new ScilabString(["C2"]); + mo.parameters = list(new ScilabString(["L"], ["D"], ["lambda"], ["z1"], ["z2"], ["p_rho"]), new ScilabDouble([this.L], [this.D], [this.lambda], [this.z1], [this.z2], [this.p_rho])); + model.equations = mo; + model.in = new ScilabDouble(...ones(size(getData(mo.inputs), "*"), 1)); + model.out = new ScilabDouble(...ones(size(getData(mo.outputs), "*"), 1)); + + var exprs = new ScilabString([this.L], [this.D], [this.lambda], [this.z1], [this.z2], [this.p_rho]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"PerteDP\",sz(1),sz(2));"]); + this.x = standard_define([2, 1], model, exprs, list(gr_i, 0)); + this.x.graphics.in_implicit = new ScilabString(["I"]); + this.x.graphics.out_implicit = new ScilabString(["I"]); + return new BasicBlock(this.x); + } + PerteDP.prototype.details = function PerteDP() { + return this.x; + } + +} + +function PID() { + + PID.prototype.define = function PID() { + var scs_m = scicos_diagram({ + version: new ScilabString(["scicos4.2"]), + props: scicos_params({ + wpar: new ScilabDouble([600, 450, 0, 0, 600, 450]), + Title: new ScilabString(["PID"]), + tol: new ScilabDouble([0.0001], [0.000001], [1.000E-10], [100001], [0], [0], [0]), + tf: new ScilabDouble([100000]), + context: new ScilabString([" "]), + void1: new ScilabDouble(), + options: tlist(["scsopt", "3D", "Background", "Link", "ID", "Cmap"], new ScilabString(["scsopt", "3D", "Background", "Link", "ID", "Cmap"]), list(new ScilabBoolean([true]), new ScilabDouble([33])), new ScilabDouble([8, 1]), new ScilabDouble([1, 5]), list(new ScilabDouble([5, 1]), new ScilabDouble([4, 1])), new ScilabDouble([0.8, 0.8, 0.8])), + void2: new ScilabDouble(), + void3: new ScilabDouble(), + doc: list() + }) + }); + scs_m.objs.push(scicos_block({ + gui: new ScilabString(["INTEGRAL_m"]), + graphics: scicos_graphics({ + orig: new ScilabDouble([318.304, 183.11733]), + sz: new ScilabDouble([40, 40]), + flip: new ScilabBoolean([true]), + theta: new ScilabDouble([0]), + exprs: new ScilabString(["0"], ["0"], ["0"], ["1"], ["-1"]), + pin: new ScilabDouble([7]), + pout: new ScilabDouble([9]), + pein: new ScilabDouble(), + peout: new ScilabDouble(), + gr_i: list(new ScilabString(["xstringb(orig(1),orig(2),"INTEGRAL_m",sz(1),sz(2));"]), new ScilabDouble([8])), + id: new ScilabString(["1/s"]), + in_implicit: new ScilabString(["E"]), + out_implicit: new ScilabString(["E"]), + in_style: new ScilabString(["ExplicitInputPort;align=left;verticalAlign=middle;spacing=10.0;rotation=0"]), + out_style: new ScilabString(["ExplicitOutputPort;align=right;verticalAlign=middle;spacing=10.0;rotation=0"]), + in_label: new ScilabString([""]), + out_label: new ScilabString([""]), + style: new ScilabString(["INTEGRAL_m"]) + }), + model: scicos_model({ + sim: list(new ScilabString(["integral_func"]), new ScilabDouble([4])), + in: new ScilabDouble([1]), + in2: new ScilabDouble([1]), + intyp: new ScilabDouble([1]), + out: new ScilabDouble([1]), + out2: new ScilabDouble([1]), + outtyp: new ScilabDouble([1]), + evtin: new ScilabDouble(), + evtout: new ScilabDouble(), + state: new ScilabDouble([0]), + dstate: new ScilabDouble(), + odstate: list(), + rpar: new ScilabDouble(), + ipar: new ScilabDouble(), + opar: list(), + blocktype: new ScilabString(["c"]), + firing: new ScilabDouble(), + dep_ut: new ScilabBoolean([false, true]), + label: new ScilabString(["1/s"]), + nzcross: new ScilabDouble([0]), + nmode: new ScilabDouble([0]), + equations: list(), + uid: new ScilabString([count]) + }), + doc: list(new ScilabString([count++])) + })); + scs_m.objs.push(scicos_block({ + gui: new ScilabString(["SUMMATION"]), + graphics: scicos_graphics({ + orig: new ScilabDouble([387.97067, 172.85067]), + sz: new ScilabDouble([40, 60]), + flip: new ScilabBoolean([true]), + theta: new ScilabDouble([0]), + exprs: new ScilabString(["1"], ["[1;1;1]"]), + pin: new ScilabDouble([10], [9], [11]), + pout: new ScilabDouble([19]), + pein: new ScilabDouble(), + peout: new ScilabDouble(), + gr_i: list(new ScilabString(["xstringb(orig(1),orig(2),"SUMMATION",sz(1),sz(2));"]), new ScilabDouble([8])), + id: new ScilabString([""]), + in_implicit: new ScilabString(["E"], ["E"], ["E"]), + out_implicit: new ScilabString(["E"]), + in_style: new ScilabString(["ExplicitInputPort;align=left;verticalAlign=middle;spacing=10.0;rotation=0"], ["ExplicitInputPort;align=left;verticalAlign=middle;spacing=10.0;rotation=0"], ["ExplicitInputPort;align=left;verticalAlign=middle;spacing=10.0;rotation=0"]), + out_style: new ScilabString(["ExplicitOutputPort;align=right;verticalAlign=middle;spacing=10.0;rotation=0"]), + in_label: new ScilabString([""], [""], [""]), + out_label: new ScilabString([""]), + style: new ScilabString(["SUMMATION"]) + }), + model: scicos_model({ + sim: list(new ScilabString(["summation"]), new ScilabDouble([4])), + in: new ScilabDouble([-1], [-1], [-1]), + in2: new ScilabDouble([-2], [-2], [-2]), + intyp: new ScilabDouble([1], [1], [1]), + out: new ScilabDouble([-1]), + out2: new ScilabDouble([-2]), + outtyp: new ScilabDouble([1]), + evtin: new ScilabDouble(), + evtout: new ScilabDouble(), + state: new ScilabDouble(), + dstate: new ScilabDouble(), + odstate: list(), + rpar: new ScilabDouble(), + ipar: new ScilabDouble([1], [1], [1]), + opar: list(), + blocktype: new ScilabString(["c"]), + firing: new ScilabDouble(), + dep_ut: new ScilabBoolean([true, false]), + label: new ScilabString([""]), + nzcross: new ScilabDouble([0]), + nmode: new ScilabDouble([0]), + equations: list(), + uid: new ScilabString([count]) + }), + doc: list(new ScilabString([count++])) + })); + scs_m.objs.push(scicos_block({ + gui: new ScilabString(["GAINBLK"]), + graphics: scicos_graphics({ + orig: new ScilabDouble([321.23733, 235.91733]), + sz: new ScilabDouble([40, 40]), + flip: new ScilabBoolean([true]), + theta: new ScilabDouble([0]), + exprs: new ScilabString(["1"]), + pin: new ScilabDouble([17]), + pout: new ScilabDouble([10]), + pein: new ScilabDouble(), + peout: new ScilabDouble(), + gr_i: list(new ScilabString(["xstringb(orig(1),orig(2),"GAINBLK",sz(1),sz(2));"]), new ScilabDouble([8])), + id: new ScilabString([""]), + in_implicit: new ScilabString(["E"]), + out_implicit: new ScilabString(["E"]), + in_style: new ScilabString(["ExplicitInputPort;align=left;verticalAlign=middle;spacing=10.0;rotation=0"]), + out_style: new ScilabString(["ExplicitOutputPort;align=right;verticalAlign=middle;spacing=10.0;rotation=0"]), + in_label: new ScilabString([""]), + out_label: new ScilabString([""]), + style: new ScilabString(["GAINBLK"]) + }), + model: scicos_model({ + sim: list(new ScilabString(["gainblk"]), new ScilabDouble([4])), + in: new ScilabDouble([-1]), + in2: new ScilabDouble([-2]), + intyp: new ScilabDouble([1]), + out: new ScilabDouble([-1]), + out2: new ScilabDouble([-2]), + outtyp: new ScilabDouble([1]), + evtin: new ScilabDouble(), + evtout: new ScilabDouble(), + state: new ScilabDouble(), + dstate: new ScilabDouble(), + odstate: list(), + rpar: new ScilabDouble([1]), + ipar: new ScilabDouble(), + opar: list(), + blocktype: new ScilabString(["c"]), + firing: new ScilabDouble(), + dep_ut: new ScilabBoolean([true, false]), + label: new ScilabString([""]), + nzcross: new ScilabDouble([0]), + nmode: new ScilabDouble([0]), + equations: list(), + uid: new ScilabString([count]) + }), + doc: list(new ScilabString([count++])) + })); + scs_m.objs.push(scicos_block({ + gui: new ScilabString(["DERIV"]), + graphics: scicos_graphics({ + orig: new ScilabDouble([319.03733, 135.45067]), + sz: new ScilabDouble([40, 40]), + flip: new ScilabBoolean([true]), + theta: new ScilabDouble([0]), + exprs: new ScilabDouble(), + pin: new ScilabDouble([8]), + pout: new ScilabDouble([11]), + pein: new ScilabDouble(), + peout: new ScilabDouble(), + gr_i: list(new ScilabString(["xstringb(orig(1),orig(2),"DERIV",sz(1),sz(2));"]), new ScilabDouble([8])), + id: new ScilabString(["s"]), + in_implicit: new ScilabString(["E"]), + out_implicit: new ScilabString(["E"]), + in_style: new ScilabString(["ExplicitInputPort;align=left;verticalAlign=middle;spacing=10.0;rotation=0"]), + out_style: new ScilabString(["ExplicitOutputPort;align=right;verticalAlign=middle;spacing=10.0;rotation=0"]), + in_label: new ScilabString([""]), + out_label: new ScilabString([""]), + style: new ScilabString(["DERIV"]) + }), + model: scicos_model({ + sim: list(new ScilabString(["deriv"]), new ScilabDouble([4])), + in: new ScilabDouble([-1]), + in2: new ScilabDouble([-2]), + intyp: new ScilabDouble([1]), + out: new ScilabDouble([-1]), + out2: new ScilabDouble([-2]), + outtyp: new ScilabDouble([1]), + evtin: new ScilabDouble(), + evtout: new ScilabDouble(), + state: new ScilabDouble(), + dstate: new ScilabDouble(), + odstate: list(), + rpar: new ScilabDouble(), + ipar: new ScilabDouble(), + opar: list(), + blocktype: new ScilabString(["x"]), + firing: new ScilabDouble(), + dep_ut: new ScilabBoolean([true, false]), + label: new ScilabString(["s"]), + nzcross: new ScilabDouble([0]), + nmode: new ScilabDouble([0]), + equations: list(), + uid: new ScilabString([count]) + }), + doc: list(new ScilabString([count++])) + })); + scs_m.objs.push(scicos_block({ + gui: new ScilabString(["GAINBLK"]), + graphics: scicos_graphics({ + orig: new ScilabDouble([255.23733, 183.11733]), + sz: new ScilabDouble([40, 40]), + flip: new ScilabBoolean([true]), + theta: new ScilabDouble([0]), + exprs: new ScilabString(["1"]), + pin: new ScilabDouble([13]), + pout: new ScilabDouble([7]), + pein: new ScilabDouble(), + peout: new ScilabDouble(), + gr_i: list(new ScilabString(["xstringb(orig(1),orig(2),"GAINBLK",sz(1),sz(2));"]), new ScilabDouble([8])), + id: new ScilabString([""]), + in_implicit: new ScilabString(["E"]), + out_implicit: new ScilabString(["E"]), + in_style: new ScilabString(["ExplicitInputPort;align=left;verticalAlign=middle;spacing=10.0;rotation=0"]), + out_style: new ScilabString(["ExplicitOutputPort;align=right;verticalAlign=middle;spacing=10.0;rotation=0"]), + in_label: new ScilabString([""]), + out_label: new ScilabString([""]), + style: new ScilabString(["GAINBLK"]) + }), + model: scicos_model({ + sim: list(new ScilabString(["gainblk"]), new ScilabDouble([4])), + in: new ScilabDouble([-1]), + in2: new ScilabDouble([-2]), + intyp: new ScilabDouble([1]), + out: new ScilabDouble([-1]), + out2: new ScilabDouble([-2]), + outtyp: new ScilabDouble([1]), + evtin: new ScilabDouble(), + evtout: new ScilabDouble(), + state: new ScilabDouble(), + dstate: new ScilabDouble(), + odstate: list(), + rpar: new ScilabDouble([1]), + ipar: new ScilabDouble(), + opar: list(), + blocktype: new ScilabString(["c"]), + firing: new ScilabDouble(), + dep_ut: new ScilabBoolean([true, false]), + label: new ScilabString([""]), + nzcross: new ScilabDouble([0]), + nmode: new ScilabDouble([0]), + equations: list(), + uid: new ScilabString([count]) + }), + doc: list(new ScilabString([count++])) + })); + scs_m.objs.push(scicos_block({ + gui: new ScilabString(["GAINBLK"]), + graphics: scicos_graphics({ + orig: new ScilabDouble([255.23733, 135.45067]), + sz: new ScilabDouble([40, 40]), + flip: new ScilabBoolean([true]), + theta: new ScilabDouble([0]), + exprs: new ScilabString(["1"]), + pin: new ScilabDouble([14]), + pout: new ScilabDouble([8]), + pein: new ScilabDouble(), + peout: new ScilabDouble(), + gr_i: list(new ScilabString(["xstringb(orig(1),orig(2),"GAINBLK",sz(1),sz(2));"]), new ScilabDouble([8])), + id: new ScilabString([""]), + in_implicit: new ScilabString(["E"]), + out_implicit: new ScilabString(["E"]), + in_style: new ScilabString(["ExplicitInputPort;align=left;verticalAlign=middle;spacing=10.0;rotation=0"]), + out_style: new ScilabString(["ExplicitOutputPort;align=right;verticalAlign=middle;spacing=10.0;rotation=0"]), + in_label: new ScilabString([""]), + out_label: new ScilabString([""]), + style: new ScilabString(["GAINBLK"]) + }), + model: scicos_model({ + sim: list(new ScilabString(["gainblk"]), new ScilabDouble([4])), + in: new ScilabDouble([-1]), + in2: new ScilabDouble([-2]), + intyp: new ScilabDouble([1]), + out: new ScilabDouble([-1]), + out2: new ScilabDouble([-2]), + outtyp: new ScilabDouble([1]), + evtin: new ScilabDouble(), + evtout: new ScilabDouble(), + state: new ScilabDouble(), + dstate: new ScilabDouble(), + odstate: list(), + rpar: new ScilabDouble([1]), + ipar: new ScilabDouble(), + opar: list(), + blocktype: new ScilabString(["c"]), + firing: new ScilabDouble(), + dep_ut: new ScilabBoolean([true, false]), + label: new ScilabString([""]), + nzcross: new ScilabDouble([0]), + nmode: new ScilabDouble([0]), + equations: list(), + uid: new ScilabString([count]) + }), + doc: list(new ScilabString([count++])) + })); + scs_m.objs.push(scicos_block({ + gui: new ScilabString(["SPLIT_f"]), + graphics: scicos_graphics({ + orig: new ScilabDouble([234.704, 203.11733]), + sz: new ScilabDouble([0.3333333, 0.3333333]), + flip: new ScilabBoolean([true]), + theta: new ScilabDouble([0]), + exprs: new ScilabDouble(), + pin: new ScilabDouble([16]), + pout: new ScilabDouble([16], [17], [0]), + pein: new ScilabDouble(), + peout: new ScilabDouble(), + gr_i: list(new ScilabString(["xstringb(orig(1),orig(2),"SPLIT_f",sz(1),sz(2));"]), new ScilabDouble([8])), + id: new ScilabString([""]), + in_implicit: new ScilabString(["E"]), + out_implicit: new ScilabString(["E"], ["E"], ["E"]), + in_style: new ScilabString(["ExplicitInputPort;align=left;verticalAlign=middle;spacing=10.0;rotation=0"]), + out_style: new ScilabString(["ExplicitOutputPort;align=right;verticalAlign=middle;spacing=10.0;rotation=0"], ["ExplicitOutputPort;align=right;verticalAlign=middle;spacing=10.0;rotation=0"], ["ExplicitOutputPort;align=right;verticalAlign=middle;spacing=10.0;rotation=0"]), + in_label: new ScilabString([""]), + out_label: new ScilabString([""], [""], [""]), + style: new ScilabString(["SPLIT_f"]) + }), + model: scicos_model({ + sim: new ScilabString(["lsplit"]), + in: new ScilabDouble([-1]), + in2: new ScilabDouble([1]), + intyp: new ScilabDouble([1]), + out: new ScilabDouble([-1], [-1], [-1]), + out2: new ScilabDouble([1], [1], [1]), + outtyp: new ScilabDouble([1], [1], [1]), + evtin: new ScilabDouble(), + evtout: new ScilabDouble(), + state: new ScilabDouble(), + dstate: new ScilabDouble(), + odstate: list(), + rpar: new ScilabDouble(), + ipar: new ScilabDouble(), + opar: list(), + blocktype: new ScilabString(["c"]), + firing: new ScilabDouble(), + dep_ut: new ScilabBoolean([true, false]), + label: new ScilabString([""]), + nzcross: new ScilabDouble([0]), + nmode: new ScilabDouble([0]), + equations: list(), + uid: new ScilabString([count]) + }), + doc: list(new ScilabString([count++])) + })); + scs_m.objs.push(scicos_block({ + gui: new ScilabString(["SPLIT_f"]), + graphics: scicos_graphics({ + orig: new ScilabDouble([233.97067, 203.11733]), + sz: new ScilabDouble([0.3333333, 0.3333333]), + flip: new ScilabBoolean([true]), + theta: new ScilabDouble([0]), + exprs: new ScilabDouble(), + pin: new ScilabDouble([21]), + pout: new ScilabDouble([18], [19], [0]), + pein: new ScilabDouble(), + peout: new ScilabDouble(), + gr_i: list(new ScilabString(["xstringb(orig(1),orig(2),"SPLIT_f",sz(1),sz(2));"]), new ScilabDouble([8])), + id: new ScilabString([""]), + in_implicit: new ScilabString(["E"]), + out_implicit: new ScilabString(["E"], ["E"], ["E"]), + in_style: new ScilabString(["ExplicitInputPort;align=left;verticalAlign=middle;spacing=10.0;rotation=0"]), + out_style: new ScilabString(["ExplicitOutputPort;align=right;verticalAlign=middle;spacing=10.0;rotation=0"], ["ExplicitOutputPort;align=right;verticalAlign=middle;spacing=10.0;rotation=0"], ["ExplicitOutputPort;align=right;verticalAlign=middle;spacing=10.0;rotation=0"]), + in_label: new ScilabString([""]), + out_label: new ScilabString([""], [""], [""]), + style: new ScilabString(["SPLIT_f"]) + }), + model: scicos_model({ + sim: new ScilabString(["lsplit"]), + in: new ScilabDouble([-1]), + in2: new ScilabDouble([1]), + intyp: new ScilabDouble([1]), + out: new ScilabDouble([-1], [-1], [-1]), + out2: new ScilabDouble([1], [1], [1]), + outtyp: new ScilabDouble([1], [1], [1]), + evtin: new ScilabDouble(), + evtout: new ScilabDouble(), + state: new ScilabDouble(), + dstate: new ScilabDouble(), + odstate: list(), + rpar: new ScilabDouble(), + ipar: new ScilabDouble(), + opar: list(), + blocktype: new ScilabString(["c"]), + firing: new ScilabDouble(), + dep_ut: new ScilabBoolean([true, false]), + label: new ScilabString([""]), + nzcross: new ScilabDouble([0]), + nmode: new ScilabDouble([0]), + equations: list(), + uid: new ScilabString([count]) + }), + doc: list(new ScilabString([count++])) + })); + scs_m.objs.push(scicos_block({ + gui: new ScilabString(["OUT_f"]), + graphics: scicos_graphics({ + orig: new ScilabDouble([456.5421, 192.85067]), + sz: new ScilabDouble([20, 20]), + flip: new ScilabBoolean([true]), + theta: new ScilabDouble([0]), + exprs: new ScilabString(["1"]), + pin: new ScilabDouble([19]), + pout: new ScilabDouble(), + pein: new ScilabDouble(), + peout: new ScilabDouble(), + gr_i: list(new ScilabString(["xstringb(orig(1),orig(2),"OUT_f",sz(1),sz(2));"]), new ScilabDouble([8])), + id: new ScilabString([""]), + in_implicit: new ScilabString(["E"]), + out_implicit: new ScilabDouble(), + in_style: new ScilabString(["ExplicitInputPort;align=left;verticalAlign=middle;spacing=10.0;rotation=0"]), + in_label: new ScilabString([""]), + style: new ScilabString(["OUT_f"]) + }), + model: scicos_model({ + sim: new ScilabString(["output"]), + in: new ScilabDouble([-1]), + in2: new ScilabDouble([1]), + intyp: new ScilabDouble([-1]), + out: new ScilabDouble(), + out2: new ScilabDouble(), + outtyp: new ScilabDouble(), + evtin: new ScilabDouble(), + evtout: new ScilabDouble(), + state: new ScilabDouble(), + dstate: new ScilabDouble(), + odstate: list(), + rpar: new ScilabDouble(), + ipar: new ScilabDouble([1]), + opar: list(), + blocktype: new ScilabString(["c"]), + firing: new ScilabDouble(), + dep_ut: new ScilabBoolean([false, false]), + label: new ScilabString([""]), + nzcross: new ScilabDouble([0]), + nmode: new ScilabDouble([0]), + equations: list(), + uid: new ScilabString([count]) + }), + doc: list(new ScilabString([count++])) + })); + scs_m.objs.push(scicos_block({ + gui: new ScilabString(["IN_f"]), + graphics: scicos_graphics({ + orig: new ScilabDouble([193.97067, 193.11733]), + sz: new ScilabDouble([20, 20]), + flip: new ScilabBoolean([true]), + theta: new ScilabDouble([0]), + exprs: new ScilabString(["1"]), + pin: new ScilabDouble(), + pout: new ScilabDouble([21]), + pein: new ScilabDouble(), + peout: new ScilabDouble(), + gr_i: list(new ScilabString(["xstringb(orig(1),orig(2),"IN_f",sz(1),sz(2));"]), new ScilabDouble([8])), + id: new ScilabString([""]), + in_implicit: new ScilabDouble(), + out_implicit: new ScilabString(["E"]), + out_style: new ScilabString(["ExplicitOutputPort;align=right;verticalAlign=middle;spacing=10.0;rotation=0"]), + out_label: new ScilabString([""]), + style: new ScilabString(["IN_f"]) + }), + model: scicos_model({ + sim: new ScilabString(["input"]), + in: new ScilabDouble(), + in2: new ScilabDouble(), + intyp: new ScilabDouble(), + out: new ScilabDouble([-1]), + out2: new ScilabDouble([1]), + outtyp: new ScilabDouble([-1]), + evtin: new ScilabDouble(), + evtout: new ScilabDouble(), + state: new ScilabDouble(), + dstate: new ScilabDouble(), + odstate: list(), + rpar: new ScilabDouble(), + ipar: new ScilabDouble([1]), + opar: list(), + blocktype: new ScilabString(["c"]), + firing: new ScilabDouble(), + dep_ut: new ScilabBoolean([false, false]), + label: new ScilabString([""]), + nzcross: new ScilabDouble([0]), + nmode: new ScilabDouble([0]), + equations: list(), + uid: new ScilabString([count]) + }), + doc: list(new ScilabString([count++])) + })); + + scs_m.objs.push(scicos_link({ + xx: new ScilabDouble([303.80876], [309.73257]), + yy: new ScilabDouble([203.11733], [203.11733]), + id: new ScilabString(["drawlink"]), + thick: new ScilabDouble([0, 0]), + ct: new ScilabDouble([1, 1]), + from: new ScilabDouble([5, 1, 0]), + to: new ScilabDouble([1, 1, 1]) + })); + scs_m.objs.push(scicos_link({ + xx: new ScilabDouble([303.80876], [310.4659]), + yy: new ScilabDouble([155.45067], [155.45067]), + id: new ScilabString(["drawlink"]), + thick: new ScilabDouble([0, 0]), + ct: new ScilabDouble([1, 1]), + from: new ScilabDouble([6, 1, 0]), + to: new ScilabDouble([4, 1, 1]) + })); + scs_m.objs.push(scicos_link({ + xx: new ScilabDouble([366.87543], [379.39924]), + yy: new ScilabDouble([203.11733], [202.85067]), + id: new ScilabString(["drawlink"]), + thick: new ScilabDouble([0, 0]), + ct: new ScilabDouble([1, 1]), + from: new ScilabDouble([1, 1, 0]), + to: new ScilabDouble([2, 2, 1]) + })); + scs_m.objs.push(scicos_link({ + xx: new ScilabDouble([369.80876], [379.39924], [379.39924]), + yy: new ScilabDouble([255.91733], [255.91733], [217.85067]), + id: new ScilabString(["drawlink"]), + thick: new ScilabDouble([0, 0]), + ct: new ScilabDouble([1, 1]), + from: new ScilabDouble([3, 1, 0]), + to: new ScilabDouble([2, 1, 1]) + })); + scs_m.objs.push(scicos_link({ + xx: new ScilabDouble([367.60876], [379.39924], [379.39924]), + yy: new ScilabDouble([155.45067], [155.45067], [187.85067]), + id: new ScilabString(["drawlink"]), + thick: new ScilabDouble([0, 0]), + ct: new ScilabDouble([1, 1]), + from: new ScilabDouble([4, 1, 0]), + to: new ScilabDouble([2, 3, 1]) + })); + scs_m.objs.push(scicos_link({ + xx: new ScilabDouble([234.704], [246.6659]), + yy: new ScilabDouble([203.11733], [203.11733]), + id: new ScilabString(["drawlink"]), + thick: new ScilabDouble([0, 0]), + ct: new ScilabDouble([1, 1]), + from: new ScilabDouble([12, 1, 0]), + to: new ScilabDouble([5, 1, 1]) + })); + scs_m.objs.push(scicos_link({ + xx: new ScilabDouble([234.704], [234.704], [246.6659]), + yy: new ScilabDouble([203.11733], [155.45067], [155.45067]), + id: new ScilabString(["drawlink"]), + thick: new ScilabDouble([0, 0]), + ct: new ScilabDouble([1, 1]), + from: new ScilabDouble([12, 2, 0]), + to: new ScilabDouble([6, 1, 1]) + })); + scs_m.objs.push(scicos_link({ + xx: new ScilabDouble([233.97067], [234.704]), + yy: new ScilabDouble([203.11733], [203.11733]), + id: new ScilabString(["drawlink"]), + thick: new ScilabDouble([0, 0]), + ct: new ScilabDouble([1, 1]), + from: new ScilabDouble([15, 1, 0]), + to: new ScilabDouble([12, 1, 1]) + })); + scs_m.objs.push(scicos_link({ + xx: new ScilabDouble([233.97067], [233.97067], [312.6659]), + yy: new ScilabDouble([203.11733], [255.91733], [255.91733]), + id: new ScilabString(["drawlink"]), + thick: new ScilabDouble([0, 0]), + ct: new ScilabDouble([1, 1]), + from: new ScilabDouble([15, 2, 0]), + to: new ScilabDouble([3, 1, 1]) + })); + scs_m.objs.push(scicos_link({ + xx: new ScilabDouble([436.5421], [456.5421]), + yy: new ScilabDouble([202.85067], [202.85067]), + id: new ScilabString(["drawlink"]), + thick: new ScilabDouble([0, 0]), + ct: new ScilabDouble([1, 1]), + from: new ScilabDouble([2, 1, 0]), + to: new ScilabDouble([18, 1, 1]) + })); + scs_m.objs.push(scicos_link({ + xx: new ScilabDouble([213.97067], [233.97067]), + yy: new ScilabDouble([203.11733], [203.11733]), + id: new ScilabString(["drawlink"]), + thick: new ScilabDouble([0, 0]), + ct: new ScilabDouble([1, 1]), + from: new ScilabDouble([20, 1, 0]), + to: new ScilabDouble([15, 1, 1]) + })); + + var model = scicos_model(); + model.sim = new ScilabString(["csuper"]); + model.in = new ScilabDouble([-1]); + model.in2 = new ScilabDouble([-2]); + model.out = new ScilabDouble([-1]); + model.out2 = new ScilabDouble([-2]); + model.intyp = new ScilabDouble([1]); + model.outtyp = new ScilabDouble([1]); + model.blocktype = new ScilabString(["h"]); + model.firing = new ScilabBoolean([false]); + model.dep_ut = new ScilabBoolean([false, false]); + model.rpar = scs_m; + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"PID\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, new ScilabDouble(), gr_i); + return new BasicBlock(this.x); + } + PID.prototype.details = function PID() { + return this.x; + } +} +function PNP() { + + PNP.prototype.define = function PNP() { + this.ModelName = "PNP"; + this.PrametersValue = [[50],[0.1],[0],[0.02],[1.200e-10],[5.000e-09],[1.000e-12],[4.000e-13],[5.000e-13],[0.8],[0.4],[0.8],[0.333],[1.000e-15],[1.000e-15],[0.02585],[40]]; + this.ParametersName = [["Bf"],["Br"],["Is"],["Vak"],["Tauf"],["Taur"],["Ccs"],["Cje"],["Cjc"],["Phie"],["Me"],["Phic"],["Mc"],["Gbc"],["Gbe"],["Vt"],["EMinMax"]]; + + var model = scicos_model(); + this.Typein = []; + this.Typeout = []; + this.MI = []; + this.MO = []; + this.P = [[100, 90, -2, 0], [0, 50, 2, 0], [100, 10, -2, 0]]; + this.PortName = [["C"], ["B"], ["E"]]; + + for (var i = 0; i < size(this.P, "r"); i++) { + if (this.P[i][2] == 1) { + this.Typein.push(["E"]); + this.MI.push(this.PortName[i]); + } + + if (this.P[i][2] == 2) { + this.Typein.push(["I"]); + this.MI.push(this.PortName[i]); + } + if (this.P[i][2] == -1) { + this.Typeout.push(["E"]); + this.MO.push(this.PortName[i]); + } + if (this.P[i][2] == -2) { + this.Typeout.push(["I"]); + this.MO.push(this.PortName[i]); + } + } + + var mo = modelica(); + model.sim = new ScilabString([this.ModelName]); + mo.inputs = new ScilabString(...this.MI); + mo.outputs = new ScilabString(...this.MO); + model.rpar = new ScilabDouble(...this.PrametersValue); + + var arr = []; + arr.push(zeros(getData(this.ParametersName))); + mo.parameters = list(new ScilabString(...this.ParametersName), new ScilabDouble(...this.PrametersValue), new ScilabDouble(...math.transpose(arr))); + var exprs = new ScilabString(["50"], ["0.1"], ["1.e-16"], ["0.02"], ["0.12e-9"], ["5e-9"], ["1e-12"], ["0.4e-12"], ["0.5e-12"], ["0.8"], ["0.4"], ["0.8"], ["0.333"], ["1e-15"], ["1e-15"], ["0.02585"], ["40"]); + var gr_i = "xstringb(orig(1),orig(2),\"PNP\",sz(1),sz(2));" + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([false, true]); + mo.model = new ScilabString([this.ModelName]); + model.equations = mo; + model.in = new ScilabDouble(...ones(size(this.MI, "*"), 1)); + model.out = new ScilabDouble(...ones(size(this.MO, "*"), 1)); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, list(new ScilabString([gr_i]), new ScilabDouble([0]))); + this.x.graphics.in_implicit = new ScilabDouble(...this.Typein); + this.x.graphics.out_implicit = new ScilabDouble(...this.Typeout); + + return new BasicBlock(this.x); + } + + PNP.prototype.details = function PNP() { + return this.x; + } +} +function POSTONEG_f() { + + POSTONEG_f.prototype.define = function POSTONEG_f() { + this.rpar = [[-1], [-1], [-1], [0]]; + + var model = scicos_model(); + model.sim = list(new ScilabString(["zcross"]), new ScilabDouble([1])); + model.nzcross = new ScilabDouble([1]); + model.in = new ScilabDouble([1]); + model.evtout = new ScilabDouble([1]); + model.rpar = new ScilabDouble([-1], [-1], [-1], [0]); + model.blocktype = new ScilabString(["z"]); + model.dep_ut = new ScilabBoolean([true, false]); + model.firing = new ScilabDouble([-1]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"POSTONEG_f\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, [], gr_i); + return new BasicBlock(this.x); + } + POSTONEG_f.prototype.details = function POSTONEG_f() { + return this.x; + } +} + +function PotentialSensor() { + + PotentialSensor.prototype.define = function PotentialSensor() { + + var model = scicos_model(); + model.in = new ScilabDouble([1]); + model.out = new ScilabDouble([1]); + model.rpar = new ScilabDouble(); + model.sim = new ScilabString(["PotentialSensor"]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var mo = modelica(); + mo.model = new ScilabString(["PotentialSensor"]); + mo.inputs = new ScilabString(["p"]); + mo.outputs = new ScilabString(["v"]); + model.equations = mo; + + var exprs = new ScilabString([""]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"PotentialSensor\",sz(1),sz(2));"]); + this.x = standard_define([2, 2], model, exprs, list(gr_i, 0)); + this.x.graphics.in_implicit = new ScilabString(["I"]); + this.x.graphics.out_implicit = new ScilabString(["E"]); + return new BasicBlock(this.x); + } + PotentialSensor.prototype.details = function PotentialSensor() { + return this.x; + } +} + +function PRODUCT() { + + PRODUCT.prototype.define = function PRODUCT() { + this.sgn = [[1],[-1]]; + + var model = scicos_model(); + model.sim = list(new ScilabString(["product"]), new ScilabDouble([4])); + model.in = new ScilabDouble([-1], [-1]); + model.out = new ScilabDouble([-1]); + model.ipar = new ScilabDouble(...this.sgn); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var exprs = new ScilabString([sci2exp(this.sgn)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),"PRODUCT",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 3]), model, exprs, gr_i); + return new Product(this.x); + } + PRODUCT.prototype.details = function PRODUCT() { + return this.x; + } +} +function PROD_f() { + + PROD_f.prototype.define = function PROD_f() { + + var model = scicos_model(); + model.sim = list(new ScilabString(["prod"]), new ScilabDouble([2])); + model.in = new ScilabDouble([-1], [-1]); + model.out = new ScilabDouble([-1]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + this.x = new standard_define(new ScilabDouble([1, 1]), model, new ScilabDouble(), new ScilabString()); + return new RoundBlock(this.x); + } + PROD_f.prototype.details = function PROD_f() { + return this.x; + } +} + +function PuitsP() { + + PuitsP.prototype.define = function PuitsP() { + this.P0 = 100000; + this.T0 = 290; + this.H0 = 100000; + this.option_temperature = 1; + + var model = scicos_model(); + model.rpar = new ScilabDouble([this.P0], [this.T0], [this.H0], [this.option_temperature]); + model.sim = new ScilabString(["Puits"]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var mo = modelica(); + mo.model = new ScilabString(["Puits"]); + mo.inputs = new ScilabString(["C"]); + mo.outputs = new ScilabDouble(); + mo.parameters = list(new ScilabString(["P0"], ["T0"], ["H0"], ["option_temperature"]), new ScilabDouble([this.P0], [this.T0], [this.H0], [this.option_temperature])); + model.equations = mo; + model.in = new ScilabDouble(...ones(size(getData(mo.inputs), "*"), 1)); + + var exprs = new ScilabString([this.P0], [this.T0], [this.H0], [this.option_temperature]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"PuitsP\",sz(1),sz(2));"]); + this.x = standard_define([2.5, 2], model, exprs, list(gr_i, new ScilabDouble(0))); + this.x.graphics.in_implicit = new ScilabString(["I"]); + return new BasicBlock(this.x); + } + PuitsP.prototype.details = function PuitsP() { + return this.x; + } +} + +function READAU_f() { + + READAU_f.prototype.define = function READAU_f() { + this.frmt = "uc "; + this.fname = "test.au"; + this.lunit = 0; + this.N = 20; + this.M = 1; + this.tmask = []; + this.swap = 0; + this.offset = 1; + this.outmask = 1; + this.ievt = 0; + this.nout = size(this.outmask, "*"); + var model = scicos_model(); + model.sim = list(new ScilabString(["readau"]), new ScilabDouble([2])); + model.out = new ScilabDouble([this.nout]); + model.evtin = new ScilabDouble([1]); + model.dstate = new ScilabDouble([1], [1], [this.lunit], ...zeros(this.N * this.M, 1)); + model.ipar = new ScilabDouble([this.fname.length], ..._str2code(this.frmt), [this.ievt], [this.N], [this.M], [this.swap], [this.offset], ..._str2code(this.fname), [this.outmask]); + model.blocktype = new ScilabString(["d"]); + model.dep_ut = new ScilabBoolean([false, false]); + + var exprs = new ScilabString([this.fname], [this.N], [this.swap]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"READAU_f\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([5, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + READAU_f.prototype.details = function READAU_f() { + return this.x; + } +} +function READC_f() { + + READC_f.prototype.define = function READC_f() { + this.frmt = "d "; + this.fname = "foo"; + this.lunit = 0; + this.N = 20; + this.M = 1; + this.rpar = []; + this.tmask = 0; + this.swap = 0; + this.offset = 1; + this.outmask = 1; + this.ievt = 0; + this.nout = size(this.outmask, "*"); + + var ipar = new ScilabDouble([this.fname.length], ..._str2code(this.frmt), [this.ievt], [this.N], [this.M], [this.swap], [this.offset], ..._str2code(this.fname), [this.tmask], [this.outmask]); + + var model = scicos_model(); + model.sim = list(new ScilabString(["readc"]), new ScilabDouble([2])); + model.out = new ScilabDouble([this.nout]); + model.evtin = new ScilabDouble([1]); + model.evtout = new ScilabDouble(); + model.dstate = new ScilabDouble([1], [1], [this.lunit], ...zeros(this.N * this.M, 1)); + model.ipar = ipar; + model.blocktype = new ScilabString(["d"]); + model.firing = new ScilabDouble([-1]); + model.dep_ut = new ScilabBoolean([false, false]); + + var exprs = new ScilabString(["[]"], [this.outmask], [this.fname], [this.frmt], [this.M], [this.N], [this.offset], [this.swap]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"READC_f\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([4, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + READC_f.prototype.details = function READC_f() { + return this.x; + } +} +function REGISTER() { + + REGISTER.prototype.define = function REGISTER() { + this.z0 = new ScilabDouble(...zeros(10, 1)); + + var model = scicos_model(); + model.sim = list(new ScilabString(["delay4"]), new ScilabDouble([4])); + model.in = new ScilabDouble([1]); + model.out = new ScilabDouble([1]); + model.evtin = new ScilabDouble([1]); + model.dstate = this.z0; + model.blocktype = new ScilabString(["d"]); + model.dep_ut = new ScilabBoolean([false, false]); + + var exprs = new ScilabString(this.z0); + + var gr_i = ["xstringb(orig(1),orig(2),\"REGISTER\",sz(1),sz(2));"]; + this.x = new standard_define(new ScilabDouble([3,2]), model, exprs, gr_i); + return new BasicBlock(this.x); + + } + + REGISTER.prototype.details = function REGISTER() { + return this.x; + } +} +function REGISTER_f () { + + REGISTER_f.prototype.internal = function REGISTER_f() { + this.z0 = zeros(10,1); + + var model = scicos_model(); + model.sim = new ScilabString(["delay"]); + model.in = new ScilabDouble([1]); + model.out = new ScilabDouble([1]); + model.evtin = new ScilabDouble([1]); + model.dstate= new ScilabDouble(...this.z0); + model.blocktype = new ScilabString(["d"]); + model.dep_ut = new ScilabBoolean([false,false]); + + var exprs = new ScilabString([this.z0.toString().replace(/,/g, ";")]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"REGISTER_f\",sz(1),sz(2));"]); + var block=new standard_define(new ScilabDouble([2.5,2.5]),model,exprs,gr_i); + block.graphics.style = new ScilabString(["REGISTER_f"]); + block.graphics.in_implicit = new ScilabString(["E"]); // changed + block.graphics.out_implicit = new ScilabString(["E"]); + block.graphics.in_style = new ScilabString(["ExplicitInputPort;align=left;verticalAlign=middle;spacing=10.0;rotation=0"]); + block.graphics.out_style = new ScilabString(["ExplicitOutputPort;align=right;verticalAlign=middle;spacing=10.0;rotation=0"]); + block.graphics.in_label = new ScilabString([""]); + block.graphics.out_label = new ScilabString([""]); + return block; + } +} +function RFILE_f() { + + RFILE_f.prototype.define = function RFILE_f() { + this.out = 1; + this.nout = this.out; + this.frmt = "(7(e10.3,1x))"; + this.fname = "foo"; + this.lunit = 0; + this.N = 2; + this.rpar = []; + this.tmask = 0; + this.outmask = 1; + + var ipar = new ScilabDouble([this.fname.length], [this.frmt.length], [0], [this.N], ..._str2code(this.fname), ..._str2code(this.frmt), [this.tmask], [this.outmask]); + + var dstate = new ScilabDouble([1], [1], [this.lunit], ...zeros((this.nout) * this.N, 1)); + + var model = scicos_model(); + model.sim = new ScilabString(["readf"]); + model.out = new ScilabDouble([this.nout]); + model.evtin = new ScilabDouble([1]); + model.dstate = dstate; + model.ipar = ipar; + model.blocktype = new ScilabString(["d"]); + model.dep_ut = new ScilabBoolean([false, false]); + + var exprs = new ScilabString([sci2exp([])], [sci2exp(this.outmask)], [this.fname], [this.frmt], [this.N], [this.out]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"RFILE_f\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([3, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + RFILE_f.prototype.details = function RFILE_f() { + return this.x; + } +} diff --git a/data_structures_correct/CLKINV_f.js b/data_structures_correct/CLKINV_f.js index f9dadbc..70c142f 100644 --- a/data_structures_correct/CLKINV_f.js +++ b/data_structures_correct/CLKINV_f.js @@ -12,10 +12,30 @@ function CLKINV_f() { model.dep_ut = new ScilabBoolean([false, false]); var exprs = new ScilabString([this.prt]); + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"CLKINV_f\",sz(1),sz(2));"]); this.x = new standard_define(new ScilabDouble([1, 1]), model, exprs, gr_i); return new EventInBlock(this.x); } + CLKINV_f.prototype.internal = function CLKINV_f() { + this.prt = 1; + + var model = scicos_model(); + model.sim = new ScilabString(["input"]); + model.evtout = new ScilabDouble([1]); + model.ipar = new ScilabDouble([this.prt]); + model.blocktype = new ScilabString(["d"]); + model.firing = new ScilabDouble([-1]); + model.dep_ut = new ScilabBoolean([false, false]); + model.outtyp = new ScilabDouble(); + + var exprs = new ScilabString([this.prt]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"CLKINV_f\",sz(1),sz(2));"]); + var block = new standard_define(new ScilabDouble([1, 1]), model, exprs, gr_i); + block.graphics.style = new ScilabString(["CLKINV_f"]); + return block; + } CLKINV_f.prototype.details = function CLKINV_f() { return this.x; } diff --git a/data_structures_correct/CLKOUTV_f.js b/data_structures_correct/CLKOUTV_f.js index 5d13410..5ea67f1 100644 --- a/data_structures_correct/CLKOUTV_f.js +++ b/data_structures_correct/CLKOUTV_f.js @@ -28,9 +28,11 @@ function CLKOUTV_f() { model.blocktype = new ScilabString(["d"]); model.firing = new ScilabDouble(); model.dep_ut = new ScilabBoolean([false, false]); - + model.outtyp = new ScilabDouble(); var exprs = new ScilabString([this.prt]); var block = new standard_define(new ScilabDouble([1, 1]), model, exprs, new ScilabString([" "])); + block.graphics.gr_i = list(new ScilabString(["xstringb(orig(1),orig(2),"CLKOUTV_f",sz(1),sz(2));"]), new ScilabDouble([8])); + block.graphics.style = new ScilabString(["CLKOUTV_f"]); return block; } diff --git a/data_structures_correct/CLKSOM_f.js b/data_structures_correct/CLKSOM_f.js new file mode 100644 index 0000000..f67b2a4 --- /dev/null +++ b/data_structures_correct/CLKSOM_f.js @@ -0,0 +1,19 @@ +function CLKSOM_f() { + + CLKSOM_f.prototype.internal = function CLKSOM_f() { + + var model = scicos_model(); + model.sim = new ScilabString(["sum"]); + model.evtin = new ScilabDouble([1], [1], [1]); + model.evtout = new ScilabDouble([1]); + model.blocktype = new ScilabString(["d"]); + model.firing = new ScilabDouble([-1]); + model.dep_ut = new ScilabBoolean([false, false]); + model.outtyp = new ScilabDouble(); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"CLKSOM_f\",sz(1),sz(2));"]); + var block = standard_define(new ScilabDouble([1, 1]), model, [], gr_i); + block.graphics.style = new ScilabString(["CLKSOM_f"]) + return block; + } +} diff --git a/data_structures_correct/CONST_m.js b/data_structures_correct/CONST_m.js index b96a0e7..3031351 100644 --- a/data_structures_correct/CONST_m.js +++ b/data_structures_correct/CONST_m.js @@ -7,7 +7,8 @@ function CONST_m() { return options; } CONST_m.prototype.set = function CONST_m() { - this.c = [arguments[0]["vec"]]; + this.c = [parseInt(arguments[0]["vec"])]; + this.displayParameter = this.c; this.x.model.sim = list(new ScilabString(["cstblk4_m"]), new ScilabDouble([4])); this.x.model.opar = list(new ScilabDouble(this.c)); this.x.model.rpar = new ScilabDouble(); @@ -25,6 +26,7 @@ function CONST_m() { model.rpar = new ScilabDouble(this.c); model.opar = list(); model.blocktype = new ScilabString(["d"]); + this.displayParameter = [1]; model.dep_ut = new ScilabBoolean([false, false]); var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"CONST_m\",sz(1),sz(2));"]); diff --git a/data_structures_correct/COSBLK_f.js b/data_structures_correct/COSBLK_f.js new file mode 100644 index 0000000..4b845f1 --- /dev/null +++ b/data_structures_correct/COSBLK_f.js @@ -0,0 +1,20 @@ +function COSBLK_f () { + + COSBLK_f.prototype.define = function COSBLK_f() { + this.in1 = 1; + + var model = scicos_model(); + model.sim = new ScilabString(["cosblk"]); + model.in = new ScilabDouble([-1]); + model.out = new ScilabDouble([-1]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true,false]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"COSBLK_f\",sz(1),sz(2));"]); + this.x=new standard_define(new ScilabDouble([2,2]),model,new ScilabDouble(),gr_i); + return new BasicBlock(this.x); + } + COSBLK_f.prototype.details = function COSBLK_f() { + return this.x; + } +} diff --git a/data_structures_correct/CSCOPE.js b/data_structures_correct/CSCOPE.js new file mode 100644 index 0000000..87571d4 --- /dev/null +++ b/data_structures_correct/CSCOPE.js @@ -0,0 +1,32 @@ +function CSCOPE() { + + CSCOPE.prototype.define = function CSCOPE() { + this.win = -1; + this.wdim = [[600],[400]]; + this.wpos = [[-1],[-1]]; + this.clrs = [[1],[3],[5],[7],[9],[11],[13],[15]]; + this.N = 20; + this.ymin = -15; + this.ymax = 15; + this.per = 30; + + var model = scicos_model(); + model.sim = list(new ScilabString(["cscope"]), new ScilabDouble([4])); + model.in = new ScilabDouble([-1]); + model.in2 = new ScilabDouble([1]); + model.evtin = new ScilabDouble([1]); + model.rpar = new ScilabDouble([0], [this.ymin], [this.ymax], [this.per]); + model.ipar = new ScilabDouble([this.win], [1], [this.N], ...this.clrs, ...this.wpos, ...this.wdim); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var exprs = new ScilabString([this.clrs.toString().replace(/,/g, " ")], [this.win], [sci2exp([])], [sci2exp(this.wdim)], [this.ymin], [this.ymax], [this.per], [this.N], [0], [""]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"CSCOPE\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + CSCOPE.prototype.details = function CSCOPE() { + return this.x; + } +} diff --git a/data_structures_correct/CSCOPXY3D.js b/data_structures_correct/CSCOPXY3D.js new file mode 100644 index 0000000..5f389a5 --- /dev/null +++ b/data_structures_correct/CSCOPXY3D.js @@ -0,0 +1,36 @@ +function CSCOPXY3D() { + + CSCOPXY3D.prototype.define = function CSCOPXY3D() { + this.win = -1; + this.clrs = [[1],[2],[3],[4],[5],[6],[7],[13]]; + this.siz = [[1],[1],[1],[1],[1],[1],[1],[1]]; + this.wdim = [[600],[400]]; + this.wpos = [[-1],[-1]]; + this.N = 2; + this.param3ds = [[50],[280]]; + this.vec_x = [[-15],[15]]; + this.vec_y = [[-15],[15]]; + this.vec_z = [[-15],[15]]; + this.nbr_curves = 1; + + var model = scicos_model(); + model.sim = list(new ScilabString(["cscopxy3d"]), new ScilabDouble([4])); + model.in = new ScilabDouble([1], [1], [1]); + model.in2 = new ScilabDouble([1], [1], [1]); + model.intyp = new ScilabDouble([1], [1], [1]); + model.evtin = new ScilabDouble([1]); + model.rpar = new ScilabDouble(...this.vec_x, ...this.vec_y, ...this.vec_z, ...this.param3ds); + model.ipar = new ScilabDouble([this.win], [8], [this.N], ...this.clrs, ...this.siz, [8], ...this.wpos, ...this.wdim, [this.nbr_curves]); + model.blocktype = new ScilabString(["d"]); + model.dep_ut = new ScilabBoolean([false, false]); + + var exprs = new ScilabString([this.nbr_curves], [this.clrs.toString().replace(/,/g, " ")], [this.siz.toString().replace(/,/g, " ")], [this.win], [sci2exp([])], [sci2exp(this.wdim)], [this.vec_x.toString().replace(/,/g, " ")], [this.vec_y.toString().replace(/,/g, " ")], [this.vec_z.toString().replace(/,/g, " ")], [this.param3ds.toString().replace(/,/g, " ")], [this.N]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"CSCOPE\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + CSCOPXY3D.prototype.details = function CSCOPXY3D() { + return this.x; + } +} diff --git a/data_structures_correct/CURV_f.js b/data_structures_correct/CURV_f.js new file mode 100644 index 0000000..598f49e --- /dev/null +++ b/data_structures_correct/CURV_f.js @@ -0,0 +1,27 @@ +function CURV_f() { + + CURV_f.prototype.define = function CURV_f() { + this.xx = [[0],[1],[2]]; + this.yy = [[-5],[5],[0]]; + this.rect = [0,-5,2,5]; + this.axisdata = [[2],[10],[2],[10]]; + this.ipar = new ScilabDouble([size(this.xx, 1)], ...this.axisdata); + this.rpar = new ScilabDouble(...this.xx, ...this.yy, this.rect); + + var model = scicos_model(); + model.sim = new ScilabString(["intplt"]); + model.in = new ScilabDouble(); + model.out = new ScilabDouble([1]); + model.rpar = new ScilabDouble(...this.xx, ...this.yy, ...colon_operator([this.rect])); + model.ipar = new ScilabDouble([size(this.xx, 1)], ...this.axisdata); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([false, true]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"CURV_f\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, new ScilabDouble(), gr_i); + return new BasicBlock(this.x); + } + CURV_f.prototype.details = function CURV_f() { + return this.x; + } +} diff --git a/data_structures_correct/CVS.js b/data_structures_correct/CVS.js new file mode 100644 index 0000000..8091332 --- /dev/null +++ b/data_structures_correct/CVS.js @@ -0,0 +1,58 @@ +function CVS() { + + CVS.prototype.define = function CVS() { + this.ModelName = "CVS"; + this.PrametersValue = new ScilabDouble(); + this.ParametersName = new ScilabDouble(); + var model = scicos_model(); + this.Typein = []; + this.Typeout = []; + this.MI = []; + this.MO = []; + this.P = [[2,50,1,0],[70,98,2,0],[70,2,-2,0]]; + this.PortName = [["vin"],["p"],["n"]]; + + for (var i = 0; i < size(this.P, "r"); i++) { + if (this.P[i][2] == 1) { + this.Typein.push(["E"]); + this.MI.push(this.PortName[i]); + } + + if (this.P[i][2] == 2) { + this.Typein.push(["I"]); + this.MI.push(this.PortName[i]); + } + if (this.P[i][2] == -1) { + this.Typeout.push(["E"]); + this.MO.push(this.PortName[i]); + } + if (this.P[i][2] == -2) { + this.Typeout.push(["I"]); + this.MO.push(this.PortName[i]); + } + } + + var mo = modelica(); + model.sim = new ScilabString([this.ModelName]); + mo.inputs = new ScilabString(...this.MI); + mo.outputs = new ScilabString(...this.MO); + model.rpar = this.PrametersValue; + mo.parameters = list(this.ParametersName, this.PrametersValue, new ScilabDouble(...zeros(getData(this.ParametersName)))); + var exprs = new ScilabDouble(); + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"CVS\",sz(1),sz(2));"]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([false, true]); + mo.model = new ScilabString([this.ModelName]); + model.equations = mo; + model.in = new ScilabDouble(...ones(size(this.MI, "*"), 1)); + model.out = new ScilabDouble(...ones(size(this.MO, "*"), 1)); + this.x = new standard_define(new ScilabDouble([2.1, 3]), model, exprs, list(new ScilabString([gr_i]), new ScilabDouble([0]))); + this.x.graphics.in_implicit = new ScilabDouble(this.Typein); + this.x.graphics.out_implicit = new ScilabDouble(this.Typeout); + return new BasicBlock(this.x); + } + + CVS.prototype.details = function CVS() { + return this.x; + } +} diff --git a/data_structures_correct/ConstantVoltage.js b/data_structures_correct/ConstantVoltage.js new file mode 100644 index 0000000..ec5fcd6 --- /dev/null +++ b/data_structures_correct/ConstantVoltage.js @@ -0,0 +1,32 @@ +function ConstantVoltage() { + + ConstantVoltage.prototype.define = function ConstantVoltage() { + this.V = 0.01; + + var model = scicos_model(); + model.rpar = new ScilabDouble([this.V]); + model.in = new ScilabDouble([1]); + model.out = new ScilabDouble([1]); + model.sim = new ScilabString(["ConstantVoltage"]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([false, false]); + + var mo = modelica(); + mo.model = new ScilabString(["ConstantVoltage"]); + mo.inputs = new ScilabString(["p"]); + mo.outputs = new ScilabString(["n"]); + mo.parameters = list(new ScilabString(["V"]), list(new ScilabDouble([this.V]))); + model.equations = mo; + + var exprs = new ScilabString([this.V]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"ConstantVoltage\",sz(1),sz(2));"]); + this.x = standard_define([1.5, 1.1], model, exprs, list(gr_i, new ScilabDouble([0]))); + this.x.graphics.in_implicit = new ScilabString(["I"]); + this.x.graphics.out_implicit = new ScilabString(["I"]); + return new BasicBlock(this.x); + } + ConstantVoltage.prototype.details = function ConstantVoltage() { + return this.x; + } +} diff --git a/data_structures_correct/Counter.js b/data_structures_correct/Counter.js new file mode 100644 index 0000000..c884e95 --- /dev/null +++ b/data_structures_correct/Counter.js @@ -0,0 +1,28 @@ +function Counter() { + + Counter.prototype.define = function Counter() { + this.minim = 0; + this.maxim = 2; + this.rule = 1; + + var model = scicos_model(); + model.sim = list(new ScilabString(["counter"]), new ScilabDouble([4])); + model.evtin = new ScilabDouble([1]); + model.out = new ScilabDouble([1]); + model.out2 = new ScilabDouble([1]); + model.dstate = new ScilabDouble([0]); + model.ipar = new ScilabDouble([this.rule], [this.maxim], [this.minim]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([false, false]); + + var exprs = new ScilabString([this.minim], [this.maxim], [this.rule]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"Counter\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([3, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + + Counter.prototype.details = function Counter() { + return this.x; + } +} diff --git a/data_structures_correct/CurrentSensor.js b/data_structures_correct/CurrentSensor.js new file mode 100644 index 0000000..1841fe9 --- /dev/null +++ b/data_structures_correct/CurrentSensor.js @@ -0,0 +1,29 @@ +function CurrentSensor() { + + CurrentSensor.prototype.define = function CurrentSensor() { + var model = scicos_model(); + model.in = new ScilabDouble([1]); + model.out = new ScilabDouble([1], [1]); + model.sim = new ScilabString(["CurrentSensor"]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var mo = modelica(); + mo.model = new ScilabString(["CurrentSensor"]); + mo.inputs = new ScilabString(["p"]); + mo.outputs = new ScilabString(["n"], ["i"]); + model.equations = mo; + + var exprs = new ScilabDouble(); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"CurrentSensor\",sz(1),sz(2));"]); + this.x = standard_define(new ScilabDouble([2, 2]), model, exprs, list(gr_i, new ScilabDouble([0]))); + this.x.graphics.in_implicit = new ScilabString(["I"]); + this.x.graphics.out_implicit = new ScilabString(["I"], ["E"]); + return new BasicBlock(this.x); + } + + CurrentSensor.prototype.details = function CurrentSensor() { + return this.x; + } +} diff --git a/data_structures_correct/DELAY_f.js b/data_structures_correct/DELAY_f.js new file mode 100644 index 0000000..14e968c --- /dev/null +++ b/data_structures_correct/DELAY_f.js @@ -0,0 +1,116 @@ +function DELAY_f () { + + DELAY_f.prototype.define =function DELAY_f() { + var evtdly = new EVTDLY_f().internal(); + evtdly.graphics.orig = new ScilabDouble([243,296]); + evtdly.graphics.sz = new ScilabDouble([40,40]); + evtdly.graphics.flip = new ScilabBoolean([true]); + evtdly.graphics.exprs = new ScilabString(["0.1"],["0"]); + evtdly.graphics.pein = new ScilabDouble([10]); + evtdly.graphics.peout = new ScilabDouble([7]); + evtdly.model.rpar = new ScilabDouble([0.1]); + evtdly.model.firing = new ScilabDouble([0]); + evtdly.model.uid = new ScilabString([count]); // changed + evtdly.doc = list(new ScilabString([count++])); + evtdly.model.outtyp = new ScilabDouble(); + + var register = new REGISTER_f().internal(); + register.graphics.orig = new ScilabDouble([238,195]); + register.graphics.sz = new ScilabDouble([50,50]); + register.graphics.flip = new ScilabBoolean([true]); + register.graphics.exprs = new ScilabString(["0;0;0;0;0;0;0;0;0;0"]); + register.graphics.pin = new ScilabDouble([6]); + register.graphics.pout = new ScilabDouble([5]); + register.graphics.pein = new ScilabDouble([9]); + register.model.uid = new ScilabString([count]); // changed + register.doc = list(new ScilabString([count++])); + register.model.in2 = new ScilabDouble([1]); + register.model.intyp = new ScilabDouble([1]); + register.model.out2 = new ScilabDouble([1]); + + var input_port = new IN_f().internal(); + input_port.graphics.orig = new ScilabDouble([92,210]); + input_port.graphics.sz = new ScilabDouble([20,20]); + input_port.graphics.flip = new ScilabBoolean([true]); + input_port.graphics.exprs = new ScilabString(["1"],["1"]); + input_port.graphics.pout = new ScilabDouble([6]); + input_port.model.ipar = new ScilabDouble([1]); + input_port.model.uid = new ScilabString([count]); // changed + input_port.doc = list(new ScilabString([count++])); + input_port.model.outtyp = new ScilabDouble([-1]); + + var output_port = new OUT_f().internal(); + output_port.graphics.orig = new ScilabDouble([440,210]); + output_port.graphics.sz = new ScilabDouble([20,20]); + output_port.graphics.flip = new ScilabBoolean([true]); + output_port.graphics.exprs = new ScilabString(["1"],["1"]); + output_port.graphics.pin = new ScilabDouble([5]); + output_port.model.ipar = new ScilabDouble([1]); + output_port.model.uid = new ScilabString([count]); // changed + output_port.doc = list(new ScilabString([count++])); + output_port.model.outtyp = new ScilabDouble(); + + var split = new CLKSPLIT_f().internal(); + split.graphics.orig = new ScilabDouble([263,271.2]); + split.graphics.pein = new ScilabDouble([7]); + split.graphics.peout = new ScilabDouble([9],[10]); + split.model.uid = new ScilabString([count]); // changed + split.doc = list(new ScilabString([count++])); + + var diagram = scicos_diagram(); + diagram.objs.push(input_port); + diagram.objs.push(output_port); + diagram.objs.push(register); + diagram.objs.push(evtdly); + diagram.objs.push(split); + diagram.objs.push(scicos_link({ + xx: new ScilabDouble([296.6],[440]), + yy: new ScilabDouble([220],[220]), + from: new ScilabDouble([3,1,0]), + to: new ScilabDouble([2,1,1])})); + diagram.objs.push(scicos_link({ + xx: new ScilabDouble([112],[229.4]), + yy: new ScilabDouble([220],[220]), + from: new ScilabDouble([1,1,0]), + to: new ScilabDouble([3,1,1])})); + diagram.objs.push(scicos_link({ + xx: new ScilabDouble([263],[263]), + yy: new ScilabDouble([290.3],[271.2]), + ct: new ScilabDouble([5,-1]), + from: new ScilabDouble([4,1,0]), + to: new ScilabDouble([5,1,1])})); + diagram.objs.push(scicos_link({ + xx: new ScilabDouble([263],[263]), + yy: new ScilabDouble([271.2],[250.7]), + ct: new ScilabDouble([5,-1]), + from: new ScilabDouble([5,1,0]), + to: new ScilabDouble([3,1,1])})); + diagram.objs.push(scicos_link({ + xx: new ScilabDouble([263],[308.6],[308.6],[263],[263]), + yy: new ScilabDouble([271.2],[271.2],[367],[367],[341.7]), + ct: new ScilabDouble([5,-1]), + from: new ScilabDouble([5,2,0]), + to: new ScilabDouble([4,1,1])})); + + this.x=scicos_block(); + this.x.gui = new ScilabString(["DELAY_f"]); + this.x.graphics.sz = new ScilabDouble([2,2]); + this.x.graphics.gr_i = new ScilabDouble(); + this.x.graphics.pin = new ScilabDouble([0]); + this.x.graphics.pout = new ScilabDouble([0]); + this.x.model.sim = new ScilabString(["csuper"]); + this.x.model.in = new ScilabDouble([1]); + this.x.model.out = new ScilabDouble([1]); + this.x.model.blocktype = new ScilabString(["h"]); + this.x.model.dep_ut = new ScilabBoolean([false,false]); + this.x.model.rpar=diagram; + this.x.graphics.in_implicit = new ScilabString(["E"]); + this.x.graphics.in_style = new ScilabString([""]); + this.x.graphics.out_implicit = new ScilabString(["E"]); + this.x.graphics.out_style = new ScilabString([""]); + return new BasicBlock(this.x); + } + DELAY_f.prototype.details = function DELAY_f() { + return this.x; + } +} diff --git a/data_structures_correct/DEMUX.js b/data_structures_correct/DEMUX.js new file mode 100644 index 0000000..4975c52 --- /dev/null +++ b/data_structures_correct/DEMUX.js @@ -0,0 +1,28 @@ +function DEMUX() { + + DEMUX.prototype.define = function DEMUX() { + this.out = 2; + + var model = scicos_model(); + model.sim = list(new ScilabString(["multiplex"]), new ScilabDouble([4])); + model.in = new ScilabDouble([0]); + + var arr = []; + arr.push(math.range(-1, -this.out, -1, true)._data); + model.out = new ScilabDouble(...math.transpose(arr)); + model.ipar = new ScilabDouble([this.out]); + model.blocktype = new ScilabString(["c"]); + model.firing = new ScilabDouble(); + model.dep_ut = new ScilabBoolean([true, false]); + + var exprs = new ScilabString([this.out]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"DEMUX\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([.5, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + + DEMUX.prototype.details = function DEMUX() { + return this.x; + } +} diff --git a/data_structures_correct/DEMUX_f.js b/data_structures_correct/DEMUX_f.js new file mode 100644 index 0000000..ed0f26c --- /dev/null +++ b/data_structures_correct/DEMUX_f.js @@ -0,0 +1,27 @@ +function DEMUX_f() { + + DEMUX_f.prototype.define = function DEMUX_f() { + this.out = 2; + var arr = []; + arr.push(math.range(-1, -this.out, -1, true)._data); + + var model = scicos_model(); + model.sim = list(new ScilabString(["demux"]), new ScilabDouble([1])); + model.in = new ScilabDouble([0]); + model.out = new ScilabDouble(...math.transpose(arr)); + model.ipar = new ScilabDouble([this.out]); + model.blocktype = new ScilabString(["c"]); + model.firing = new ScilabDouble(); + model.dep_ut = new ScilabBoolean([true, false]); + + var exprs = new ScilabString([this.out]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"DEMUX_f\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([.5, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + DEMUX_f.prototype.details = function DEMUX_f() { + return this.x; + } +} + diff --git a/data_structures_correct/DOLLAR.js b/data_structures_correct/DOLLAR.js new file mode 100644 index 0000000..5e6dffb --- /dev/null +++ b/data_structures_correct/DOLLAR.js @@ -0,0 +1,27 @@ +function DOLLAR() { + + DOLLAR.prototype.define = function DOLLAR() { + this.z = 0; + this.inh = 0; + this.in1 = 1; + + var model = scicos_model(); + model.sim = list(new ScilabString(["dollar4"]), new ScilabDouble([4])); + model.in = new ScilabDouble([this.in1]); + model.out = new ScilabDouble([this.in1]); + model.evtin = new ScilabDouble([1 - this.inh]); + model.dstate = new ScilabDouble([this.z]); + model.blocktype = new ScilabString(["d"]); + model.dep_ut = new ScilabBoolean([false, false]); + + var exprs = new ScilabString([this.z], [this.inh]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"DOLLAR\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + DOLLAR.prototype.details = function DOLLAR() { + return this.x; + } +} + diff --git a/data_structures_correct/DOLLAR_f.js b/data_structures_correct/DOLLAR_f.js new file mode 100644 index 0000000..d4625b7 --- /dev/null +++ b/data_structures_correct/DOLLAR_f.js @@ -0,0 +1,27 @@ +function DOLLAR_f() { + + DOLLAR_f.prototype.define = function DOLLAR_f() { + this.z = 0; + this.inh = 0; + this.in1 = 1; + + var model = scicos_model(); + model.sim = new ScilabString(["dollar"]); + model.in = new ScilabDouble([this.in1]); + model.out = new ScilabDouble([this.in1]); + model.evtin = new ScilabDouble([1 - this.inh]); + model.dstate = new ScilabDouble([this.z]); + model.blocktype = new ScilabString(["d"]); + model.dep_ut = new ScilabBoolean([false, false]); + + var exprs = new ScilabString([this.z], [this.inh]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"DOLLAR_f\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + DOLLAR_f.prototype.details = function DOLLAR_f() { + return this.x; + } +} + diff --git a/data_structures_correct/DOLLAR_m.js b/data_structures_correct/DOLLAR_m.js new file mode 100644 index 0000000..d39a88f --- /dev/null +++ b/data_structures_correct/DOLLAR_m.js @@ -0,0 +1,27 @@ +function DOLLAR_m() { + + DOLLAR_m.prototype.define = function DOLLAR_m() { + this.z = 0; + this.inh = 0; + this.in1 = 1; + + var model = scicos_model(); + model.sim = list(new ScilabString(["dollar4"]), new ScilabDouble([4])); + model.in = new ScilabDouble([this.in1]); + model.out = new ScilabDouble([this.in1]); + model.evtin = new ScilabDouble([1 - this.inh]); + model.dstate = new ScilabDouble([this.z]); + model.blocktype = new ScilabString(["d"]); + model.dep_ut = new ScilabBoolean([false, false]); + + var exprs = new ScilabString([this.z], [this.inh]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"DOLLAR_m\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + DOLLAR_m.prototype.details = function DOLLAR_m() { + return this.x; + } +} + diff --git a/data_structures_correct/Diode.js b/data_structures_correct/Diode.js new file mode 100644 index 0000000..aab1eaf --- /dev/null +++ b/data_structures_correct/Diode.js @@ -0,0 +1,36 @@ +function Diode() { + + Diode.prototype.define = function Diode() { + + this.Ids = 1.e-6; + this.Vt = 0.04; + this.Maxexp = 15; + this.R = 1.e8; + + var model = scicos_model(); + model.rpar = new ScilabDouble([this.Ids], [this.Vt], [this.Maxexp], [this.R]); + model.in = new ScilabDouble([1]); + model.out = new ScilabDouble([1]); + model.sim = new ScilabString(["Diode"]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var mo = modelica(); + mo.model = new ScilabString(["Diode"]); + mo.inputs = new ScilabString(["p"]); + mo.outputs = new ScilabString(["n"]); + mo.parameters = list(new ScilabString(["Ids", "Vt", "Maxexp", "R"]), list(new ScilabDouble([this.Ids]), new ScilabDouble([this.Vt]), new ScilabDouble([this.Maxexp]), new ScilabDouble([this.R]))); + model.equations = mo; + + var exprs = new ScilabString([this.Ids], [this.Vt], [this.Maxexp], [this.R]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"Diode\",sz(1),sz(2));"]); + this.x = standard_define(new ScilabDouble([2, 1]), model, exprs, list(gr_i, 0)); + this.x.graphics.in_implicit = new ScilabString(["I"]); + this.x.graphics.out_implicit = new ScilabString(["I"]); + return new BasicBlock(this.x); + } + Diode.prototype.details = function Diode() { + return this.x; + } +} diff --git a/data_structures_correct/EDGETRIGGER.js b/data_structures_correct/EDGETRIGGER.js new file mode 100644 index 0000000..5245267 --- /dev/null +++ b/data_structures_correct/EDGETRIGGER.js @@ -0,0 +1,25 @@ +function EDGETRIGGER() { + + EDGETRIGGER.prototype.internal = function EDGETRIGGER() { + this.edge = 1; + var model = scicos_model(); + model.sim = list(new ScilabString(["edgetrig"]), new ScilabDouble([4])); + model.in = new ScilabDouble([1]); + model.out = new ScilabDouble([1]); + model.in2 = new ScilabDouble([1]); + model.out2 = new ScilabDouble([1]); + model.intyp = new ScilabDouble([1]); + model.outtyp = new ScilabDouble([1]); + model.dstate = new ScilabDouble([0]); + model.nzcross = new ScilabDouble([1]); + model.ipar = new ScilabDouble([this.edge]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var exprs = new ScilabString([this.edge]); + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),"EDGETRIGGER",sz(1),sz(2));"]); + var block = standard_define(new ScilabDouble([3, 2]), model, exprs, gr_i); + block.graphics.style = new ScilabString(["EDGETRIGGER"]); + return block; + } +} diff --git a/data_structures_correct/EDGE_TRIGGER.js b/data_structures_correct/EDGE_TRIGGER.js new file mode 100644 index 0000000..20aa23a --- /dev/null +++ b/data_structures_correct/EDGE_TRIGGER.js @@ -0,0 +1,114 @@ +function EDGE_TRIGGER() { + + EDGE_TRIGGER.prototype.define = function EDGE_TRIGGER() { + var scs_m_1 = scicos_diagram(); + scs_m_1.objs.push(new EDGETRIGGER().internal()); + scs_m_1.objs.push(new IFTHEL_f().internal()); + scs_m_1.objs.push(new IN_f().internal()); + scs_m_1.objs.push(new CLKOUTV_f().internal()); + scs_m_1.objs.push(scicos_link({})); + scs_m_1.objs.push(scicos_link({})); + scs_m_1.objs.push(scicos_link({})); + + var blk = scs_m_1.objs[0]; + var graphics = blk.graphics; + var model = blk.model; + graphics.orig = new ScilabDouble([60, 0]); + graphics.sz = new ScilabDouble([60, 40]); + graphics.exprs = new ScilabString(["0"]); + graphics.in_implicit = new ScilabString(["E"]); + graphics.out_implicit = new ScilabString(["E"]); + graphics.in_style = new ScilabString(["ExplicitInputPort;align=left;verticalAlign=middle;spacing=10.0;rotation=0"]); + graphics.out_style = new ScilabString(["ExplicitOutputPort;align=right;verticalAlign=middle;spacing=10.0;rotation=0"]); + graphics.in_label = new ScilabString([""]); + graphics.out_label = new ScilabString([""]); + model.ipar = new ScilabDouble([0]); + graphics.pin = new ScilabDouble([5]); + graphics.pout = new ScilabDouble([6]); + model.uid = new ScilabString([count]); + blk.doc = list(new ScilabString([count++])); + blk.graphics = graphics; + blk.model = model; + scs_m_1.objs[0] = blk; + + blk = scs_m_1.objs[1]; + graphics = blk.graphics; + model = blk.model; + graphics.orig = new ScilabDouble([160, 0]); + graphics.sz = new ScilabDouble([60, 40]); + graphics.exprs = new ScilabString(["0"], ["0"]); + model.evtin = new ScilabDouble(); + model.nzcross = new ScilabDouble([0]); + model.nmode = new ScilabDouble([0]); + graphics.pin = new ScilabDouble([6]); + graphics.peout = new ScilabDouble([7], [0]); + model.uid = new ScilabString([count]); + blk.doc = list(new ScilabString([count++])); + blk.graphics = graphics; + blk.model = model; + scs_m_1.objs[1] = blk; + + blk = scs_m_1.objs[2]; + graphics = blk.graphics; + model = blk.model; + graphics.orig = new ScilabDouble([0, 10]); + graphics.sz = new ScilabDouble([20, 20]); + graphics.exprs = new ScilabString(["1"]); + model.ipar = new ScilabDouble([1]); + graphics.pout = new ScilabDouble([5]); + model.uid = new ScilabString([count]); + blk.doc = list(new ScilabString([count++])); + blk.graphics = graphics; + blk.model = model; + scs_m_1.objs[2] = blk; + + blk = scs_m_1.objs[3]; + graphics = blk.graphics; + model = blk.model; + graphics.orig = new ScilabDouble([170, -60]); + graphics.sz = new ScilabDouble([20, 20]); + graphics.exprs = new ScilabString(["1"]); + model.ipar = new ScilabDouble([1]); + graphics.pein = new ScilabDouble([7]); + model.uid = new ScilabString([count]); + blk.doc = list(new ScilabString([count++])); + blk.graphics = graphics; + blk.model = model; + scs_m_1.objs[3] = blk; + + var lnk = scs_m_1.objs[4]; + lnk.xx = new ScilabDouble([64], [96]); + lnk.yy = new ScilabDouble([-40], [-20]); + lnk.from = new ScilabDouble([3, 1, 0]); + lnk.to = new ScilabDouble([1, 1, 1]); + scs_m_1.objs[4] = lnk; + + lnk = scs_m_1.objs[5]; + lnk.xx = new ScilabDouble([164], [196]); + lnk.yy = new ScilabDouble([-20], [-20]); + lnk.from = new ScilabDouble([1, 1, 0]); + lnk.to = new ScilabDouble([2, 1, 1]); + scs_m_1.objs[5] = lnk; + + lnk = scs_m_1.objs[6]; + lnk.xx = new ScilabDouble([220], [220]); + lnk.yy = new ScilabDouble([-44], [-96]); + lnk.ct = new ScilabDouble([5, -1]); + lnk.from = new ScilabDouble([2, 1, 0]); + lnk.to = new ScilabDouble([4, 1, 1]); + scs_m_1.objs[6] = lnk; + + model = scicos_model(); + model.sim = new ScilabString(["csuper"]); + model.in = new ScilabDouble([1]); + model.evtout = new ScilabDouble([1]); + model.rpar = scs_m_1; + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),"EDGE_TRIGGER",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([3, 2]), model, new ScilabDouble(), gr_i); + return new BasicBlock(this.x); + } + EDGE_TRIGGER.prototype.details = function EDGE_TRIGGER() { + return this.x; + } +} diff --git a/data_structures_correct/ENDBLK.js b/data_structures_correct/ENDBLK.js new file mode 100644 index 0000000..e3ca767 --- /dev/null +++ b/data_structures_correct/ENDBLK.js @@ -0,0 +1,106 @@ +function ENDBLK() { + + ENDBLK.prototype.define = function ENDBLK() { + var scs_m_1 = scicos_diagram({ + version: new ScilabString(["scicos4.2"]), + props: scicos_params({ + wpar: new ScilabDouble([600, 450, 0, 0, 600, 450]), + Title: new ScilabString(["ENDBLK"]), + tol: new ScilabDouble([0.0001], [0.000001], [Math.pow(10, -10)], [100001], [0], [0], [0]), + tf: new ScilabDouble([100000]), + context: new ScilabString([" "]), + void1: new ScilabDouble(), + options: tlist(["scsopt", "3D", "Background", "Link", "ID", "Cmap"], new ScilabString(["scsopt", "3D", "Background", "Link", "ID", "Cmap"]), list(new ScilabBoolean([true]), new ScilabDouble([33])), new ScilabDouble([8, 1]), new ScilabDouble([1, 5]), list(new ScilabDouble([5, 1]), new ScilabDouble([4, 1])), new ScilabDouble([0.8, 0.8, 0.8])), + void2: new ScilabDouble(), + void3: new ScilabDouble(), + doc: list() + }) + }); + scs_m_1.objs.push(scicos_block({ + gui: new ScilabString(["END_c"]), + graphics: scicos_graphics({ + orig: new ScilabDouble([272.104, 249.11733]), + sz: new ScilabDouble([40, 40]), + flip: new ScilabBoolean([true]), + theta: new ScilabDouble([0]), + exprs: new ScilabString(["1.000E+08"]), + pin: new ScilabDouble(), + pout: new ScilabDouble(), + pein: new ScilabDouble([2]), + peout: new ScilabDouble([2]), + gr_i: list(new ScilabString(["xstringb(orig(1),orig(2),"END_c",sz(1),sz(2));"]), new ScilabDouble([8])), + id: new ScilabString([""]), + in_implicit: new ScilabDouble(), + out_implicit: new ScilabDouble(), + style: new ScilabString(["END_c"]) + }), + model: scicos_model({ + sim: list(new ScilabString(["scicosexit"]), new ScilabDouble([4])), + in: new ScilabDouble(), + in2: new ScilabDouble(), + intyp: new ScilabDouble(), + out: new ScilabDouble(), + out2: new ScilabDouble(), + outtyp: new ScilabDouble(), + evtin: new ScilabDouble([1]), + evtout: new ScilabDouble([1]), + state: new ScilabDouble(), + dstate: new ScilabDouble(), + odstate: list(), + rpar: new ScilabDouble(), + ipar: new ScilabDouble(), + opar: list(), + blocktype: new ScilabString(["d"]), + firing: new ScilabDouble([1.000E+08]), + dep_ut: new ScilabBoolean([false, false]), + label: new ScilabString([""]), + nzcross: new ScilabDouble([0]), + nmode: new ScilabDouble([0]), + equations: list(), + uid: new ScilabString([count]) + }), + doc: list(new ScilabString([count++])) + })); + scs_m_1.objs.push(scicos_link({ + xx: new ScilabDouble([292.104], [292.104], [261.83733], [261.83733], [292.104], [292.104]), + yy: new ScilabDouble([243.40305], [234.45067], [234.45067], [305.584], [305.584], [294.83162]), + id: new ScilabString(["drawlink"]), + thick: new ScilabDouble([0, 0]), + ct: new ScilabDouble([5, -1]), + from: new ScilabDouble([1, 1, 0]), + to: new ScilabDouble([1, 1, 1]) + })); + + var model = scicos_model({ + sim: new ScilabString(["csuper"]), + in: new ScilabDouble(), + in2: new ScilabDouble(), + intyp: new ScilabDouble([1]), + out: new ScilabDouble(), + out2: new ScilabDouble(), + outtyp: new ScilabDouble([1]), + evtin: new ScilabDouble(), + evtout: new ScilabDouble(), + state: new ScilabDouble(), + dstate: new ScilabDouble(), + odstate: list(), + rpar: scs_m_1, + ipar: new ScilabDouble(), + opar: list(), + blocktype: new ScilabString(["h"]), + firing: new ScilabDouble(), + dep_ut: new ScilabBoolean([false, false]), + label: new ScilabString([""]), + nzcross: new ScilabDouble([0]), + nmode: new ScilabDouble([0]), + equations: list() + }); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),"ENDBLK",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, new ScilabDouble(), gr_i); + return new BasicBlock(this.x); + } + ENDBLK.prototype.details = function ENDBLK() { + return this.x; + } +} diff --git a/data_structures_correct/END_c.js b/data_structures_correct/END_c.js new file mode 100644 index 0000000..37c6f21 --- /dev/null +++ b/data_structures_correct/END_c.js @@ -0,0 +1,24 @@ +function END_c() { + + END_c.prototype.define = function END_c() { + this.tf = 100000000; + + var model = scicos_model(); + model.sim = list(new ScilabString(["scicosexit"]), new ScilabDouble([4])); + model.evtin = new ScilabDouble([1]); + model.evtout = new ScilabDouble([1]); + model.firing = new ScilabDouble([this.tf]); + model.blocktype = new ScilabString(["d"]); + model.dep_ut = new ScilabBoolean([false, false]); + + var exprs = new ScilabString([this.tf]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"END_c\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + END_c.prototype.details = function END_c() { + return this.x; + } +} + diff --git a/data_structures_correct/ESELECT_f.js b/data_structures_correct/ESELECT_f.js new file mode 100644 index 0000000..dc0ab87 --- /dev/null +++ b/data_structures_correct/ESELECT_f.js @@ -0,0 +1,29 @@ +function ESELECT_f() { + + ESELECT_f.prototype.define = function ESELECT_f() { + this.out = 2; + + var model = scicos_model(); + model.sim = list(new ScilabString(["eselect"]), new ScilabDouble([-2])); + model.in = new ScilabDouble([1]); + model.in2 = new ScilabDouble([1]); + model.intyp = new ScilabDouble([-1]); + model.evtin = new ScilabDouble([1]); + model.evtout = new ScilabDouble(...ones(this.out, 1)); + model.blocktype = new ScilabString(["l"]); + model.firing = new ScilabDouble(...ones(this.out, 1)); + model.dep_ut = new ScilabBoolean([true, false]); + model.nmode = new ScilabDouble([0]); + model.nzcross = new ScilabDouble([0]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"ESELECT_f\",sz(1),sz(2));"]);; + + var exprs = new ScilabString([this.out], [1], [parseInt(getData(model.nmode))]); + this.x = new standard_define(new ScilabDouble([4, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + + ESELECT_f.prototype.details = function ESELECT_f() { + return this.x; + } +} diff --git a/data_structures_correct/EVTDLY_f.js b/data_structures_correct/EVTDLY_f.js new file mode 100644 index 0000000..04e38a0 --- /dev/null +++ b/data_structures_correct/EVTDLY_f.js @@ -0,0 +1,23 @@ +function EVTDLY_f () { + + EVTDLY_f.prototype.internal = function EVTDLY_f() { + this.dt = 0.1; + this.ff = this.dt; + + var model = scicos_model(); + model.sim = new ScilabString(["evtdly"]); + model.evtin = new ScilabDouble([1]); + model.evtout = new ScilabDouble([1]); + model.rpar=new ScilabDouble([this.dt]); + model.blocktype = new ScilabString(["d"]); + model.firing=new ScilabDouble([this.ff]); + model.dep_ut = new ScilabBoolean([false,false]); + + var exprs = new ScilabString([this.dt],[sci2exp(this.ff)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"EVTDLY_f\",sz(1),sz(2));"]); + var block = new standard_define(new ScilabDouble([2,2]),model,exprs,gr_i); + block.graphics.style = new ScilabString(["EVTDLY_f"]); + return block; + } +} diff --git a/data_structures_correct/EVTGEN_f.js b/data_structures_correct/EVTGEN_f.js new file mode 100644 index 0000000..ba7197f --- /dev/null +++ b/data_structures_correct/EVTGEN_f.js @@ -0,0 +1,22 @@ +function EVTGEN_f() { + + EVTGEN_f.prototype.define = function EVTGEN_f() { + this.tt = 0; + + var model = scicos_model(); + model.sim = new ScilabString(["trash"]); + model.evtout = new ScilabDouble([1]); + model.blocktype = new ScilabString(["d"]); + model.firing = new ScilabDouble([this.tt]); + model.dep_ut = new ScilabBoolean([false, false]); + + var exprs = new ScilabString([this.tt]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"EVTGEN_f\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([3, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + EVTGEN_f.prototype.details = function EVTGEN_f() { + return this.x; + } +} diff --git a/data_structures_correct/EVTVARDLY.js b/data_structures_correct/EVTVARDLY.js new file mode 100644 index 0000000..816c0a5 --- /dev/null +++ b/data_structures_correct/EVTVARDLY.js @@ -0,0 +1,25 @@ +function EVTVARDLY() { + + EVTVARDLY.prototype.define = function EVTVARDLY() { + + var model = scicos_model(); + model.sim = list(new ScilabString(["evtvardly"]), new ScilabDouble([4])); + model.in = new ScilabDouble([1]); + model.evtin = new ScilabDouble([1]); + model.evtout = new ScilabDouble([1]); + model.blocktype = new ScilabString(["d"]); + model.firing = new ScilabDouble([-1]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var exprs = new ScilabString([parseInt(getData(model.firing), 10)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"EVTVARDLY\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + EVTVARDLY.prototype.details = function EVTVARDLY() { + return this.x; + } +} + diff --git a/data_structures_correct/EXPBLK_m.js b/data_structures_correct/EXPBLK_m.js new file mode 100644 index 0000000..b5cf28b --- /dev/null +++ b/data_structures_correct/EXPBLK_m.js @@ -0,0 +1,28 @@ +function EXPBLK_m() { + + EXPBLK_m.prototype.define = function EXPBLK_m() { + this.in1 = 1; + this.a = math.E; + + var model = scicos_model(); + model.sim = list(new ScilabString(["expblk_m"]), new ScilabDouble([4])); + model.in = new ScilabDouble([-1]); + model.in2 = new ScilabDouble([-2]); + model.out = new ScilabDouble([-1]); + model.out2 = new ScilabDouble([-2]); + model.intyp = new ScilabDouble([1]); + model.outtyp = new ScilabDouble([1]); + model.rpar = new ScilabDouble([this.a]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var exprs = new ScilabString(["%e"]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"EXPBLK_m\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + EXPBLK_m.prototype.details = function EXPBLK_m() { + return this.x; + } +} diff --git a/data_structures_correct/EXTRACT.js b/data_structures_correct/EXTRACT.js new file mode 100644 index 0000000..387f465 --- /dev/null +++ b/data_structures_correct/EXTRACT.js @@ -0,0 +1,35 @@ +function EXTRACT() { + + EXTRACT.prototype.define = function EXTRACT() { + this.function_name = "extract"; + this.funtyp = 4; + + var model = scicos_model(); + model.sim = list(new ScilabString([this.function_name]), new ScilabDouble([this.funtyp])); + model.in = new ScilabDouble([-1]); + model.in2 = new ScilabDouble([-2]); + model.intyp = new ScilabDouble([1]); + model.out = new ScilabDouble([1]); + model.out2 = new ScilabDouble([1]); + model.outtyp = new ScilabDouble([1]); + model.evtin = new ScilabDouble(); + model.evtout = new ScilabDouble(); + model.state = new ScilabDouble(); + model.dstate = new ScilabDouble(); + model.rpar = new ScilabDouble(); + model.ipar = new ScilabDouble([1, 1, 1, 1]); + model.blocktype = new ScilabString(["c"]); + model.firing = new ScilabDouble(); + model.dep_ut = new ScilabBoolean([true, false]); + + var label = new ScilabString([sci2exp(1)], [sci2exp([1])], [sci2exp([1])]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"EXTRACT\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([3, 2]), model, label, gr_i); + return new BasicBlock(this.x); + } + EXTRACT.prototype.details = function EXTRACT() { + return this.x; + } +} + diff --git a/data_structures_correct/EXTRACTBITS.js b/data_structures_correct/EXTRACTBITS.js new file mode 100644 index 0000000..4f16f21 --- /dev/null +++ b/data_structures_correct/EXTRACTBITS.js @@ -0,0 +1,27 @@ +function EXTRACTBITS() { + + EXTRACTBITS.prototype.define = function EXTRACTBITS() { + this.numb = []; + + var model = scicos_model(); + model.sim = list(new ScilabString(["extract_bit_32_UH0"]), new ScilabDouble([4])); + model.in = new ScilabDouble([1]); + model.in2 = new ScilabDouble([1]); + model.out = new ScilabDouble([1]); + model.out2 = new ScilabDouble([1]); + model.intyp = new ScilabDouble([3]); + model.outtyp = new ScilabDouble([3]); + model.ipar = new ScilabDouble([0, ...this.numb]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var exprs = new ScilabString([sci2exp(3)], [sci2exp(1)], [sci2exp(0)], [sci2exp(0)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"EXTRACTBITS\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([4, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + EXTRACTBITS.prototype.details = function EXTRACTBITS() { + return this.x; + } +} diff --git a/data_structures_correct/EXTRACTOR.js b/data_structures_correct/EXTRACTOR.js new file mode 100644 index 0000000..c8d7a1b --- /dev/null +++ b/data_structures_correct/EXTRACTOR.js @@ -0,0 +1,24 @@ +function EXTRACTOR() { + + EXTRACTOR.prototype.define = function EXTRACTOR() { + this.ind = 1; + + var model = scicos_model(); + model.sim = list(new ScilabString(["extractor"]), new ScilabDouble([4])); + model.in = new ScilabDouble([-1]); + model.out = new ScilabDouble([1]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + model.ipar = new ScilabDouble([this.ind]); + + var exprs = new ScilabString([sci2exp(this.ind)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"EXTRACTOR\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([3, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + EXTRACTOR.prototype.details = function EXTRACTOR() { + return this.x; + } +} + diff --git a/data_structures_correct/EXTTRI.js b/data_structures_correct/EXTTRI.js new file mode 100644 index 0000000..96fdb39 --- /dev/null +++ b/data_structures_correct/EXTTRI.js @@ -0,0 +1,35 @@ +function EXTTRI() { + + EXTTRI.prototype.define = function EXTTRI() { + this.function_name = "extrilz"; + this.funtyp = 4; + + var model = scicos_model(); + model.sim = list(new ScilabString([this.function_name]), new ScilabDouble([this.funtyp])); + model.in = new ScilabDouble([-1]); + model.in2 = new ScilabDouble([-2]); + model.intyp = new ScilabDouble([1]); + model.out = new ScilabDouble([-1]); + model.out2 = new ScilabDouble([-2]); + model.outtyp = new ScilabDouble([1]); + model.evtin = new ScilabDouble(); + model.evtout = new ScilabDouble(); + model.state = new ScilabDouble(); + model.dstate = new ScilabDouble(); + model.rpar = new ScilabDouble(); + model.ipar = new ScilabDouble(); + model.blocktype = new ScilabString(["c"]); + model.firing = new ScilabDouble(); + model.dep_ut = new ScilabBoolean([true, false]); + + var label = new ScilabString([sci2exp(1)], [sci2exp(1)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"EXTTRI\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([3, 2]), model, label, gr_i); + return new BasicBlock(this.x); + } + EXTTRI.prototype.details = function EXTTRI() { + return this.x; + } +} + diff --git a/data_structures_correct/Extract_Activation.js b/data_structures_correct/Extract_Activation.js new file mode 100644 index 0000000..a13fc27 --- /dev/null +++ b/data_structures_correct/Extract_Activation.js @@ -0,0 +1,129 @@ +function Extract_Activation() { + + Extract_Activation.prototype.define = function Extract_Activation() { + var scs_m_1 = scicos_diagram(); + scs_m_1.objs.push(new IFTHEL_f().internal()); + scs_m_1.objs.push(new CLKSOMV_f().internal()); + scs_m_1.objs.push(new IN_f().internal()); + scs_m_1.objs.push(new CLKOUTV_f().internal()); + scs_m_1.objs.push(scicos_link({})); + scs_m_1.objs.push(scicos_link({})); + scs_m_1.objs.push(scicos_link({})); + scs_m_1.objs.push(scicos_link({})); + + var blk = scs_m_1.objs[0]; + var graphics = blk.graphics; + + var model = blk.model; + graphics.orig = new ScilabDouble([80, 0]); + graphics.sz = new ScilabDouble([60, 40]); + graphics.flip = new ScilabBoolean([true]); + graphics.exprs = new ScilabString(["0"], ["0"]); + model.evtin = new ScilabDouble(); + model.nzcross = new ScilabDouble([0]); + model.nmode = new ScilabDouble([0]); + graphics.pin = new ScilabDouble([7]); + graphics.peout = new ScilabDouble([5], [6]); + model.uid = new ScilabString([count]); + blk.doc = list(new ScilabString([count++])); + blk.graphics = graphics; + blk.model = model; + scs_m_1.objs[0] = blk; + + blk = scs_m_1.objs[1]; + graphics = blk.graphics; + model = blk.model; + model.outtyp = new ScilabDouble(); + model.evtin = new ScilabDouble([-1], [-1], [-1]); + model.evtout = new ScilabDouble([-1]); + graphics.orig = new ScilabDouble([80, -80]); + graphics.sz = new ScilabDouble([80, 40]); + graphics.flip = new ScilabBoolean([true]); + graphics.pein = new ScilabDouble([5], [6], [0]); + graphics.peout = new ScilabDouble([8]); + graphics.style = new ScilabString(["CLKSOMV_f"]); + model.uid = new ScilabString([count]); + blk.doc = list(new ScilabString([count++])); + blk.graphics = graphics; + blk.model = model; + scs_m_1.objs[1] = blk; + + blk = scs_m_1.objs[2]; + graphics = blk.graphics; + model = blk.model; + graphics.orig = new ScilabDouble([0, 10]); + graphics.sz = new ScilabDouble([20, 20]); + graphics.flip = new ScilabBoolean([true]); + graphics.exprs = new ScilabString(["1"]); + model.ipar = new ScilabDouble([1]); + graphics.pout = new ScilabDouble([7]); + model.uid = new ScilabString([count]); + blk.doc = list(new ScilabString([count++])); + blk.graphics = graphics; + blk.model = model; + scs_m_1.objs[2] = blk; + + blk = scs_m_1.objs[3]; + graphics = blk.graphics; + model = blk.model; + model.outtyp = new ScilabDouble(); + graphics.style = new ScilabString(["CLKOUTV_f"]); + graphics.orig = new ScilabDouble([110, -140]); + graphics.sz = new ScilabDouble([20, 20]); + graphics.flip = new ScilabBoolean([true]); + graphics.exprs = new ScilabString(["1"]); + graphics.gr_i = list(new ScilabString(["xstringb(orig(1),orig(2),\"CLKOUTV_f\",sz(1),sz(2));"]), new ScilabDouble([8])); + model.ipar = new ScilabDouble([1]); + graphics.pein = new ScilabDouble([8]); + model.uid = new ScilabString([count]); + blk.doc = list(new ScilabString([count++])); + blk.graphics = graphics; + blk.model = model; + scs_m_1.objs[3] = blk; + + var lnk = scs_m_1.objs[4]; + lnk.xx = new ScilabDouble([140], [140]); + lnk.yy = new ScilabDouble([-44], [-76]); + lnk.ct = new ScilabDouble([5, -1]); + lnk.from = new ScilabDouble([1, 1, 0]); + lnk.to = new ScilabDouble([2, 1, 1]); + scs_m_1.objs[4] = lnk; + + lnk = scs_m_1.objs[5]; + lnk.xx = new ScilabDouble([160], [160]); + lnk.yy = new ScilabDouble([-44], [-76]); + lnk.ct = new ScilabDouble([5, -1]); + lnk.from = new ScilabDouble([1, 2, 0]); + lnk.to = new ScilabDouble([2, 2, 1]); + scs_m_1.objs[5] = lnk; + + lnk = scs_m_1.objs[6]; + lnk.xx = new ScilabDouble([64], [116]); + lnk.yy = new ScilabDouble([-40], [-20]); + lnk.from = new ScilabDouble([3, 1, 0]); + lnk.to = new ScilabDouble([1, 1, 1]); + scs_m_1.objs[6] = lnk; + + lnk = scs_m_1.objs[7]; + lnk.xx = new ScilabDouble([160], [160]); + lnk.yy = new ScilabDouble([-124], [-176]); + lnk.ct = new ScilabDouble([5, -1]); + lnk.from = new ScilabDouble([2, 1, 0]); + lnk.to = new ScilabDouble([4, 1, 1]); + scs_m_1.objs[7] = lnk; + + model = scicos_model(); + model.sim = new ScilabString(["csuper"]); + model.in = new ScilabDouble([1]); + model.evtout = new ScilabDouble([1]); + model.rpar = scs_m_1; + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"Extract_Activation\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([3, 2]), model, new ScilabDouble(), gr_i); + return new BasicBlock(this.x); + } + + Extract_Activation.prototype.details = function Extract_Activation() { + return this.x; + } +} diff --git a/data_structures_correct/FROMMO.js b/data_structures_correct/FROMMO.js new file mode 100644 index 0000000..e854ad0 --- /dev/null +++ b/data_structures_correct/FROMMO.js @@ -0,0 +1,33 @@ +function FROMMO() { + + FROMMO.prototype.define = function FROMMO() { + + var model = scicos_model(); + model.sim = new ScilabString(["frommo"]); + model.in = new ScilabDouble(); + model.in2 = new ScilabDouble(); + model.intyp = new ScilabDouble([1]); + model.out = new ScilabDouble([-1]); + model.out2 = new ScilabDouble([-2]); + model.outtyp = new ScilabDouble([-1]); + model.ipar = new ScilabDouble(); + model.opar = list(new ScilabString(["A"])); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([false, false]); + + var mo = modelica(); + mo.model = new ScilabString(["frommo"]); + mo.outputs = new ScilabString(["n"]); + + var exprs = new ScilabString(["A"]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"FROMMO\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 1]), model, exprs, gr_i); + this.x.graphics.out_implicit = new ScilabString(["I"]); + return new BasicBlock(this.x); + } + FROMMO.prototype.details = function FROMMO() { + return this.x; + } +} + diff --git a/data_structures_correct/Flowmeter.js b/data_structures_correct/Flowmeter.js new file mode 100644 index 0000000..4e5b7c9 --- /dev/null +++ b/data_structures_correct/Flowmeter.js @@ -0,0 +1,61 @@ +function Flowmeter() { + + Flowmeter.prototype.define = function Flowmeter() { + this.ModelName = "Flowmeter"; + this.PrametersValue = 1; + this.ParametersName = "Qini"; + + var model = scicos_model(); + + this.Typein = []; + this.Typeout = []; + + this.MI = []; + this.MO = []; + this.P = [[50,105,-1,90],[0,10,2,0],[101,10,-2,0]]; + this.PortName = [["Mesure"],["C1"],["C2"]]; + + for (var i = 0; i < size(this.P, "r"); i++) { + if (this.P[i][2] == 1) { + this.Typein.push(["E"]); + this.MI.push(this.PortName[i]); + } + + if (this.P[i][2] == 2) { + this.Typein.push(["I"]); + this.MI.push(this.PortName[i]); + } + if (this.P[i][2] == -1) { + this.Typeout.push(["E"]); + this.MO.push(this.PortName[i]); + } + if (this.P[i][2] == -2) { + this.Typeout.push(["I"]); + this.MO.push(this.PortName[i]); + } + } + + var mo = modelica(); + model.sim = new ScilabString([this.ModelName]); + mo.inputs = new ScilabString(...this.MI); + mo.outputs = new ScilabString(...this.MO); + model.rpar = new ScilabDouble([this.PrametersValue]); + mo.parameters = list(new ScilabString([this.ParametersName]), new ScilabDouble([this.PrametersValue]), new ScilabDouble(zeros([this.ParametersName]))); + var exprs = new ScilabString(["1"]); + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"Flowmeter\",sz(1),sz(2));"]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([false, true]); + mo.model = new ScilabString([this.ModelName]); + model.equations = mo; + model.in = new ScilabDouble(...ones(size(this.MI, "*"), 1)); + model.out = new ScilabDouble(...ones(size(this.MO, "*"), 1)); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, list(new ScilabString([gr_i]), new ScilabDouble([0]))); + this.x.graphics.in_implicit = new ScilabDouble(this.Typein); + this.x.graphics.out_implicit = new ScilabDouble(this.Typeout); + return new BasicBlock(this.x); + } + + Flowmeter.prototype.details = function Flowmeter() { + return this.x; + } +} diff --git a/data_structures_correct/GAINBLK.js b/data_structures_correct/GAINBLK.js new file mode 100644 index 0000000..f4d758e --- /dev/null +++ b/data_structures_correct/GAINBLK.js @@ -0,0 +1,30 @@ +function GAINBLK() { + + GAINBLK.prototype.define = function GAINBLK() { + this.gain = 1; + this.in1 = -1; + this.out = -1; + this.in2 = -2; + this.out2 = -2; + + var model = scicos_model(); + model.sim = list(new ScilabString(["gainblk"]), new ScilabDouble([4])); + model.in = new ScilabDouble([this.in1]); + model.out = new ScilabDouble([this.out]); + model.in2 = new ScilabDouble([this.in2]); + model.out2 = new ScilabDouble([this.out2]); + model.rpar = new ScilabDouble([this.gain]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var exprs = new ScilabString([sci2exp(this.gain)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"GAINBLK\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + GAINBLK.prototype.details = function GAINBLK() { + return this.x; + } +} + diff --git a/data_structures_correct/GAIN_f.js b/data_structures_correct/GAIN_f.js new file mode 100644 index 0000000..b102bab --- /dev/null +++ b/data_structures_correct/GAIN_f.js @@ -0,0 +1,26 @@ +function GAIN_f() { + + GAIN_f.prototype.define = function GAIN_f() { + this.gain = 1; + this.in1 = 1; + this.out = 1; + + var model = scicos_model(); + model.sim = new ScilabString(["gain"]); + model.in = new ScilabDouble([1]); + model.out = new ScilabDouble([1]); + model.rpar = new ScilabDouble([this.gain]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var exprs = new ScilabString([sci2exp(this.gain)], [sci2exp(this.in1)], [sci2exp(this.out)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"GAIN_f\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + GAIN_f.prototype.details = function GAIN_f() { + return this.x; + } +} + diff --git a/data_structures_correct/GENERAL_f.js b/data_structures_correct/GENERAL_f.js new file mode 100644 index 0000000..d70a82e --- /dev/null +++ b/data_structures_correct/GENERAL_f.js @@ -0,0 +1,29 @@ +function GENERAL_f() { + + GENERAL_f.prototype.define = function GENERAL_f() { + var rpar = [[0],[0],[0],[0]]; + + this.in1 = 1; + this.out = 1; + + var model = scicos_model(); + model.sim = list(new ScilabString(["zcross"]), new ScilabDouble([1])); + model.nzcross = new ScilabDouble([this.in1]); + model.in = new ScilabDouble([this.in1]); + model.evtout = new ScilabDouble(...ones(this.out, 1)); + model.rpar = new ScilabDouble([0], [0], [0], [0]); + model.blocktype = new ScilabString(["z"]); + model.firing = -new ScilabDouble(...ones(this.out, 1)); + model.dep_ut = new ScilabBoolean([true, false]); + + var exprs = new ScilabString([sci2exp(this.in1)], [sci2exp(this.out)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"GENERAL_f\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([3, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + + GENERAL_f.prototype.details = function GENERAL_f() { + return this.x; + } +} diff --git a/data_structures_correct/GENSIN_f.js b/data_structures_correct/GENSIN_f.js new file mode 100644 index 0000000..66542ea --- /dev/null +++ b/data_structures_correct/GENSIN_f.js @@ -0,0 +1,26 @@ +function GENSIN_f() { + + GENSIN_f.prototype.define = function GENSIN_f() { + this.rpar = [[1], [1], [0]]; + + var model = scicos_model(); + model.sim = new ScilabString(["gensin"]); + model.in = new ScilabDouble(); + model.out = new ScilabDouble([1]); + model.out2 = new ScilabDouble([1]); + model.outtyp = new ScilabDouble([1]); + model.rpar = new ScilabDouble([1], [1], [0]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([false, true]); + + var exprs = new ScilabString(this.rpar[0], this.rpar[1], this.rpar[2]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"GENSIN_f\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([3, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + GENSIN_f.prototype.details = function GENSIN_f() { + return this.x; + } +} + diff --git a/data_structures_correct/GENSQR_f.js b/data_structures_correct/GENSQR_f.js new file mode 100644 index 0000000..4a48f00 --- /dev/null +++ b/data_structures_correct/GENSQR_f.js @@ -0,0 +1,25 @@ +function GENSQR_f() { + + GENSQR_f.prototype.define = function GENSQR_f() { + this.Amplitude = 1; + + var model = scicos_model(); + model.sim = new ScilabString(["gensqr"]); + model.out = new ScilabDouble([1]); + model.out2 = new ScilabDouble([1]); + model.outtyp = new ScilabDouble([1]); + model.evtin = new ScilabDouble([1]); + model.dstate = new ScilabDouble([this.Amplitude]); + model.blocktype = new ScilabString(["d"]); + model.dep_ut = new ScilabBoolean([false, false]); + + var exprs = new ScilabString([this.Amplitude]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"GENSQR_f\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([3, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + GENSQR_f.prototype.details = function GENSQR_f() { + return this.x; + } +} diff --git a/data_structures_correct/GOTO.js b/data_structures_correct/GOTO.js new file mode 100644 index 0000000..7f0a421 --- /dev/null +++ b/data_structures_correct/GOTO.js @@ -0,0 +1,28 @@ +function GOTO() { + + GOTO.prototype.define = function GOTO() { + var model = scicos_model(); + model.sim = new ScilabString(["goto"]); + model.in = new ScilabDouble([-1]); + model.in2 = new ScilabDouble([-2]); + model.intyp = new ScilabDouble([-1]); + model.out = new ScilabDouble(); + model.out2 = new ScilabDouble(); + model.outtyp = new ScilabDouble([1]); + model.ipar = new ScilabDouble([1]); + model.opar = list(new ScilabString(["A"])); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([false, false]); + + var exprs = new ScilabString(["A"], [sci2exp(1)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"GOTO\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 1]), model, exprs, gr_i); + this.x.graphics.id = new ScilabString(["Goto"]); + return new BasicBlock(this.x) + } + + GOTO.prototype.details = function GOTO() { + return this.x; + } +} diff --git a/data_structures_correct/GOTOMO.js b/data_structures_correct/GOTOMO.js new file mode 100644 index 0000000..19361c9 --- /dev/null +++ b/data_structures_correct/GOTOMO.js @@ -0,0 +1,33 @@ +function GOTOMO() { + + GOTOMO.prototype.define = function GOTOMO() { + + var model = scicos_model(); + model.sim = new ScilabString(["gotomo"]); + model.in = new ScilabDouble([-1]); + model.in2 = new ScilabDouble([-2]); + model.intyp = new ScilabDouble(); + model.out = new ScilabDouble(); + model.out2 = new ScilabDouble(); + model.outtyp = new ScilabDouble([1]); + model.ipar = new ScilabDouble([1]); + model.opar = list(new ScilabString(["A"])); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([false, false]); + + var mo = modelica(); + mo.model = new ScilabString(["gotomo"]); + mo.inputs = new ScilabString(["p"]); + + var exprs = new ScilabString(["A"], [sci2exp(1)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"GOTOMO\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 1]), model, exprs, gr_i); + this.x.graphics.in_implicit = new ScilabString(["I"]); + return new BasicBlock(this.x); + } + GOTOMO.prototype.details = function GOTOMO() { + return this.x; + } +} + diff --git a/data_structures_correct/GotoTagVisibilityMO.js b/data_structures_correct/GotoTagVisibilityMO.js new file mode 100644 index 0000000..06a4356 --- /dev/null +++ b/data_structures_correct/GotoTagVisibilityMO.js @@ -0,0 +1,29 @@ +function GotoTagVisibilityMO() { + + GotoTagVisibilityMO.prototype.define = function GotoTagVisibilityMO() { + + var model = scicos_model(); + model.sim = new ScilabString(["gototagvisibilitymo"]); + model.in = new ScilabDouble(); + model.in2 = new ScilabDouble(); + model.out = new ScilabDouble(); + model.out2 = new ScilabDouble(); + model.evtin = new ScilabDouble(); + model.intyp = new ScilabDouble([1]); + model.outtyp = new ScilabDouble([1]); + model.opar = list(new ScilabString(["A"])); + model.blocktype = new ScilabString(["c"]); + model.firing = new ScilabBoolean([false]); + model.dep_ut = new ScilabBoolean([false, false]); + + var exprs = new ScilabString(["A"]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"GotoTagVisibilityMO\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + GotoTagVisibilityMO.prototype.details = function GotoTagVisibilityMO() { + return this.x; + } +} + diff --git a/data_structures_correct/Ground.js b/data_structures_correct/Ground.js new file mode 100644 index 0000000..9ebe910 --- /dev/null +++ b/data_structures_correct/Ground.js @@ -0,0 +1,30 @@ +function Ground() { + + Ground.prototype.define = function Ground() { + + var model = scicos_model(); + model.in = new ScilabDouble([1]); + model.out = new ScilabDouble(); + model.sim = new ScilabString(["Ground"]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var mo = modelica(); + mo.model = new ScilabString(["Ground"]); + mo.inputs = new ScilabString(["p"]); + mo.outputs = new ScilabDouble(); + model.equations = mo; + + var exprs = new ScilabString([""]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"Ground\",sz(1),sz(2));"]); + this.x = standard_define(new ScilabDouble([1, 1]), model, exprs, list(gr_i, new ScilabDouble([0]))); + this.x.graphics.in_implicit = new ScilabString(["I"]); + this.x.graphics.out_implicit = new ScilabString(["I"]); + return new GroundBlock(this.x); + } + + Ground.prototype.details = function Ground() { + return this.x; + } +} diff --git a/data_structures_correct/Gyrator.js b/data_structures_correct/Gyrator.js new file mode 100644 index 0000000..3c716af --- /dev/null +++ b/data_structures_correct/Gyrator.js @@ -0,0 +1,57 @@ +function Gyrator() { + + Gyrator.prototype.define = function Gyrator() { + this.ModelName = "Gyrator"; + this.PrametersValue = [[1],[1]]; + this.ParametersName = [["G1"],["G2"]]; + this.model = scicos_model(); + this.Typein = []; + this.Typeout = []; + this.MI = []; + this.MO = []; + this.P = [[2.5, 90, 2, 0],[2.5, 10, 2, 0],[97.5, 90, -2, 0],[97.5, 10, -2, 0]]; + this.PortName = [["p1"],["n1"],["p2"],["n2"]]; + + for (var i = 0; i < size(this.P, "r"); i++) { + if (this.P[i][2] == 1) { + this.Typein.push(["E"]); + this.MI.push(this.PortName[i]); + } + if (this.P[i][2] == 2) { + this.Typein.push(["I"]); + this.MI.push(this.PortName[i]); + } + if (this.P[i][2] == -1) { + this.Typeout.push(["E"]); + this.MO.push(this.PortName[i]); + } + if (this.P[i][2] == -2) { + this.Typeout.push(["I"]); + this.MO.push(this.PortName[i]); + } + } + var model = scicos_model(); + var mo = modelica(); + model.sim = new ScilabString([this.ModelName]); + mo.inputs = new ScilabString(...this.MI); + mo.outputs = new ScilabString(...this.MO); + console.log(this.MI); + model.rpar = new ScilabDouble(...this.PrametersValue); + mo.parameters = list(new ScilabString(...this.ParametersName), new ScilabDouble(...this.PrametersValue), new ScilabDouble(...zeros(this.ParametersName))); + var exprs = new ScilabString(["1"], ["1"]); + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),"Gyrator",sz(1),sz(2));"]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([false, true]); + mo.model = new ScilabString([this.ModelName]); + model.equations = mo; + model.in = new ScilabDouble(...ones(size(this.MI, "*"), 1)); + model.out = new ScilabDouble(...ones(size(this.MO, "*"), 1)); + this.x = standard_define([2, 2], model, exprs, list(gr_i, new ScilabDouble([0]))); + this.x.graphics.in_implicit = new ScilabString(...this.Typein); + this.x.graphics.out_implicit = new ScilabString(...this.Typeout); + return new BasicBlock(this.x); + } + Gyrator.prototype.details = function Gyrator() { + return this.x; + } +} diff --git a/data_structures_correct/HALT_f.js b/data_structures_correct/HALT_f.js new file mode 100644 index 0000000..1d51549 --- /dev/null +++ b/data_structures_correct/HALT_f.js @@ -0,0 +1,24 @@ +function HALT_f() { + + HALT_f.prototype.define = function HALT_f() { + this.n = 0; + + var model = scicos_model(); + model.sim = new ScilabString(["hltblk"]); + model.evtin = new ScilabDouble([1]); + model.dstate = new ScilabDouble([0]); + model.ipar = new ScilabDouble([0]); + model.blocktype = new ScilabString(["d"]); + model.dep_ut = new ScilabBoolean([false, false]); + + var exprs = new ScilabString([this.n]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"HALT_f\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + HALT_f.prototype.details = function HALT_f() { + return this.x; + } +} + diff --git a/data_structures_correct/HYSTHERESIS.js b/data_structures_correct/HYSTHERESIS.js new file mode 100644 index 0000000..cea39de --- /dev/null +++ b/data_structures_correct/HYSTHERESIS.js @@ -0,0 +1,29 @@ +function HYSTHERESIS() { + + HYSTHERESIS.prototype.define = function HYSTHERESIS() { + this.in1 = 1; + this.ipar = 0; + this.nzz = 2; + this.rpar = [[1], [0], [1], [0]]; + + var model = scicos_model(); + model.sim = list(new ScilabString(["hystheresis"]), new ScilabDouble([4])); + model.in = new ScilabDouble([this.in1]); + model.out = new ScilabDouble([1]); + model.rpar = new ScilabDouble(...this.rpar); + model.nzcross = new ScilabDouble([this.nzz]); + model.nmode = new ScilabDouble([1]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var exprs = new ScilabString(...this.rpar, [Math.sign(this.nzz)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"HYSTHERESIS\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + HYSTHERESIS.prototype.details = function HYSTHERESIS() { + return this.x; + } +} + diff --git a/data_structures_correct/INIMPL_f.js b/data_structures_correct/INIMPL_f.js new file mode 100644 index 0000000..4b35d43 --- /dev/null +++ b/data_structures_correct/INIMPL_f.js @@ -0,0 +1,28 @@ +function INIMPL_f() { + + INIMPL_f.prototype.define = function INIMPL_f() { + var model = scicos_model(); + model.sim = new ScilabString(["inimpl"]); + model.out = new ScilabDouble([-1]); + model.out2 = new ScilabDouble([1]); + model.ipar = new ScilabDouble([1]); + model.dep_ut = new ScilabBoolean([false, false]); + model.blocktype = new ScilabString(["c"]); + + var mo = modelica(); + mo.model = new ScilabString(["PORT"]); + mo.outputs = new ScilabString(["n"]); + mo.inputs = new ScilabDouble(); + model.equations = mo; + + var exprs = new ScilabString(["1"]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),"INIMPL_f",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([1, 1]), model, exprs, gr_i); + this.x.graphics.out_implicit = new ScilabString(["I"]); + return new ImplicitInBlock(this.x); + } + INIMPL_f.prototype.details = function INIMPL_f() { + return this.x; + } +} diff --git a/data_structures_correct/INTEGRAL_f.js b/data_structures_correct/INTEGRAL_f.js new file mode 100644 index 0000000..2bd0b45 --- /dev/null +++ b/data_structures_correct/INTEGRAL_f.js @@ -0,0 +1,24 @@ +function INTEGRAL_f() { + + INTEGRAL_f.prototype.define = function INTEGRAL_f() { + this.x0 = 0; + + var model = scicos_model(); + model.sim = new ScilabString(["integr"]); + model.in = new ScilabDouble([1]); + model.out = new ScilabDouble([1]); + model.state = new ScilabDouble([this.x0]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([false, true]); + + var exprs = new ScilabString([sci2exp(this.x0)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"INTEGRAL_f\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + INTEGRAL_f.prototype.details = function INTEGRAL_f() { + return this.x; + } +} + diff --git a/data_structures_correct/INTEGRAL_m.js b/data_structures_correct/INTEGRAL_m.js new file mode 100644 index 0000000..042d5ff --- /dev/null +++ b/data_structures_correct/INTEGRAL_m.js @@ -0,0 +1,29 @@ +function INTEGRAL_m() { + + INTEGRAL_m.prototype.define = function INTEGRAL_m() { + this.maxp = 1; + this.minp = -1; + this.rpar = []; + + var model = scicos_model(); + model.state = new ScilabDouble([0]); + model.sim = list(new ScilabString(["integral_func"]), new ScilabDouble([4])); + model.in = new ScilabDouble([1]); + model.out = new ScilabDouble([1]); + model.in2 = new ScilabDouble([1]); + model.out2 = new ScilabDouble([1]); + model.rpar = new ScilabDouble(); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([false, true]); + + var exprs = new ScilabString([0], [0], [0], [this.maxp], [this.minp]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"INTEGRAL_m\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + INTEGRAL_m.prototype.details = function INTEGRAL_m() { + return this.x; + } +} + diff --git a/data_structures_correct/INTMUL.js b/data_structures_correct/INTMUL.js new file mode 100644 index 0000000..e24c496 --- /dev/null +++ b/data_structures_correct/INTMUL.js @@ -0,0 +1,29 @@ +function INTMUL() { + + INTMUL.prototype.define = function INTMUL() { + this.sgn = 0; + + var model = scicos_model(); + model.sim = list(new ScilabString(["matmul_i32"]), new ScilabDouble([4])); + model.in = new ScilabDouble([-1], [-2]); + model.out = new ScilabDouble([-1]); + model.in2 = new ScilabDouble([-2], [-3]); + model.out2 = new ScilabDouble([-3]); + model.intyp = new ScilabDouble([3, 3]); + model.outtyp = new ScilabDouble([3]); + model.rpar = new ScilabDouble(); + model.ipar = new ScilabDouble([this.sgn]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var exprs = new ScilabString([sci2exp(3)], [sci2exp(0)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"INTMUL\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + INTMUL.prototype.details = function INTMUL() { + return this.x; + } +} + diff --git a/data_structures_correct/INVBLK.js b/data_structures_correct/INVBLK.js new file mode 100644 index 0000000..34da523 --- /dev/null +++ b/data_structures_correct/INVBLK.js @@ -0,0 +1,23 @@ +function INVBLK() { + + INVBLK.prototype.define = function INVBLK() { + this.in1 = -1; + + var model = scicos_model(); + model.sim = list(new ScilabString(["invblk4"]), new ScilabDouble([4])); + model.in = new ScilabDouble([this.in1]); + model.out = new ScilabDouble([this.in1]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var exprs = new ScilabString([" "]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"INVBLK\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + INVBLK.prototype.details = function INVBLK() { + return this.x; + } +} + diff --git a/data_structures_correct/IN_f.js b/data_structures_correct/IN_f.js new file mode 100644 index 0000000..7527ab6 --- /dev/null +++ b/data_structures_correct/IN_f.js @@ -0,0 +1,48 @@ +function IN_f () { + + IN_f.prototype.internal = function IN_f() { + this.prt = 1; + + var model = scicos_model(); + model.sim = new ScilabString(["input"]); + model.out = new ScilabDouble([-1]); + model.out2 = new ScilabDouble([-2]); + model.outtyp = new ScilabDouble([-1]); + model.ipar=new ScilabDouble([this.prt]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([false,false]); + + var exprs = new ScilabString([sci2exp(this.prt)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"IN_f\",sz(1),sz(2));"]); + var block=new standard_define(new ScilabDouble([1,1]),model,exprs,gr_i); + block.graphics.style = new ScilabString(["IN_f"]); // changed + block.graphics.out_implicit = new ScilabString(["E"]); + block.graphics.out_style = new ScilabString(["ExplicitOutputPort;align=right;verticalAlign=middle;spacing=10.0;rotation=0"]); + block.graphics.out_label = new ScilabString([""]); + return block; + } + + IN_f.prototype.define = function IN_f() { + this.prt = 1; + + var model = scicos_model(); + model.sim = new ScilabString(["input"]); + model.out = new ScilabDouble([-1]); + model.out2 = new ScilabDouble([-2]); + model.outtyp = new ScilabDouble([-1]); + model.ipar=new ScilabDouble([this.prt]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([false,false]); + + var exprs = new ScilabString([sci2exp(this.prt)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"IN_f\",sz(1),sz(2));"]); + this.x=new standard_define(new ScilabDouble([1,1]),model,exprs,gr_i); + return new ExplicitInBlock(this.x); + } + + IN_f.prototype.details = function IN_f() { + return this.x; + } +} diff --git a/data_structures_correct/ISELECT_m.js b/data_structures_correct/ISELECT_m.js new file mode 100644 index 0000000..e2f2c10 --- /dev/null +++ b/data_structures_correct/ISELECT_m.js @@ -0,0 +1,35 @@ +function ISELECT_m() { + + ISELECT_m.prototype.define = function ISELECT_m() { + this.z0 = 1; + this.nout = 2; + + var model = scicos_model(); + model.sim = list(new ScilabString(["selector_m"]), new ScilabDouble([4])); + model.out = new ScilabDouble([-1], [-1]); + model.out2 = new ScilabDouble([-2], [-2]); + model.outtyp = new ScilabDouble([1]); + model.in = new ScilabDouble([-1]); + model.in2 = new ScilabDouble([-2]); + model.intyp = new ScilabDouble([1]); + model.evtout = new ScilabDouble(); + model.state = new ScilabDouble(); + model.rpar = new ScilabDouble(); + model.ipar = new ScilabDouble(); + model.firing = new ScilabDouble(); + model.evtin = new ScilabDouble(...ones(this.nout, 1)); + model.dstate = new ScilabDouble([this.z0]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var exprs = new ScilabString([sci2exp(1)], [sci2exp(this.nout)], [sci2exp(this.z0)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"ISELECT_m\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([3, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + ISELECT_m.prototype.details = function ISELECT_m() { + return this.x; + } +} + diff --git a/data_structures_correct/IdealTransformer.js b/data_structures_correct/IdealTransformer.js index 3c97211..4a8666f 100644 --- a/data_structures_correct/IdealTransformer.js +++ b/data_structures_correct/IdealTransformer.js @@ -38,7 +38,6 @@ function IdealTransformer() { mo.inputs = new ScilabString(...this.MI); mo.outputs = new ScilabString(...this.MO); model.rpar = new ScilabDouble(this.PrametersValue); - console.log(zeros(getData(this.ParametersName))); mo.parameters = list(new ScilabString(this.ParametersName), new ScilabDouble(this.PrametersValue), new ScilabDouble(zeros(getData(this.ParametersName)))); var exprs = new ScilabString(["1"]); var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"IdealTransformer\",sz(1),sz(2));"]); diff --git a/data_structures_correct/Inductor.js b/data_structures_correct/Inductor.js new file mode 100644 index 0000000..851a005 --- /dev/null +++ b/data_structures_correct/Inductor.js @@ -0,0 +1,34 @@ +function Inductor() { + + Inductor.prototype.define = function Inductor() { + this.L = 1.0E-5; + + var model = scicos_model(); + model.in = new ScilabDouble([1]); + model.out = new ScilabDouble([1]); + model.rpar = new ScilabDouble([this.L.toExponential(1)]); + model.sim = new ScilabString(["Inductor"]); + + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var mo = modelica(); + mo.model = new ScilabString(["Inductor"]); + mo.inputs = new ScilabString(["p"]); + mo.outputs = new ScilabString(["n"]); + mo.parameters = list(new ScilabString(["L"]), list(new ScilabDouble([this.L.toExponential(1)]))); + model.equations = mo; + + var exprs = new ScilabString([this.L]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"Inductor\",sz(1),sz(2));"]); + this.x = standard_define([2, 0.9], model, exprs, list(gr_i, 0)); + this.x.graphics.in_implicit = new ScilabString(["I"]); + this.x.graphics.out_implicit = new ScilabString(["I"]); + return new BasicBlock(this.x); + } + Inductor.prototype.details = function Inductor() { + return this.x; + } +} + diff --git a/data_structures_correct/LOGBLK_f.js b/data_structures_correct/LOGBLK_f.js new file mode 100644 index 0000000..07f70f9 --- /dev/null +++ b/data_structures_correct/LOGBLK_f.js @@ -0,0 +1,25 @@ +function LOGBLK_f() { + + LOGBLK_f.prototype.define = function LOGBLK_f() { + this.in1 = 1; + this.a = Math.E; + + var model = scicos_model(); + model.sim = new ScilabString(["logblk"]); + model.in = new ScilabDouble([-1]); + model.out = new ScilabDouble([-1]); + model.rpar = new ScilabDouble([this.a]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var exprs = new ScilabString(["%e"]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"LOGBLK_f\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + LOGBLK_f.prototype.details = function LOGBLK_f() { + return this.x; + } +} + diff --git a/data_structures_correct/LOGICAL_OP.js b/data_structures_correct/LOGICAL_OP.js new file mode 100644 index 0000000..c7ccea1 --- /dev/null +++ b/data_structures_correct/LOGICAL_OP.js @@ -0,0 +1,26 @@ +function LOGICAL_OP() { + + LOGICAL_OP.prototype.define = function LOGICAL_OP() { + this.in1 = [[-1], [-1]]; + this.ipar = 0; + this.nin = 2; + + var model = scicos_model(); + model.sim = list(new ScilabString(["logicalop"]), new ScilabDouble([4])); + model.in = new ScilabDouble(...this.in1); + model.out = new ScilabDouble([-1]); + model.ipar = new ScilabDouble([this.ipar]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var exprs = new ScilabString([this.nin], [this.ipar]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"LOGICAL_OP\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + LOGICAL_OP.prototype.details = function LOGICAL_OP() { + return this.x; + } +} + diff --git a/data_structures_correct/LOOKUP_f.js b/data_structures_correct/LOOKUP_f.js new file mode 100644 index 0000000..bce7f4c --- /dev/null +++ b/data_structures_correct/LOOKUP_f.js @@ -0,0 +1,21 @@ +function LOOKUP_f() { + + LOOKUP_f.prototype.define = function LOOKUP_f() { + + var model = scicos_model(); + model.sim = new ScilabString(["lookup"]); + model.in = new ScilabDouble([1]); + model.out = new ScilabDouble([1]); + model.rpar = new ScilabDouble([-2], [-1], [1], [2], [-1], [1], [-1], [1]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"LOOKUP_f\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, [], gr_i); + return new BasicBlock(this.x); + } + LOOKUP_f.prototype.details = function LOOKUP_f() { + return this.x; + } +} + diff --git a/data_structures_correct/MATBKSL.js b/data_structures_correct/MATBKSL.js new file mode 100644 index 0000000..22a873c --- /dev/null +++ b/data_structures_correct/MATBKSL.js @@ -0,0 +1,35 @@ +function MATBKSL() { + + MATBKSL.prototype.define = function MATBKSL() { + this.function_name = "mat_bksl"; + this.funtyp = 4; + + var model = scicos_model(); + model.sim = list(new ScilabString([this.function_name]), new ScilabDouble([this.funtyp])); + model.in = new ScilabDouble([-1], [-1]); + model.in2 = new ScilabDouble([-2], [-3]); + model.intyp = new ScilabDouble([1, 1]); + model.out = new ScilabDouble([-2]); + model.out2 = new ScilabDouble([-3]); + model.outtyp = new ScilabDouble([1]); + model.evtin = new ScilabDouble(); + model.evtout = new ScilabDouble(); + model.state = new ScilabDouble(); + model.dstate = new ScilabDouble(); + model.rpar = new ScilabDouble(); + model.ipar = new ScilabDouble(); + model.blocktype = new ScilabString(["c"]); + model.firing = new ScilabDouble(); + model.dep_ut = new ScilabBoolean([true, false]); + + var label = new ScilabString([sci2exp(1)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"MATBKSL\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, label, gr_i); + return new BasicBlock(this.x); + } + MATBKSL.prototype.details = function MATBKSL() { + return this.x; + } +} + diff --git a/data_structures_correct/MATCATH.js b/data_structures_correct/MATCATH.js new file mode 100644 index 0000000..b1dc096 --- /dev/null +++ b/data_structures_correct/MATCATH.js @@ -0,0 +1,35 @@ +function MATCATH() { + + MATCATH.prototype.define = function MATCATH() { + this.funtyp = 4; + this.function_name = "mat_cath"; + + var model = scicos_model(); + model.sim = list(new ScilabString([this.function_name]), new ScilabDouble([this.funtyp])); + model.in = new ScilabDouble([-1], [-1]); + model.in2 = new ScilabDouble([-2], [-3]); + model.intyp = new ScilabDouble([1, 1]); + model.out = new ScilabDouble([-1]); + model.out2 = new ScilabDouble([0]); + model.outtyp = new ScilabDouble([-1]); + model.evtin = new ScilabDouble(); + model.evtout = new ScilabDouble(); + model.state = new ScilabDouble(); + model.dstate = new ScilabDouble(); + model.rpar = new ScilabDouble(); + model.ipar = new ScilabDouble(); + model.blocktype = new ScilabString(["c"]); + model.firing = new ScilabDouble(); + model.dep_ut = new ScilabBoolean([true, false]); + + var label = new ScilabString([sci2exp(2)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"MATCATH\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 3]), model, label, gr_i); + return new BasicBlock(this.x); + } + MATCATH.prototype.details = function MATCATH() { + return this.x; + } +} + diff --git a/data_structures_correct/MATCATV.js b/data_structures_correct/MATCATV.js new file mode 100644 index 0000000..317309b --- /dev/null +++ b/data_structures_correct/MATCATV.js @@ -0,0 +1,36 @@ +function MATCATV() { + + MATCATV.prototype.define = function MATCATV() { + this.l1 = [[2], [2]]; + this.function_name = "mat_catv"; + this.funtyp = 4; + + var model = scicos_model(); + model.sim = list(new ScilabString([this.function_name]), new ScilabDouble([this.funtyp])); + model.in2 = new ScilabDouble([-1], [-1]); + model.in = new ScilabDouble([-2], [-3]); + model.intyp = new ScilabDouble([-1, -1]); + model.out = new ScilabDouble([0]); + model.out2 = new ScilabDouble([-1]); + model.outtyp = new ScilabDouble([-1]); + model.evtin = new ScilabDouble(); + model.evtout = new ScilabDouble(); + model.state = new ScilabDouble(); + model.dstate = new ScilabDouble(); + model.rpar = new ScilabDouble(); + model.ipar = new ScilabDouble(); + model.blocktype = new ScilabString(["c"]); + model.firing = new ScilabDouble(); + model.dep_ut = new ScilabBoolean([true, false]); + + var label = new ScilabString([sci2exp(2)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"MATCATV\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 3]), model, label, gr_i); + return new BasicBlock(this.x); + } + MATCATV.prototype.details = function MATCATV() { + return this.x; + } +} + diff --git a/data_structures_correct/MATDET.js b/data_structures_correct/MATDET.js new file mode 100644 index 0000000..7005d7c --- /dev/null +++ b/data_structures_correct/MATDET.js @@ -0,0 +1,36 @@ +function MATDET() { + + MATDET.prototype.define = function MATDET() { + var model = scicos_model(); + + this.function_name = "mat_det"; + this.funtyp = 4; + + model.sim = list(new ScilabString([this.function_name]), new ScilabDouble([this.funtyp])); + model.in = new ScilabDouble([-1]); + model.in2 = new ScilabDouble([-1]); + model.intyp = new ScilabDouble([1]); + model.out = new ScilabDouble([1]); + model.out2 = new ScilabDouble([1]); + model.outtyp = new ScilabDouble([1]); + model.evtin = new ScilabDouble(); + model.evtout = new ScilabDouble(); + model.state = new ScilabDouble(); + model.dstate = new ScilabDouble(); + model.rpar = new ScilabDouble(); + model.ipar = new ScilabDouble(); + model.blocktype = new ScilabString(["c"]); + model.firing = new ScilabDouble(); + model.dep_ut = new ScilabBoolean([true, false]); + + var label = new ScilabString([sci2exp(1)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"MATDET\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, label, gr_i); + return new BasicBlock(this.x); + } + + MATDET.prototype.details = function MATDET() { + return this.x; + } +} diff --git a/data_structures_correct/MATDIAG.js b/data_structures_correct/MATDIAG.js new file mode 100644 index 0000000..c622a95 --- /dev/null +++ b/data_structures_correct/MATDIAG.js @@ -0,0 +1,35 @@ +function MATDIAG() { + + MATDIAG.prototype.define = function MATDIAG() { + this.function_name = "mat_diag"; + this.funtyp = 4; + + var model = scicos_model(); + model.sim = list(new ScilabString([this.function_name]), new ScilabDouble([this.funtyp])); + model.in = new ScilabDouble([-1]); + model.in2 = new ScilabDouble([1]); + model.intyp = new ScilabDouble([1]); + model.out = new ScilabDouble([-1]); + model.out2 = new ScilabDouble([-1]); + model.outtyp = new ScilabDouble([1]); + model.evtin = new ScilabDouble(); + model.evtout = new ScilabDouble(); + model.state = new ScilabDouble(); + model.dstate = new ScilabDouble(); + model.rpar = new ScilabDouble(); + model.ipar = new ScilabDouble(); + model.blocktype = new ScilabString(["c"]); + model.firing = new ScilabDouble(); + model.dep_ut = new ScilabBoolean([true, false]); + + var label = new ScilabString([sci2exp(1)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"MATDIAG\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, label, gr_i); + return new BasicBlock(this.x); + } + MATDIAG.prototype.details = function MATDIAG() { + return this.x; + } +} + diff --git a/data_structures_correct/MATDIV.js b/data_structures_correct/MATDIV.js new file mode 100644 index 0000000..6715345 --- /dev/null +++ b/data_structures_correct/MATDIV.js @@ -0,0 +1,37 @@ +function MATDIV() { + + MATDIV.prototype.define = function MATDIV() { + var model = scicos_model(); + + this.function_name = "mat_div"; + this.funtyp = 4; + + model.sim = list(new ScilabString([this.function_name]), new ScilabDouble([this.funtyp])); + model.in = new ScilabDouble([-1], [-2]); + model.in2 = new ScilabDouble([-3], [-3]); + model.intyp = new ScilabDouble([1, 1]); + model.out = new ScilabDouble([-1]); + model.out2 = new ScilabDouble([-2]); + model.outtyp = new ScilabDouble([1]); + model.evtin = new ScilabDouble(); + model.evtout = new ScilabDouble(); + model.state = new ScilabDouble(); + model.dstate = new ScilabDouble(); + model.rpar = new ScilabDouble(); + model.ipar = new ScilabDouble(); + model.blocktype = new ScilabString(["c"]); + model.firing = new ScilabDouble(); + model.dep_ut = new ScilabBoolean([true, false]); + + var label = new ScilabString([sci2exp(1)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"MATDIV\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, label, gr_i); + return new BasicBlock(this.x); + } + + MATDIV.prototype.details = function MATDIV() { + return this.x; + } + +} diff --git a/data_structures_correct/MATEIG.js b/data_structures_correct/MATEIG.js new file mode 100644 index 0000000..aefc690 --- /dev/null +++ b/data_structures_correct/MATEIG.js @@ -0,0 +1,35 @@ +function MATEIG() { + + MATEIG.prototype.define = function MATEIG() { + this.function_name = "mat_vps"; + this.funtyp = 4; + + var model = scicos_model(); + model.sim = list(new ScilabString([this.function_name]), new ScilabDouble([this.funtyp])); + model.in = new ScilabDouble([-1]); + model.in2 = new ScilabDouble([-1]); + model.intyp = new ScilabDouble([1]); + model.out = new ScilabDouble([-1]); + model.out2 = new ScilabDouble([1]); + model.outtyp = new ScilabDouble([2]); + model.evtin = new ScilabDouble(); + model.evtout = new ScilabDouble(); + model.state = new ScilabDouble(); + model.dstate = new ScilabDouble(); + model.rpar = new ScilabDouble(); + model.ipar = new ScilabDouble(); + model.blocktype = new ScilabString(["c"]); + model.firing = new ScilabDouble(); + model.dep_ut = new ScilabBoolean([true, false]); + + var label = new ScilabString([sci2exp(1)], [sci2exp(1)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"MATEIG\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, label, gr_i); + return new BasicBlock(this.x); + } + MATEIG.prototype.details = function MATEIG() { + return this.x; + } +} + diff --git a/data_structures_correct/MATEXPM.js b/data_structures_correct/MATEXPM.js new file mode 100644 index 0000000..6e58a87 --- /dev/null +++ b/data_structures_correct/MATEXPM.js @@ -0,0 +1,34 @@ +function MATEXPM() { + + MATEXPM.prototype.define = function MATEXPM() { + this.function_name = "mat_expm"; + this.funtyp = 4; + var model = scicos_model(); + model.sim = list(new ScilabString([this.function_name]), new ScilabDouble([this.funtyp])); + model.in = new ScilabDouble([-1]); + model.in2 = new ScilabDouble([-1]); + model.intyp = new ScilabDouble([1]); + model.out = new ScilabDouble([-1]); + model.out2 = new ScilabDouble([-1]); + model.outtyp = new ScilabDouble([1]); + model.evtin = new ScilabDouble(); + model.evtout = new ScilabDouble(); + model.state = new ScilabDouble(); + model.dstate = new ScilabDouble(); + model.rpar = new ScilabDouble(); + model.ipar = new ScilabDouble(); + model.blocktype = new ScilabString(["c"]); + model.firing = new ScilabDouble(); + model.dep_ut = new ScilabBoolean([true, false]); + + var label = new ScilabString([sci2exp(1)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"MATEXPM\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, label, gr_i); + return new BasicBlock(this.x); + } + MATEXPM.prototype.details = function MATEXPM() { + return this.x; + } +} + diff --git a/data_structures_correct/MATINV.js b/data_structures_correct/MATINV.js new file mode 100644 index 0000000..e118137 --- /dev/null +++ b/data_structures_correct/MATINV.js @@ -0,0 +1,35 @@ +function MATINV() { + + MATINV.prototype.define = function MATINV() { + this.function_name = "mat_inv"; + this.funtyp = 4; + + var model = scicos_model(); + model.sim = list(new ScilabString([this.function_name]), new ScilabDouble([this.funtyp])); + model.in = new ScilabDouble([-1]); + model.in2 = new ScilabDouble([-1]); + model.intyp = new ScilabDouble([1]); + model.out = new ScilabDouble([-1]); + model.out2 = new ScilabDouble([-1]); + model.outtyp = new ScilabDouble([1]); + model.evtin = new ScilabDouble(); + model.evtout = new ScilabDouble(); + model.state = new ScilabDouble(); + model.dstate = new ScilabDouble(); + model.rpar = new ScilabDouble(); + model.ipar = new ScilabDouble(); + model.blocktype = new ScilabString(["c"]); + model.firing = new ScilabDouble(); + model.dep_ut = new ScilabBoolean([true, false]); + + var label = new ScilabString([sci2exp(1)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"MATINV\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, label, gr_i); + return new BasicBlock(this.x); + } + MATINV.prototype.details = function MATINV() { + return this.x; + } +} + diff --git a/data_structures_correct/MATLU.js b/data_structures_correct/MATLU.js new file mode 100644 index 0000000..126d164 --- /dev/null +++ b/data_structures_correct/MATLU.js @@ -0,0 +1,35 @@ +function MATLU() { + + MATLU.prototype.define = function MATLU() { + this.function_name = "mat_lu"; + this.funtyp = 4; + + var model = scicos_model(); + model.sim = list(new ScilabString([this.function_name]), new ScilabDouble([this.funtyp])); + model.in = new ScilabDouble([-1]); + model.in2 = new ScilabDouble([-1]); + model.intyp = new ScilabDouble([1]); + model.out = new ScilabDouble([-1], [-1]); + model.out2 = new ScilabDouble([-1], [-1]); + model.outtyp = new ScilabDouble([1, 1]); + model.evtin = new ScilabDouble(); + model.evtout = new ScilabDouble(); + model.state = new ScilabDouble(); + model.dstate = new ScilabDouble(); + model.rpar = new ScilabDouble(); + model.ipar = new ScilabDouble(); + model.blocktype = new ScilabString(["c"]); + model.firing = new ScilabDouble(); + model.dep_ut = new ScilabBoolean([true, false]); + + var label = new ScilabString([sci2exp(1)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"MATLU\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, label, gr_i); + return new BasicBlock(this.x); + } + MATLU.prototype.details = function CSCOPE() { + return this.x; + } +} + diff --git a/data_structures_correct/MATMAGPHI.js b/data_structures_correct/MATMAGPHI.js new file mode 100644 index 0000000..0748d27 --- /dev/null +++ b/data_structures_correct/MATMAGPHI.js @@ -0,0 +1,35 @@ +function MATMAGPHI() { + + MATMAGPHI.prototype.define = function MATMAGPHI() { + this.function_name = "matz_abs"; + this.funtyp = 4; + + var model = scicos_model(); + model.sim = list(new ScilabString([this.function_name]), new ScilabDouble([this.funtyp])); + model.in = new ScilabDouble([-1]); + model.in2 = new ScilabDouble([-2]); + model.intyp = new ScilabDouble([2]); + model.out = new ScilabDouble([-1], [-1]); + model.out2 = new ScilabDouble([-2], [-2]); + model.outtyp = new ScilabDouble([1, 1]); + model.evtin = new ScilabDouble(); + model.evtout = new ScilabDouble(); + model.state = new ScilabDouble(); + model.dstate = new ScilabDouble(); + model.rpar = new ScilabDouble(); + model.ipar = new ScilabDouble(); + model.blocktype = new ScilabString(["c"]); + model.firing = new ScilabDouble(); + model.dep_ut = new ScilabBoolean([true, false]); + + var label = new ScilabString([sci2exp(1)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"MATMAGPHI\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([3, 2]), model, label, gr_i); + return new BasicBlock(this.x); + } + MATMAGPHI.prototype.details = function MATMAGPHI() { + return this.x; + } +} + diff --git a/data_structures_correct/MATMUL.js b/data_structures_correct/MATMUL.js new file mode 100644 index 0000000..88f425b --- /dev/null +++ b/data_structures_correct/MATMUL.js @@ -0,0 +1,24 @@ +function MATMUL() { + + MATMUL.prototype.define = function MATMUL() { + + var model = scicos_model(); + model.sim = list(new ScilabString(["matmul_m"]), new ScilabDouble([4])); + model.in = new ScilabDouble([-1], [-2]); + model.in2 = new ScilabDouble([-2], [-3]); + model.out = new ScilabDouble([-1]); + model.out2 = new ScilabDouble([-3]); + model.dep_ut = new ScilabBoolean([true, false]); + model.ipar = new ScilabDouble([1]); + + var label = new ScilabString([sci2exp(parseInt(getData(model.ipar)))]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"MATMUL\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([3, 2]), model, label, gr_i); + return new BasicBlock(this.x); + } + MATMUL.prototype.details = function MATMUL() { + return this.x; + } +} + diff --git a/data_structures_correct/MATPINV.js b/data_structures_correct/MATPINV.js new file mode 100644 index 0000000..855d8a3 --- /dev/null +++ b/data_structures_correct/MATPINV.js @@ -0,0 +1,36 @@ +function MATPINV() { + + MATPINV.prototype.define = function MATPINV() { + this.function_name = "mat_pinv"; + this.funtyp = 4; + + var model = scicos_model(); + model.sim = list(new ScilabString([this.function_name]), new ScilabDouble([this.funtyp])); + model.in = new ScilabDouble([-1]); + model.in = new ScilabDouble([-1]); + model.in2 = new ScilabDouble([-2]); + model.intyp = new ScilabDouble([1]); + model.out = new ScilabDouble([-2]); + model.out2 = new ScilabDouble([-1]); + model.outtyp = new ScilabDouble([1]); + model.evtin = new ScilabDouble(); + model.evtout = new ScilabDouble(); + model.state = new ScilabDouble(); + model.dstate = new ScilabDouble(); + model.rpar = new ScilabDouble(); + model.ipar = new ScilabDouble(); + model.blocktype = new ScilabString(["c"]); + model.firing = new ScilabDouble(); + model.dep_ut = new ScilabBoolean([true, false]); + + var label = new ScilabString([sci2exp(1)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"MATPINV\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, label, gr_i); + return new BasicBlock(this.x); + } + MATPINV.prototype.details = function MATPINV() { + return this.x; + } +} + diff --git a/data_structures_correct/MATRESH.js b/data_structures_correct/MATRESH.js new file mode 100644 index 0000000..1db99fa --- /dev/null +++ b/data_structures_correct/MATRESH.js @@ -0,0 +1,35 @@ +function MATRESH() { + + MATRESH.prototype.define = function MATRESH() { + this.function_name = "mat_reshape"; + this.funtyp = 4; + + var model = scicos_model(); + model.sim = list(new ScilabString([this.function_name]), new ScilabDouble([this.funtyp])); + model.in = new ScilabDouble([-1]); + model.in2 = new ScilabDouble([-2]); + model.intyp = new ScilabDouble([1]); + model.out = new ScilabDouble([-1]); + model.out2 = new ScilabDouble([-2]); + model.outtyp = new ScilabDouble([1]); + model.evtin = new ScilabDouble(); + model.evtout = new ScilabDouble(); + model.state = new ScilabDouble(); + model.dstate = new ScilabDouble(); + model.rpar = new ScilabDouble(); + model.ipar = new ScilabDouble(); + model.blocktype = new ScilabString(["c"]); + model.firing = new ScilabDouble(); + model.dep_ut = new ScilabBoolean([true, false]); + + var label = new ScilabString([sci2exp(1)], [sci2exp([1, 1])], [sci2exp([1, 1])]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"MATRESH\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([3, 2]), model, label, gr_i); + return new BasicBlock(this.x); + } + MATRESH.prototype.details = function MATRESH() { + return this.x; + } +} + diff --git a/data_structures_correct/MATSING.js b/data_structures_correct/MATSING.js new file mode 100644 index 0000000..d99399e --- /dev/null +++ b/data_structures_correct/MATSING.js @@ -0,0 +1,36 @@ +function MATSING() { + + MATSING.prototype.define = function MATSING() { + var model = scicos_model(); + + this.function_name = "mat_sing"; + this.funtyp = 4; + + model.sim = list(new ScilabString([this.function_name]), new ScilabDouble([this.funtyp])); + model.in = new ScilabDouble([-1]); + model.in2 = new ScilabDouble([-2]); + model.intyp = new ScilabDouble([1]); + model.out = new ScilabDouble([-1]); + model.out2 = new ScilabDouble([1]); + model.outtyp = new ScilabDouble([1]); + model.evtin = new ScilabDouble(); + model.evtout = new ScilabDouble(); + model.state = new ScilabDouble(); + model.dstate = new ScilabDouble(); + model.rpar = new ScilabDouble(); + model.ipar = new ScilabDouble(); + model.blocktype = new ScilabString(["c"]); + model.firing = new ScilabDouble(); + model.dep_ut = new ScilabBoolean([true, false]); + + var label = new ScilabString([sci2exp(1)], [sci2exp(1)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"MATSING\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, label, gr_i); + return new BasicBlock(this.x); + } + + MATSING.prototype.details = function MATSING() { + return this.x; + } +} diff --git a/data_structures_correct/MATSUM.js b/data_structures_correct/MATSUM.js new file mode 100644 index 0000000..5af9624 --- /dev/null +++ b/data_structures_correct/MATSUM.js @@ -0,0 +1,35 @@ +function MATSUM() { + + MATSUM.prototype.define = function MATSUM() { + this.function_name = "mat_sum"; + this.funtyp = 4; + + var model = scicos_model(); + model.sim = list(new ScilabString([this.function_name]), new ScilabDouble([this.funtyp])); + model.in = new ScilabDouble([-1]); + model.in2 = new ScilabDouble([-2]); + model.intyp = new ScilabDouble([1]); + model.out = new ScilabDouble([1]); + model.out2 = new ScilabDouble([1]); + model.outtyp = new ScilabDouble([1]); + model.evtin = new ScilabDouble(); + model.evtout = new ScilabDouble(); + model.state = new ScilabDouble(); + model.dstate = new ScilabDouble(); + model.rpar = new ScilabDouble(); + model.ipar = new ScilabDouble(); + model.blocktype = new ScilabString(["c"]); + model.firing = new ScilabDouble(); + model.dep_ut = new ScilabBoolean([true, false]); + + var label = new ScilabString([sci2exp(1)], [sci2exp(0)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"MATSUM\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([3, 2]), model, label, gr_i); + return new BasicBlock(this.x); + } + MATSUM.prototype.details = function MATSUM() { + return this.x; + } +} + diff --git a/data_structures_correct/MATTRAN.js b/data_structures_correct/MATTRAN.js new file mode 100644 index 0000000..2ab793a --- /dev/null +++ b/data_structures_correct/MATTRAN.js @@ -0,0 +1,23 @@ +function MATTRAN() { + + MATTRAN.prototype.define = function MATTRAN() { + + var model = scicos_model(); + model.sim = list(new ScilabString(["mattran_m"]), new ScilabDouble([4])); + model.in = new ScilabDouble([-1]); + model.in2 = new ScilabDouble([-2]); + model.out = new ScilabDouble([-2]); + model.out2 = new ScilabDouble([-1]); + model.dep_ut = new ScilabBoolean([true, false]); + + var label = new ScilabString([sci2exp(1)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"MATTRAN\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([3, 2]), model, label, gr_i); + return new BasicBlock(this.x); + } + MATTRAN.prototype.details = function MATTRAN() { + return this.x; + } +} + diff --git a/data_structures_correct/MATZCONJ.js b/data_structures_correct/MATZCONJ.js new file mode 100644 index 0000000..7ef31bf --- /dev/null +++ b/data_structures_correct/MATZCONJ.js @@ -0,0 +1,35 @@ +function MATZCONJ() { + + MATZCONJ.prototype.define = function MATZCONJ() { + this.function_name = "matz_conj"; + this.funtyp = 4; + + var model = scicos_model(); + model.sim = list(new ScilabString([this.function_name]), new ScilabDouble([this.funtyp])); + model.in = new ScilabDouble([-1]); + model.in2 = new ScilabDouble([-2]); + model.intyp = new ScilabDouble([2]); + model.out = new ScilabDouble([-1]); + model.out2 = new ScilabDouble([-2]); + model.outtyp = new ScilabDouble([2]); + model.evtin = new ScilabDouble(); + model.evtout = new ScilabDouble(); + model.state = new ScilabDouble(); + model.dstate = new ScilabDouble(); + model.rpar = new ScilabDouble(); + model.ipar = new ScilabDouble(); + model.blocktype = new ScilabString(["c"]); + model.firing = new ScilabDouble(); + model.dep_ut = new ScilabBoolean([true, false]); + + var label = new ScilabDouble(); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"MATZCONJ\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, label, gr_i); + return new BasicBlock(this.x); + } + MATZCONJ.prototype.details = function MATZCONJ() { + return this.x; + } +} + diff --git a/data_structures_correct/MAXMIN.js b/data_structures_correct/MAXMIN.js new file mode 100644 index 0000000..c9d7ce6 --- /dev/null +++ b/data_structures_correct/MAXMIN.js @@ -0,0 +1,23 @@ +function MAXMIN() { + + MAXMIN.prototype.define = function MAXMIN() { + var model = scicos_model(); + model.sim = list(new ScilabString(["minmax"]), new ScilabDouble([4])); + model.out = new ScilabDouble([1]); + model.in = new ScilabDouble([-1]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + model.ipar = new ScilabDouble([0]); + + var exprs = new ScilabString(...math.transpose([[2, 1, 1]])); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"MAXMIN\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, gr_i); + this.x.graphics.style = new ScilabString(["MAXMIN;displayedLabel=MAX"]); + return new BasicBlock(this.x); + } + + MAXMIN.prototype.details = function MAXMIN() { + return this.x; + } +} diff --git a/data_structures_correct/MCLOCK_f.js b/data_structures_correct/MCLOCK_f.js new file mode 100644 index 0000000..b6e1b67 --- /dev/null +++ b/data_structures_correct/MCLOCK_f.js @@ -0,0 +1,139 @@ +function MCLOCK_f() { + + MCLOCK_f.prototype.define = function MCLOCK_f() { + this.nn = 2; + this.dt = 0.1; + var exprs = new ScilabString([this.dt], [this.nn]); + + var mfclck = new MFCLCK_f().internal(); + mfclck.graphics.orig = new ScilabDouble([334, 199]); + mfclck.graphics.sz = new ScilabDouble([40, 40]); + mfclck.graphics.flip = new ScilabBoolean([true]); + mfclck.graphics.exprs = exprs; + mfclck.graphics.pein = new ScilabDouble([12]); + mfclck.graphics.peout = new ScilabDouble([4], [3]); + mfclck.model.rpar = new ScilabDouble([0.1]); + mfclck.model.ipar = new ScilabDouble([this.nn]); + mfclck.model.firing = new ScilabDouble([-1, 0]); + mfclck.model.uid = new ScilabString([count]); + mfclck.doc = list(new ScilabString([count++])); + + var clksom = new CLKSOM_f().internal(); + clksom.graphics.orig = new ScilabDouble([457, 161]); + clksom.graphics.sz = new ScilabDouble([16.666667, 16.666667]); + clksom.graphics.flip = new ScilabBoolean([true]); + clksom.graphics.exprs = new ScilabString(["0.1"], ["0.1"]); + clksom.graphics.pein = new ScilabDouble([4], [9], [0]); + clksom.graphics.peout = new ScilabDouble([5]); + clksom.model.uid = new ScilabString([count]); + clksom.doc = list(new ScilabString([count++])); + + var output_port1 = new CLKOUT_f().internal(); + output_port1.graphics.orig = new ScilabDouble([509, 261]); + output_port1.graphics.sz = new ScilabDouble([20, 20]); + output_port1.graphics.flip = new ScilabBoolean([true]); + output_port1.graphics.exprs = new ScilabString(["1"]); + output_port1.graphics.pein = new ScilabDouble([10]); + output_port1.model.ipar = new ScilabDouble([1]); + output_port1.model.uid = new ScilabString([count]); + output_port1.doc = list(new ScilabString([count++])); + + var output_port2 = new CLKOUT_f().internal(); + output_port2.graphics.orig = new ScilabDouble([509, 142]); + output_port2.graphics.sz = new ScilabDouble([20, 20]); + output_port2.graphics.flip = new ScilabBoolean([true]); + output_port2.graphics.exprs = new ScilabString(["2"]); + output_port2.graphics.pein = new ScilabDouble([13]); + output_port2.model.ipar = new ScilabDouble([2]); + output_port2.model.uid = new ScilabString([count]); + output_port2.doc = list(new ScilabString([count++])); + + var split1 = new CLKSPLIT_f().internal(); + split1.graphics.orig = new ScilabDouble([411.92504, 169.33333]); + split1.graphics.pein = new ScilabDouble([3]); + split1.graphics.peout = new ScilabDouble([9], [10]); + split1.model.uid = new ScilabString([count]); + split1.doc = list(new ScilabString([count++])); + + var split2 = new CLKSPLIT_f().internal(); + split2.graphics.orig = new ScilabDouble([482.45315, 169.33333]); + split2.graphics.pein = new ScilabDouble([5]); + split2.graphics.peout = new ScilabDouble([12], [13]); + split2.model.uid = new ScilabString([count]); + split2.doc = list(new ScilabString([count++])); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),"MCLOCK_f",sz(1),sz(2));"]); + + var diagram = scicos_diagram(); + diagram.objs.push(mfclck); + diagram.objs.push(clksom); + diagram.objs.push(output_port1); + diagram.objs.push(output_port2); + diagram.objs.push(split1); + diagram.objs.push(split2); + + diagram.objs.push(scicos_link({ + xx: new ScilabDouble([360.7], [360.7], [411.9]), + yy: new ScilabDouble([193.3], [169.3], [169.3]), + ct: new ScilabDouble([10, -1]), + from: new ScilabDouble([1, 2, 0]), + to: new ScilabDouble([5, 1, 1]) + })); + diagram.objs.push(scicos_link({ + xx: new ScilabDouble([347.3], [347.3], [461.8], [461.8]), + yy: new ScilabDouble([193.3], [155.5], [155.5], [161]), + ct: new ScilabDouble([10, -1]), + from: new ScilabDouble([1, 1, 0]), + to: new ScilabDouble([2, 1, 1]) + })); + diagram.objs.push(scicos_link({ + xx: new ScilabDouble([468.9], [482.5]), + yy: new ScilabDouble([169.3], [169.3]), + ct: new ScilabDouble([10, -1]), + from: new ScilabDouble([2, 1, 0]), + to: new ScilabDouble([6, 1, 1]) + })); + diagram.objs.push(scicos_link({ + xx: new ScilabDouble([411.9], [457]), + yy: new ScilabDouble([169.3], [169.3]), + ct: new ScilabDouble([10, -1]), + from: new ScilabDouble([5, 1, 0]), + to: new ScilabDouble([2, 2, 1]) + })); + diagram.objs.push(scicos_link({ + xx: new ScilabDouble([411.9], [411.9], [509]), + yy: new ScilabDouble([169.3], [271], [271]), + ct: new ScilabDouble([10, -1]), + from: new ScilabDouble([5, 2, 0]), + to: new ScilabDouble([3, 1, 1]) + })); + diagram.objs.push(scicos_link({ + xx: new ScilabDouble([482.5], [489.6], [489.6], [354], [354]), + yy: new ScilabDouble([169.3], [169.3], [338.3], [338.3], [244.7]), + ct: new ScilabDouble([10, -1]), + from: new ScilabDouble([6, 1, 0]), + to: new ScilabDouble([1, 1, 1]) + })); + diagram.objs.push(scicos_link({ + xx: new ScilabDouble([482.4], [482.4], [509]), + yy: new ScilabDouble([169.3], [152], [152]), + ct: new ScilabDouble([10, -1]), + from: new ScilabDouble([6, 2, 0]), + to: new ScilabDouble([4, 1, 1]) + })); + + this.x = scicos_block(); + this.x.gui = new ScilabString(["MCLOCK_f"]); + this.x.graphics.sz = new ScilabDouble([3, 2]); + this.x.graphics.gr_i = gr_i; + this.x.model.sim = new ScilabString(["csuper"]); + this.x.model.evtout = new ScilabDouble([1], [1]); + this.x.model.blocktype = new ScilabString(["h"]); + this.x.model.rpar = diagram; + this.x.graphics.peout = new ScilabDouble([0], [0]); + return new BasicBlock(this.x); + } + MCLOCK_f.prototype.details = function MCLOCK_f() { + return this.x; + } +} diff --git a/data_structures_correct/MFCLCK_f.js b/data_structures_correct/MFCLCK_f.js new file mode 100644 index 0000000..6e0a6aa --- /dev/null +++ b/data_structures_correct/MFCLCK_f.js @@ -0,0 +1,50 @@ +function MFCLCK_f() { + + MFCLCK_f.prototype.define = function MFCLCK_f() { + this.nn = 2; + this.dt = 0.1; + + var model = scicos_model(); + model.sim = new ScilabString(["mfclck"]); + model.evtin = new ScilabDouble([1]); + model.evtout = new ScilabDouble([1], [1]); + model.dstate = new ScilabDouble([0]); + model.rpar = new ScilabDouble([this.dt]); + model.ipar = new ScilabDouble([this.nn]); + model.blocktype = new ScilabString(["d"]); + model.firing = new ScilabDouble([-1], [0]); + model.dep_ut = new ScilabBoolean([false, false]); + + var exprs = new ScilabString([this.dt], [this.nn]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"MFCLCK_f\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([3, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + MFCLCK_f.prototype.internal = function MFCLCK_f() { + this.nn = 2; + this.dt = 0.1; + + var model = scicos_model(); + model.sim = new ScilabString(["mfclck"]); + model.evtin = new ScilabDouble([1]); + model.evtout = new ScilabDouble([1], [1]); + model.dstate = new ScilabDouble([0]); + model.rpar = new ScilabDouble([this.dt]); + model.ipar = new ScilabDouble([this.nn]); + model.blocktype = new ScilabString(["d"]); + model.firing = new ScilabDouble([-1], [0]); + model.dep_ut = new ScilabBoolean([false, false]); + model.outtyp = new ScilabDouble(); + + var exprs = new ScilabString([this.dt], [this.nn]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"MFCLCK_f\",sz(1),sz(2));"]); + var block = new standard_define(new ScilabDouble([3, 2]), model, exprs, gr_i); + block.graphics.style = new ScilabString(["MFCLCK_f"]); + return block; + } + MFCLCK_f.prototype.details = function MFCLCK_f() { + return this.x; + } +} diff --git a/data_structures_correct/MIN_f.js b/data_structures_correct/MIN_f.js new file mode 100644 index 0000000..e64f3af --- /dev/null +++ b/data_structures_correct/MIN_f.js @@ -0,0 +1,24 @@ +function MIN_f() { + + MIN_f.prototype.define = function MIN_f() { + this.in1 = -1; + + var model = scicos_model(); + model.sim = new ScilabString(["minblk"]); + model.in = new ScilabDouble([this.in1]); + model.out = new ScilabDouble([1]); + model.dstate = new ScilabDouble([0], [0]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var exprs = new ScilabString([sci2exp(this.in1)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"MIN_f\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + MIN_f.prototype.details = function MIN_f() { + return this.x; + } +} + diff --git a/data_structures_correct/MUX.js b/data_structures_correct/MUX.js new file mode 100644 index 0000000..f968deb --- /dev/null +++ b/data_structures_correct/MUX.js @@ -0,0 +1,26 @@ +function MUX() { + + MUX.prototype.define = function MUX() { + this.in1 = 2; + var arr = []; + arr.push(math.range(-1, -this.in1, -1, true)._data); + + var model = scicos_model(); + model.sim = list(new ScilabString(["multiplex"]), new ScilabDouble([4])); + model.in = new ScilabDouble(...math.transpose(arr)); + model.out = new ScilabDouble([0]); + model.ipar = new ScilabDouble([this.in1]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var exprs = new ScilabString([this.in1]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"MUX\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([.5, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + MUX.prototype.details = function MUX() { + return this.x; + } +} + diff --git a/data_structures_correct/MUX_f.js b/data_structures_correct/MUX_f.js new file mode 100644 index 0000000..fa55526 --- /dev/null +++ b/data_structures_correct/MUX_f.js @@ -0,0 +1,26 @@ +function MUX_f() { + + MUX_f.prototype.define = function MUX_f() { + this.in1 = 2; + var arr = []; + arr.push(math.range(-1, -this.in1, -1, true)._data); + + var model = scicos_model(); + model.sim = list(new ScilabString(["mux"]), new ScilabDouble([1])); + model.in = new ScilabDouble(...math.transpose(arr)); + model.out = new ScilabDouble([0]); + model.ipar = new ScilabDouble([this.in1]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var exprs = new ScilabString([this.in1]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"MUX_f\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([0.5, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + MUX_f.prototype.details = function MUX_f() { + return this.x; + } +} + diff --git a/data_structures_correct/M_SWITCH.js b/data_structures_correct/M_SWITCH.js new file mode 100644 index 0000000..ec04419 --- /dev/null +++ b/data_structures_correct/M_SWITCH.js @@ -0,0 +1,26 @@ +function M_SWITCH() { + + M_SWITCH.prototype.define = function M_SWITCH() { + this.in1 = [[1], [-1], [-1]]; + this.ipar = [[1], [3]]; + this.nin = 2; + + var model = scicos_model(); + model.sim = list(new ScilabString(["mswitch"]), new ScilabDouble([4])); + model.in = new ScilabDouble(...this.in1); + model.out = new ScilabDouble([-1]); + model.ipar = new ScilabDouble(...this.ipar); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var exprs = new ScilabString([this.nin], ...this.ipar); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"M_SWITCH\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2.5, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + M_SWITCH.prototype.details = function M_SWITCH() { + return this.x; + } +} + diff --git a/data_structures_correct/M_freq.js b/data_structures_correct/M_freq.js new file mode 100644 index 0000000..e335809 --- /dev/null +++ b/data_structures_correct/M_freq.js @@ -0,0 +1,24 @@ +function M_freq() { + + M_freq.prototype.define = function M_freq() { + var model = scicos_model(); + model.sim = list(new ScilabString(["m_frequ"]), new ScilabDouble([4])); + model.evtout = new ScilabDouble([1], [1], [1]); + model.evtin = new ScilabDouble([1]); + model.rpar = new ScilabDouble(); + model.opar = list(new ScilabDouble([1, 1, 0], [1, 1, 1], [1, 3, 2]), new ScilabDouble([1]), new ScilabDouble([0]), new ScilabDouble([0])); + model.blocktype = new ScilabString(["d"]); + model.firing = new ScilabDouble([0, -1, -1]); + model.dep_ut = new ScilabBoolean([false, false]); + + var exprs = new ScilabString([sci2exp([[1], [2]])], [sci2exp([[0], [0]])]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"M_freq\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([3, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + + M_freq.prototype.details = function M_freq() { + return this.x; + } +} diff --git a/data_structures_correct/Modulo_Count.js b/data_structures_correct/Modulo_Count.js new file mode 100644 index 0000000..dfff095 --- /dev/null +++ b/data_structures_correct/Modulo_Count.js @@ -0,0 +1,46 @@ +function Modulo_Count() { + + Modulo_Count.prototype.define = function Modulo_Count() { + this.ini_c = 0; + this.base = 3; + + var model = scicos_model(); + model.sim = list(new ScilabString(["modulo_count"]), new ScilabDouble([4])); + model.evtin = new ScilabDouble([1]); + model.out = new ScilabDouble([1]); + model.dstate = new ScilabDouble([this.ini_c]); + model.ipar = new ScilabDouble([this.base]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([false, false]); + + var exprs = new ScilabString([this.ini_c], [this.base]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"Modulo_Count\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([3, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + Modulo_Count.prototype.internal = function Modulo_Count() { + this.ini_c = 0; + this.base = 3; + + var model = scicos_model(); + model.sim = list(new ScilabString(["modulo_count"]), new ScilabDouble([4])); + model.evtin = new ScilabDouble([1]); + model.out = new ScilabDouble([1]); + model.out2 = new ScilabDouble([1]); + model.dstate = new ScilabDouble([this.ini_c]); + model.ipar = new ScilabDouble([this.base]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([false, false]); + + var exprs = new ScilabString([this.ini_c], [this.base]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"Modulo_Count\",sz(1),sz(2));"]); + var block = new standard_define(new ScilabDouble([3, 2]), model, exprs, gr_i); + block.graphics.style = new ScilabString(["Modulo_Count"]); + return block; + } + Modulo_Count.prototype.details = function Modulo_Count() { + return this.x; + } +} diff --git a/data_structures_correct/NMOS.js b/data_structures_correct/NMOS.js new file mode 100644 index 0000000..feac070 --- /dev/null +++ b/data_structures_correct/NMOS.js @@ -0,0 +1,40 @@ +function NMOS() { + + NMOS.prototype.define = function NMOS() { + this.W = 20.e-6; + this.L = 6.e-6; + this.Beta = 0.041e-3; + this.Vt = 0.8; + this.K2 = 1.144; + this.K5 = 0.7311; + this.dW = -2.5e-6; + this.dL = -1.5e-6; + this.RDS = 1.e+7; + + var model = scicos_model(); + model.sim = new ScilabString(["NMOS"]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var mo = modelica(); + mo.model = new ScilabString(["NMOS"]); + mo.outputs = new ScilabString(["D"], ["B"], ["S"]); + mo.inputs = new ScilabString(["G"]); + mo.parameters = list(new ScilabString(["W"], ["L"], ["Beta"], ["Vt"], ["K2"], ["K5"], ["dW"], ["dL"], ["RDS"]), new ScilabDouble([this.W], [this.L], [this.Beta], [this.Vt], [this.K2], [this.K5], [this.dW], [this.dL], [this.RDS])); + model.equations = mo; + model.in = new ScilabDouble(...ones(size(getData(mo.inputs), "*"), 1)); + model.out = new ScilabDouble(...ones(size(getData(mo.outputs), "*"), 1)); + + var exprs = new ScilabString([this.W], [this.L], [this.Beta], [this.Vt], [this.K2], [this.K5], [this.dW], [this.dL], [this.RDS]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"NMOS\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, gr_i); + this.x.graphics.in_implicit = new ScilabString(["I"]); + this.x.graphics.out_implicit = new ScilabString(["I"], ["I"], ["I"]); + return new BasicBlock(this.x); + } + NMOS.prototype.details = function NMOS() { + return this.x; + } +} + diff --git a/data_structures_correct/NPN.js b/data_structures_correct/NPN.js new file mode 100644 index 0000000..f6f9c9d --- /dev/null +++ b/data_structures_correct/NPN.js @@ -0,0 +1,56 @@ +function NPN() { + + NPN.prototype.define = function NPN() { + this.ModelName = "NPN"; + this.PrametersValue = [[50], [0.1], [0], [0.02], [1.200e-10], [5.000e-09], [1.000e-12], [4.000e-13], [5.000e-13], [0.8], [0.4], [0.8], [0.333], [1.000e-15], [1.000e-15], [0.02585], [40]]; + this.ParametersName = [["Bf"], ["Br"], ["Is"], ["Vak"], ["Tauf"], ["Taur"], ["Ccs"], ["Cje"], ["Cjc"], ["Phie"], ["Me"], ["Phic"], ["Mc"], ["Gbc"], ["Gbe"], ["Vt"], ["EMinMax"]]; + this.model = scicos_model(); + this.Typein = []; + this.Typeout = []; + this.MI = []; + this.MO = []; + this.P = [[100, 90, -2, 0], [0, 50, 2, 0], [100, 10, -2, 0]]; + this.PortName = [["C"], ["B"], ["E"]]; + + for (var i = 0; i < size(this.P, "r"); i++) { + if (this.P[i][2] == 1) { + this.Typein.push(["E"]); + this.MI.push(this.PortName[i]); + } + if (this.P[i][2] == 2) { + this.Typein.push(["I"]); + this.MI.push(this.PortName[i]); + } + if (this.P[i][2] == -1) { + this.Typeout.push(["E"]); + this.MO.push(this.PortName[i]); + } + if (this.P[i][2] == -2) { + this.Typeout.push(["I"]); + this.MO.push(this.PortName[i]); + } + } + var model = scicos_model(); + var mo = modelica(); + model.sim = new ScilabString([this.ModelName]); + mo.inputs = new ScilabString(...this.MI); + mo.outputs = new ScilabString(...this.MO); + model.rpar = new ScilabDouble(...this.PrametersValue); + mo.parameters = list(new ScilabString(...this.ParametersName), new ScilabDouble(...this.PrametersValue), new ScilabDouble(...zeros(this.ParametersName))); + var exprs = new ScilabString(["50"], ["0.1"], ["1.e-16"], ["0.02"], ["0.12e-9"], ["5e-9"], ["1e-12"], ["0.4e-12"], ["0.5e-12"], ["0.8"], ["0.4"], ["0.8"], ["0.333"], ["1e-15"], ["1e-15"], ["0.02585"], ["40"]); + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),"NPN",sz(1),sz(2));"]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([false, true]); + mo.model = new ScilabString([this.ModelName]); + model.equations = mo; + model.in = new ScilabDouble(...ones(size(this.MI, "*"), 1)); + model.out = new ScilabDouble(...ones(size(this.MO, "*"), 1)); + this.x = standard_define([2, 2], model, exprs, list(gr_i, new ScilabDouble([0]))); + this.x.graphics.in_implicit = new ScilabString(...this.Typein); + this.x.graphics.out_implicit = new ScilabString(...this.Typeout); + return new BasicBlock(this.x); + } + NPN.prototype.details = function NPN() { + return this.x; + } +} diff --git a/data_structures_correct/NRMSOM_f.js b/data_structures_correct/NRMSOM_f.js new file mode 100644 index 0000000..f80bb88 --- /dev/null +++ b/data_structures_correct/NRMSOM_f.js @@ -0,0 +1,24 @@ +function NRMSOM_f() { + + NRMSOM_f.prototype.define = function NRMSOM_f() { + this.in1 = [[-1], [-1]]; + this.nin = 2; + + var model = scicos_model(); + model.sim = new ScilabString(["junk"]); + model.in = new ScilabDouble(...this.in1); + model.out = new ScilabDouble([-1]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var exprs = new ScilabString([this.nin]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"NRMSOM_f\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([.2, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + NRMSOM_f.prototype.details = function NRMSOM_f() { + return this.x; + } +} + diff --git a/data_structures_correct/OUTIMPL_f.js b/data_structures_correct/OUTIMPL_f.js new file mode 100644 index 0000000..c5846e7 --- /dev/null +++ b/data_structures_correct/OUTIMPL_f.js @@ -0,0 +1,30 @@ +function OUTIMPL_f() { + + OUTIMPL_f.prototype.define = function OUTIMPL_f() { + var model = scicos_model(); + model.in = new ScilabDouble([-1]); + model.in2 = new ScilabDouble([1]); + + this.prt = 1; + model.sim = new ScilabString(["outimpl"]); + model.ipar = new ScilabDouble([1]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([false, false]); + + var mo = modelica(); + mo.model = new ScilabString(["PORT"]); + mo.inputs = new ScilabString(["n"]); + mo.outputs = new ScilabDouble(); + model.equations = mo; + + var exprs = new ScilabString(["1"]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),"OUTIMPL_f",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([1, 1]), model, exprs, gr_i); + this.x.graphics.in_implicit = new ScilabString(["I"]); + return new ImplicitOutBlock(this.x); + } + OUTIMPL_f.prototype.details = function OUTIMPL_f() { + return this.x; + } +} diff --git a/data_structures_correct/OUT_f.js b/data_structures_correct/OUT_f.js new file mode 100644 index 0000000..d632563 --- /dev/null +++ b/data_structures_correct/OUT_f.js @@ -0,0 +1,50 @@ +function OUT_f () { + + OUT_f.prototype.internal = function OUT_f() { + this.n = -1; + this.prt = 1; + + var model = scicos_model(); + model.sim = new ScilabString(["output"]); + model.in = new ScilabDouble([-1]); + model.in2 = new ScilabDouble([-2]); + model.intyp = new ScilabDouble([-1]); + model.ipar=new ScilabDouble([this.prt]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([false,false]); + var exprs = new ScilabString([sci2exp(this.prt)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"OUT_f\",sz(1),sz(2));"]); + var block=new standard_define(new ScilabDouble([1,1]),model,exprs,gr_i); + block.graphics.style = new ScilabString(["OUT_f"]); // changed + block.graphics.in_style = new ScilabString(["ExplicitInputPort;align=left;verticalAlign=middle;spacing=10.0;rotation=0"]); + block.graphics.in_label = new ScilabString([""]); + block.graphics.in_implicit = new ScilabString(["E"]); + return block; + } + + OUT_f.prototype.define = function OUT_f() { + this.n = -1; + this.prt = 1; + + var model = scicos_model(); + model.sim = new ScilabString(["output"]); + model.in1 = new ScilabDouble([-1]); + model.in2 = new ScilabDouble([-2]); + model.intyp = new ScilabDouble([-1]); + model.ipar=new ScilabDouble([this.prt]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([false,false]); + + var exprs = new ScilabString([sci2exp(this.prt)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"OUT_f\",sz(1),sz(2));"]); + var block=new standard_define(new ScilabDouble([1,1]),model,exprs,gr_i); + block.graphics.style = new ScilabString(["OUT_f"]); + return new ExplicitOutBlock(this.x); + } + + OUT_f.prototype.details = function OUT_f() { + return this.x; + } +} diff --git a/data_structures_correct/OpAmp.js b/data_structures_correct/OpAmp.js new file mode 100644 index 0000000..055bdde --- /dev/null +++ b/data_structures_correct/OpAmp.js @@ -0,0 +1,34 @@ +function OpAmp() { + + OpAmp.prototype.define = function OpAmp() { + this.S = []; + this.Z = []; + + var model = scicos_model(); + model.sim = new ScilabString(["OpAmp"]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var mo = modelica(); + mo.model = model.sim; + mo.inputs = new ScilabString(["in_p"], ["in_n"]); + mo.outputs = new ScilabString(["out"]); + mo.parameters = list(new ScilabDouble(), new ScilabDouble()); + model.equations = mo; + model.in = new ScilabDouble(...ones(size(getData(mo.inputs), "*"), 1)); + model.out = new ScilabDouble(...ones(size(getData(mo.outputs), "*"), 1)); + model.rpar = new ScilabDouble(); + + var exprs = new ScilabString(); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"OpAmp\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([3, 5]), model, exprs, gr_i); + this.x.graphics.in_implicit = new ScilabString(["I"], ["I"]); + this.x.graphics.out_implicit = new ScilabString(["I"]); + return new BasicBlock(this.x); + } + OpAmp.prototype.details = function OpAmp() { + return this.x; + } +} + diff --git a/data_structures_correct/PDE.js b/data_structures_correct/PDE.js new file mode 100644 index 0000000..2aa3a6d --- /dev/null +++ b/data_structures_correct/PDE.js @@ -0,0 +1,24 @@ +function PDE() { + + PDE.prototype.define = function PDE() { + this.params_pde = tlist(["paramspde", "a", "b", "txt_exp", "check_op1", "a1", "b1", "check_op2", "a2", "b2", "check_op3", "a3", "b3", "check_op4", "a4", "b4", "check_op5", "a5", "b5", "check_op6", "a6", "b6", "check_op7", "a7", "b7", "discr_cst", "discr_non_cst", "signe", "rad_automatique", "rad_manuel", "methode", "ord1", "ord2", "ord3", "degre", "nnode", "txt_pas", "CI", "dCI", "CLa", "CLa_exp", "CLb", "CLb_exp", "points"], new ScilabString(["paramspde"], ["a"], ["b"], ["txt_exp"], ["check_op1"], ["a1"], ["b1"], ["check_op2"], ["a2"], ["b2"], ["check_op3"], ["a3"], ["b3"], ["check_op4"], ["a4"], ["b4"], ["check_op5"], ["a5"], ["b5"], ["check_op6"], ["a6"], ["b6"], ["check_op7"], ["a7"], ["b7"], ["discr_cst"], ["discr_non_cst"], ["signe"], ["rad_automatique"], ["rad_manuel"], ["methode"], ["ord1"], ["ord2"], ["ord3"], ["degre"], ["nnode"], ["txt_pas"], ["CI"], ["dCI"], ["CLa"], ["CLa_exp"], ["CLb"], ["CLb_exp"], ["points"]), new ScilabString([""]), new ScilabString([""]), new ScilabString([""]), new ScilabString(["0"]), new ScilabString([""]), new ScilabString(["IN_EDP1(t)"]), new ScilabString(["0"]), new ScilabString([""]), new ScilabString(["IN_EDP2(t)"]), new ScilabString(["0"]), new ScilabString([""]), new ScilabString(["IN_EDP3(t)"]), new ScilabString(["0"]), new ScilabString([""]), new ScilabString(["IN_EDP4(t)"]), new ScilabString(["0"]), new ScilabString([""]), new ScilabString(["IN_EDP5(t)"]), new ScilabString(["0"]), new ScilabString([""]), new ScilabString(["IN_EDP6(t)"]), new ScilabString(["0"]), new ScilabString([""]), new ScilabString(["IN_EDP7(t)"]), new ScilabString(["0"]), new ScilabString(["0"]), new ScilabString(["0"]), new ScilabString(["0"]), new ScilabString(["0"]), new ScilabString(["0"]), new ScilabString([""]), new ScilabString([""]), new ScilabString([""]), new ScilabString([""]), new ScilabString([""]), new ScilabString([""]), new ScilabString([""]), new ScilabString([""]), new ScilabString(["0"]), new ScilabString(["IN_CL1(t)"]), new ScilabString(["0"]), new ScilabString(["IN_CL2(t)"]), new ScilabString([""])); + + var model = scicos_model(); + model.state = new ScilabDouble(...zeros(10, 1)); + model.sim = list(new ScilabString(["PDE"]), new ScilabDouble([0])); + model.in = new ScilabDouble([1], [1], [1], [1], [1]); + model.out = new ScilabDouble([10], [0]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([false, true]); + + var label = list(this.params_pde, new ScilabDouble(), new ScilabString([""])); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"PDE\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([3, 3]), model, label, gr_i); + return new BasicBlock(this.x); + } + PDE.prototype.details = function PDE() { + return this.x; + } +} + diff --git a/data_structures_correct/PID.js b/data_structures_correct/PID.js new file mode 100644 index 0000000..894446b --- /dev/null +++ b/data_structures_correct/PID.js @@ -0,0 +1,626 @@ +function PID() { + + PID.prototype.define = function PID() { + var scs_m = scicos_diagram({ + version: new ScilabString(["scicos4.2"]), + props: scicos_params({ + wpar: new ScilabDouble([600, 450, 0, 0, 600, 450]), + Title: new ScilabString(["PID"]), + tol: new ScilabDouble([0.0001], [0.000001], [1.000E-10], [100001], [0], [0], [0]), + tf: new ScilabDouble([100000]), + context: new ScilabString([" "]), + void1: new ScilabDouble(), + options: tlist(["scsopt", "3D", "Background", "Link", "ID", "Cmap"], new ScilabString(["scsopt", "3D", "Background", "Link", "ID", "Cmap"]), list(new ScilabBoolean([true]), new ScilabDouble([33])), new ScilabDouble([8, 1]), new ScilabDouble([1, 5]), list(new ScilabDouble([5, 1]), new ScilabDouble([4, 1])), new ScilabDouble([0.8, 0.8, 0.8])), + void2: new ScilabDouble(), + void3: new ScilabDouble(), + doc: list() + }) + }); + scs_m.objs.push(scicos_block({ + gui: new ScilabString(["INTEGRAL_m"]), + graphics: scicos_graphics({ + orig: new ScilabDouble([318.304, 183.11733]), + sz: new ScilabDouble([40, 40]), + flip: new ScilabBoolean([true]), + theta: new ScilabDouble([0]), + exprs: new ScilabString(["0"], ["0"], ["0"], ["1"], ["-1"]), + pin: new ScilabDouble([7]), + pout: new ScilabDouble([9]), + pein: new ScilabDouble(), + peout: new ScilabDouble(), + gr_i: list(new ScilabString(["xstringb(orig(1),orig(2),"INTEGRAL_m",sz(1),sz(2));"]), new ScilabDouble([8])), + id: new ScilabString(["1/s"]), + in_implicit: new ScilabString(["E"]), + out_implicit: new ScilabString(["E"]), + in_style: new ScilabString(["ExplicitInputPort;align=left;verticalAlign=middle;spacing=10.0;rotation=0"]), + out_style: new ScilabString(["ExplicitOutputPort;align=right;verticalAlign=middle;spacing=10.0;rotation=0"]), + in_label: new ScilabString([""]), + out_label: new ScilabString([""]), + style: new ScilabString(["INTEGRAL_m"]) + }), + model: scicos_model({ + sim: list(new ScilabString(["integral_func"]), new ScilabDouble([4])), + in: new ScilabDouble([1]), + in2: new ScilabDouble([1]), + intyp: new ScilabDouble([1]), + out: new ScilabDouble([1]), + out2: new ScilabDouble([1]), + outtyp: new ScilabDouble([1]), + evtin: new ScilabDouble(), + evtout: new ScilabDouble(), + state: new ScilabDouble([0]), + dstate: new ScilabDouble(), + odstate: list(), + rpar: new ScilabDouble(), + ipar: new ScilabDouble(), + opar: list(), + blocktype: new ScilabString(["c"]), + firing: new ScilabDouble(), + dep_ut: new ScilabBoolean([false, true]), + label: new ScilabString(["1/s"]), + nzcross: new ScilabDouble([0]), + nmode: new ScilabDouble([0]), + equations: list(), + uid: new ScilabString([count]) + }), + doc: list(new ScilabString([count++])) + })); + scs_m.objs.push(scicos_block({ + gui: new ScilabString(["SUMMATION"]), + graphics: scicos_graphics({ + orig: new ScilabDouble([387.97067, 172.85067]), + sz: new ScilabDouble([40, 60]), + flip: new ScilabBoolean([true]), + theta: new ScilabDouble([0]), + exprs: new ScilabString(["1"], ["[1;1;1]"]), + pin: new ScilabDouble([10], [9], [11]), + pout: new ScilabDouble([19]), + pein: new ScilabDouble(), + peout: new ScilabDouble(), + gr_i: list(new ScilabString(["xstringb(orig(1),orig(2),"SUMMATION",sz(1),sz(2));"]), new ScilabDouble([8])), + id: new ScilabString([""]), + in_implicit: new ScilabString(["E"], ["E"], ["E"]), + out_implicit: new ScilabString(["E"]), + in_style: new ScilabString(["ExplicitInputPort;align=left;verticalAlign=middle;spacing=10.0;rotation=0"], ["ExplicitInputPort;align=left;verticalAlign=middle;spacing=10.0;rotation=0"], ["ExplicitInputPort;align=left;verticalAlign=middle;spacing=10.0;rotation=0"]), + out_style: new ScilabString(["ExplicitOutputPort;align=right;verticalAlign=middle;spacing=10.0;rotation=0"]), + in_label: new ScilabString([""], [""], [""]), + out_label: new ScilabString([""]), + style: new ScilabString(["SUMMATION"]) + }), + model: scicos_model({ + sim: list(new ScilabString(["summation"]), new ScilabDouble([4])), + in: new ScilabDouble([-1], [-1], [-1]), + in2: new ScilabDouble([-2], [-2], [-2]), + intyp: new ScilabDouble([1], [1], [1]), + out: new ScilabDouble([-1]), + out2: new ScilabDouble([-2]), + outtyp: new ScilabDouble([1]), + evtin: new ScilabDouble(), + evtout: new ScilabDouble(), + state: new ScilabDouble(), + dstate: new ScilabDouble(), + odstate: list(), + rpar: new ScilabDouble(), + ipar: new ScilabDouble([1], [1], [1]), + opar: list(), + blocktype: new ScilabString(["c"]), + firing: new ScilabDouble(), + dep_ut: new ScilabBoolean([true, false]), + label: new ScilabString([""]), + nzcross: new ScilabDouble([0]), + nmode: new ScilabDouble([0]), + equations: list(), + uid: new ScilabString([count]) + }), + doc: list(new ScilabString([count++])) + })); + scs_m.objs.push(scicos_block({ + gui: new ScilabString(["GAINBLK"]), + graphics: scicos_graphics({ + orig: new ScilabDouble([321.23733, 235.91733]), + sz: new ScilabDouble([40, 40]), + flip: new ScilabBoolean([true]), + theta: new ScilabDouble([0]), + exprs: new ScilabString(["1"]), + pin: new ScilabDouble([17]), + pout: new ScilabDouble([10]), + pein: new ScilabDouble(), + peout: new ScilabDouble(), + gr_i: list(new ScilabString(["xstringb(orig(1),orig(2),"GAINBLK",sz(1),sz(2));"]), new ScilabDouble([8])), + id: new ScilabString([""]), + in_implicit: new ScilabString(["E"]), + out_implicit: new ScilabString(["E"]), + in_style: new ScilabString(["ExplicitInputPort;align=left;verticalAlign=middle;spacing=10.0;rotation=0"]), + out_style: new ScilabString(["ExplicitOutputPort;align=right;verticalAlign=middle;spacing=10.0;rotation=0"]), + in_label: new ScilabString([""]), + out_label: new ScilabString([""]), + style: new ScilabString(["GAINBLK"]) + }), + model: scicos_model({ + sim: list(new ScilabString(["gainblk"]), new ScilabDouble([4])), + in: new ScilabDouble([-1]), + in2: new ScilabDouble([-2]), + intyp: new ScilabDouble([1]), + out: new ScilabDouble([-1]), + out2: new ScilabDouble([-2]), + outtyp: new ScilabDouble([1]), + evtin: new ScilabDouble(), + evtout: new ScilabDouble(), + state: new ScilabDouble(), + dstate: new ScilabDouble(), + odstate: list(), + rpar: new ScilabDouble([1]), + ipar: new ScilabDouble(), + opar: list(), + blocktype: new ScilabString(["c"]), + firing: new ScilabDouble(), + dep_ut: new ScilabBoolean([true, false]), + label: new ScilabString([""]), + nzcross: new ScilabDouble([0]), + nmode: new ScilabDouble([0]), + equations: list(), + uid: new ScilabString([count]) + }), + doc: list(new ScilabString([count++])) + })); + scs_m.objs.push(scicos_block({ + gui: new ScilabString(["DERIV"]), + graphics: scicos_graphics({ + orig: new ScilabDouble([319.03733, 135.45067]), + sz: new ScilabDouble([40, 40]), + flip: new ScilabBoolean([true]), + theta: new ScilabDouble([0]), + exprs: new ScilabDouble(), + pin: new ScilabDouble([8]), + pout: new ScilabDouble([11]), + pein: new ScilabDouble(), + peout: new ScilabDouble(), + gr_i: list(new ScilabString(["xstringb(orig(1),orig(2),"DERIV",sz(1),sz(2));"]), new ScilabDouble([8])), + id: new ScilabString(["s"]), + in_implicit: new ScilabString(["E"]), + out_implicit: new ScilabString(["E"]), + in_style: new ScilabString(["ExplicitInputPort;align=left;verticalAlign=middle;spacing=10.0;rotation=0"]), + out_style: new ScilabString(["ExplicitOutputPort;align=right;verticalAlign=middle;spacing=10.0;rotation=0"]), + in_label: new ScilabString([""]), + out_label: new ScilabString([""]), + style: new ScilabString(["DERIV"]) + }), + model: scicos_model({ + sim: list(new ScilabString(["deriv"]), new ScilabDouble([4])), + in: new ScilabDouble([-1]), + in2: new ScilabDouble([-2]), + intyp: new ScilabDouble([1]), + out: new ScilabDouble([-1]), + out2: new ScilabDouble([-2]), + outtyp: new ScilabDouble([1]), + evtin: new ScilabDouble(), + evtout: new ScilabDouble(), + state: new ScilabDouble(), + dstate: new ScilabDouble(), + odstate: list(), + rpar: new ScilabDouble(), + ipar: new ScilabDouble(), + opar: list(), + blocktype: new ScilabString(["x"]), + firing: new ScilabDouble(), + dep_ut: new ScilabBoolean([true, false]), + label: new ScilabString(["s"]), + nzcross: new ScilabDouble([0]), + nmode: new ScilabDouble([0]), + equations: list(), + uid: new ScilabString([count]) + }), + doc: list(new ScilabString([count++])) + })); + scs_m.objs.push(scicos_block({ + gui: new ScilabString(["GAINBLK"]), + graphics: scicos_graphics({ + orig: new ScilabDouble([255.23733, 183.11733]), + sz: new ScilabDouble([40, 40]), + flip: new ScilabBoolean([true]), + theta: new ScilabDouble([0]), + exprs: new ScilabString(["1"]), + pin: new ScilabDouble([13]), + pout: new ScilabDouble([7]), + pein: new ScilabDouble(), + peout: new ScilabDouble(), + gr_i: list(new ScilabString(["xstringb(orig(1),orig(2),"GAINBLK",sz(1),sz(2));"]), new ScilabDouble([8])), + id: new ScilabString([""]), + in_implicit: new ScilabString(["E"]), + out_implicit: new ScilabString(["E"]), + in_style: new ScilabString(["ExplicitInputPort;align=left;verticalAlign=middle;spacing=10.0;rotation=0"]), + out_style: new ScilabString(["ExplicitOutputPort;align=right;verticalAlign=middle;spacing=10.0;rotation=0"]), + in_label: new ScilabString([""]), + out_label: new ScilabString([""]), + style: new ScilabString(["GAINBLK"]) + }), + model: scicos_model({ + sim: list(new ScilabString(["gainblk"]), new ScilabDouble([4])), + in: new ScilabDouble([-1]), + in2: new ScilabDouble([-2]), + intyp: new ScilabDouble([1]), + out: new ScilabDouble([-1]), + out2: new ScilabDouble([-2]), + outtyp: new ScilabDouble([1]), + evtin: new ScilabDouble(), + evtout: new ScilabDouble(), + state: new ScilabDouble(), + dstate: new ScilabDouble(), + odstate: list(), + rpar: new ScilabDouble([1]), + ipar: new ScilabDouble(), + opar: list(), + blocktype: new ScilabString(["c"]), + firing: new ScilabDouble(), + dep_ut: new ScilabBoolean([true, false]), + label: new ScilabString([""]), + nzcross: new ScilabDouble([0]), + nmode: new ScilabDouble([0]), + equations: list(), + uid: new ScilabString([count]) + }), + doc: list(new ScilabString([count++])) + })); + scs_m.objs.push(scicos_block({ + gui: new ScilabString(["GAINBLK"]), + graphics: scicos_graphics({ + orig: new ScilabDouble([255.23733, 135.45067]), + sz: new ScilabDouble([40, 40]), + flip: new ScilabBoolean([true]), + theta: new ScilabDouble([0]), + exprs: new ScilabString(["1"]), + pin: new ScilabDouble([14]), + pout: new ScilabDouble([8]), + pein: new ScilabDouble(), + peout: new ScilabDouble(), + gr_i: list(new ScilabString(["xstringb(orig(1),orig(2),"GAINBLK",sz(1),sz(2));"]), new ScilabDouble([8])), + id: new ScilabString([""]), + in_implicit: new ScilabString(["E"]), + out_implicit: new ScilabString(["E"]), + in_style: new ScilabString(["ExplicitInputPort;align=left;verticalAlign=middle;spacing=10.0;rotation=0"]), + out_style: new ScilabString(["ExplicitOutputPort;align=right;verticalAlign=middle;spacing=10.0;rotation=0"]), + in_label: new ScilabString([""]), + out_label: new ScilabString([""]), + style: new ScilabString(["GAINBLK"]) + }), + model: scicos_model({ + sim: list(new ScilabString(["gainblk"]), new ScilabDouble([4])), + in: new ScilabDouble([-1]), + in2: new ScilabDouble([-2]), + intyp: new ScilabDouble([1]), + out: new ScilabDouble([-1]), + out2: new ScilabDouble([-2]), + outtyp: new ScilabDouble([1]), + evtin: new ScilabDouble(), + evtout: new ScilabDouble(), + state: new ScilabDouble(), + dstate: new ScilabDouble(), + odstate: list(), + rpar: new ScilabDouble([1]), + ipar: new ScilabDouble(), + opar: list(), + blocktype: new ScilabString(["c"]), + firing: new ScilabDouble(), + dep_ut: new ScilabBoolean([true, false]), + label: new ScilabString([""]), + nzcross: new ScilabDouble([0]), + nmode: new ScilabDouble([0]), + equations: list(), + uid: new ScilabString([count]) + }), + doc: list(new ScilabString([count++])) + })); + scs_m.objs.push(scicos_block({ + gui: new ScilabString(["SPLIT_f"]), + graphics: scicos_graphics({ + orig: new ScilabDouble([234.704, 203.11733]), + sz: new ScilabDouble([0.3333333, 0.3333333]), + flip: new ScilabBoolean([true]), + theta: new ScilabDouble([0]), + exprs: new ScilabDouble(), + pin: new ScilabDouble([16]), + pout: new ScilabDouble([16], [17], [0]), + pein: new ScilabDouble(), + peout: new ScilabDouble(), + gr_i: list(new ScilabString(["xstringb(orig(1),orig(2),"SPLIT_f",sz(1),sz(2));"]), new ScilabDouble([8])), + id: new ScilabString([""]), + in_implicit: new ScilabString(["E"]), + out_implicit: new ScilabString(["E"], ["E"], ["E"]), + in_style: new ScilabString(["ExplicitInputPort;align=left;verticalAlign=middle;spacing=10.0;rotation=0"]), + out_style: new ScilabString(["ExplicitOutputPort;align=right;verticalAlign=middle;spacing=10.0;rotation=0"], ["ExplicitOutputPort;align=right;verticalAlign=middle;spacing=10.0;rotation=0"], ["ExplicitOutputPort;align=right;verticalAlign=middle;spacing=10.0;rotation=0"]), + in_label: new ScilabString([""]), + out_label: new ScilabString([""], [""], [""]), + style: new ScilabString(["SPLIT_f"]) + }), + model: scicos_model({ + sim: new ScilabString(["lsplit"]), + in: new ScilabDouble([-1]), + in2: new ScilabDouble([1]), + intyp: new ScilabDouble([1]), + out: new ScilabDouble([-1], [-1], [-1]), + out2: new ScilabDouble([1], [1], [1]), + outtyp: new ScilabDouble([1], [1], [1]), + evtin: new ScilabDouble(), + evtout: new ScilabDouble(), + state: new ScilabDouble(), + dstate: new ScilabDouble(), + odstate: list(), + rpar: new ScilabDouble(), + ipar: new ScilabDouble(), + opar: list(), + blocktype: new ScilabString(["c"]), + firing: new ScilabDouble(), + dep_ut: new ScilabBoolean([true, false]), + label: new ScilabString([""]), + nzcross: new ScilabDouble([0]), + nmode: new ScilabDouble([0]), + equations: list(), + uid: new ScilabString([count]) + }), + doc: list(new ScilabString([count++])) + })); + scs_m.objs.push(scicos_block({ + gui: new ScilabString(["SPLIT_f"]), + graphics: scicos_graphics({ + orig: new ScilabDouble([233.97067, 203.11733]), + sz: new ScilabDouble([0.3333333, 0.3333333]), + flip: new ScilabBoolean([true]), + theta: new ScilabDouble([0]), + exprs: new ScilabDouble(), + pin: new ScilabDouble([21]), + pout: new ScilabDouble([18], [19], [0]), + pein: new ScilabDouble(), + peout: new ScilabDouble(), + gr_i: list(new ScilabString(["xstringb(orig(1),orig(2),"SPLIT_f",sz(1),sz(2));"]), new ScilabDouble([8])), + id: new ScilabString([""]), + in_implicit: new ScilabString(["E"]), + out_implicit: new ScilabString(["E"], ["E"], ["E"]), + in_style: new ScilabString(["ExplicitInputPort;align=left;verticalAlign=middle;spacing=10.0;rotation=0"]), + out_style: new ScilabString(["ExplicitOutputPort;align=right;verticalAlign=middle;spacing=10.0;rotation=0"], ["ExplicitOutputPort;align=right;verticalAlign=middle;spacing=10.0;rotation=0"], ["ExplicitOutputPort;align=right;verticalAlign=middle;spacing=10.0;rotation=0"]), + in_label: new ScilabString([""]), + out_label: new ScilabString([""], [""], [""]), + style: new ScilabString(["SPLIT_f"]) + }), + model: scicos_model({ + sim: new ScilabString(["lsplit"]), + in: new ScilabDouble([-1]), + in2: new ScilabDouble([1]), + intyp: new ScilabDouble([1]), + out: new ScilabDouble([-1], [-1], [-1]), + out2: new ScilabDouble([1], [1], [1]), + outtyp: new ScilabDouble([1], [1], [1]), + evtin: new ScilabDouble(), + evtout: new ScilabDouble(), + state: new ScilabDouble(), + dstate: new ScilabDouble(), + odstate: list(), + rpar: new ScilabDouble(), + ipar: new ScilabDouble(), + opar: list(), + blocktype: new ScilabString(["c"]), + firing: new ScilabDouble(), + dep_ut: new ScilabBoolean([true, false]), + label: new ScilabString([""]), + nzcross: new ScilabDouble([0]), + nmode: new ScilabDouble([0]), + equations: list(), + uid: new ScilabString([count]) + }), + doc: list(new ScilabString([count++])) + })); + scs_m.objs.push(scicos_block({ + gui: new ScilabString(["OUT_f"]), + graphics: scicos_graphics({ + orig: new ScilabDouble([456.5421, 192.85067]), + sz: new ScilabDouble([20, 20]), + flip: new ScilabBoolean([true]), + theta: new ScilabDouble([0]), + exprs: new ScilabString(["1"]), + pin: new ScilabDouble([19]), + pout: new ScilabDouble(), + pein: new ScilabDouble(), + peout: new ScilabDouble(), + gr_i: list(new ScilabString(["xstringb(orig(1),orig(2),"OUT_f",sz(1),sz(2));"]), new ScilabDouble([8])), + id: new ScilabString([""]), + in_implicit: new ScilabString(["E"]), + out_implicit: new ScilabDouble(), + in_style: new ScilabString(["ExplicitInputPort;align=left;verticalAlign=middle;spacing=10.0;rotation=0"]), + in_label: new ScilabString([""]), + style: new ScilabString(["OUT_f"]) + }), + model: scicos_model({ + sim: new ScilabString(["output"]), + in: new ScilabDouble([-1]), + in2: new ScilabDouble([1]), + intyp: new ScilabDouble([-1]), + out: new ScilabDouble(), + out2: new ScilabDouble(), + outtyp: new ScilabDouble(), + evtin: new ScilabDouble(), + evtout: new ScilabDouble(), + state: new ScilabDouble(), + dstate: new ScilabDouble(), + odstate: list(), + rpar: new ScilabDouble(), + ipar: new ScilabDouble([1]), + opar: list(), + blocktype: new ScilabString(["c"]), + firing: new ScilabDouble(), + dep_ut: new ScilabBoolean([false, false]), + label: new ScilabString([""]), + nzcross: new ScilabDouble([0]), + nmode: new ScilabDouble([0]), + equations: list(), + uid: new ScilabString([count]) + }), + doc: list(new ScilabString([count++])) + })); + scs_m.objs.push(scicos_block({ + gui: new ScilabString(["IN_f"]), + graphics: scicos_graphics({ + orig: new ScilabDouble([193.97067, 193.11733]), + sz: new ScilabDouble([20, 20]), + flip: new ScilabBoolean([true]), + theta: new ScilabDouble([0]), + exprs: new ScilabString(["1"]), + pin: new ScilabDouble(), + pout: new ScilabDouble([21]), + pein: new ScilabDouble(), + peout: new ScilabDouble(), + gr_i: list(new ScilabString(["xstringb(orig(1),orig(2),"IN_f",sz(1),sz(2));"]), new ScilabDouble([8])), + id: new ScilabString([""]), + in_implicit: new ScilabDouble(), + out_implicit: new ScilabString(["E"]), + out_style: new ScilabString(["ExplicitOutputPort;align=right;verticalAlign=middle;spacing=10.0;rotation=0"]), + out_label: new ScilabString([""]), + style: new ScilabString(["IN_f"]) + }), + model: scicos_model({ + sim: new ScilabString(["input"]), + in: new ScilabDouble(), + in2: new ScilabDouble(), + intyp: new ScilabDouble(), + out: new ScilabDouble([-1]), + out2: new ScilabDouble([1]), + outtyp: new ScilabDouble([-1]), + evtin: new ScilabDouble(), + evtout: new ScilabDouble(), + state: new ScilabDouble(), + dstate: new ScilabDouble(), + odstate: list(), + rpar: new ScilabDouble(), + ipar: new ScilabDouble([1]), + opar: list(), + blocktype: new ScilabString(["c"]), + firing: new ScilabDouble(), + dep_ut: new ScilabBoolean([false, false]), + label: new ScilabString([""]), + nzcross: new ScilabDouble([0]), + nmode: new ScilabDouble([0]), + equations: list(), + uid: new ScilabString([count]) + }), + doc: list(new ScilabString([count++])) + })); + + scs_m.objs.push(scicos_link({ + xx: new ScilabDouble([303.80876], [309.73257]), + yy: new ScilabDouble([203.11733], [203.11733]), + id: new ScilabString(["drawlink"]), + thick: new ScilabDouble([0, 0]), + ct: new ScilabDouble([1, 1]), + from: new ScilabDouble([5, 1, 0]), + to: new ScilabDouble([1, 1, 1]) + })); + scs_m.objs.push(scicos_link({ + xx: new ScilabDouble([303.80876], [310.4659]), + yy: new ScilabDouble([155.45067], [155.45067]), + id: new ScilabString(["drawlink"]), + thick: new ScilabDouble([0, 0]), + ct: new ScilabDouble([1, 1]), + from: new ScilabDouble([6, 1, 0]), + to: new ScilabDouble([4, 1, 1]) + })); + scs_m.objs.push(scicos_link({ + xx: new ScilabDouble([366.87543], [379.39924]), + yy: new ScilabDouble([203.11733], [202.85067]), + id: new ScilabString(["drawlink"]), + thick: new ScilabDouble([0, 0]), + ct: new ScilabDouble([1, 1]), + from: new ScilabDouble([1, 1, 0]), + to: new ScilabDouble([2, 2, 1]) + })); + scs_m.objs.push(scicos_link({ + xx: new ScilabDouble([369.80876], [379.39924], [379.39924]), + yy: new ScilabDouble([255.91733], [255.91733], [217.85067]), + id: new ScilabString(["drawlink"]), + thick: new ScilabDouble([0, 0]), + ct: new ScilabDouble([1, 1]), + from: new ScilabDouble([3, 1, 0]), + to: new ScilabDouble([2, 1, 1]) + })); + scs_m.objs.push(scicos_link({ + xx: new ScilabDouble([367.60876], [379.39924], [379.39924]), + yy: new ScilabDouble([155.45067], [155.45067], [187.85067]), + id: new ScilabString(["drawlink"]), + thick: new ScilabDouble([0, 0]), + ct: new ScilabDouble([1, 1]), + from: new ScilabDouble([4, 1, 0]), + to: new ScilabDouble([2, 3, 1]) + })); + scs_m.objs.push(scicos_link({ + xx: new ScilabDouble([234.704], [246.6659]), + yy: new ScilabDouble([203.11733], [203.11733]), + id: new ScilabString(["drawlink"]), + thick: new ScilabDouble([0, 0]), + ct: new ScilabDouble([1, 1]), + from: new ScilabDouble([12, 1, 0]), + to: new ScilabDouble([5, 1, 1]) + })); + scs_m.objs.push(scicos_link({ + xx: new ScilabDouble([234.704], [234.704], [246.6659]), + yy: new ScilabDouble([203.11733], [155.45067], [155.45067]), + id: new ScilabString(["drawlink"]), + thick: new ScilabDouble([0, 0]), + ct: new ScilabDouble([1, 1]), + from: new ScilabDouble([12, 2, 0]), + to: new ScilabDouble([6, 1, 1]) + })); + scs_m.objs.push(scicos_link({ + xx: new ScilabDouble([233.97067], [234.704]), + yy: new ScilabDouble([203.11733], [203.11733]), + id: new ScilabString(["drawlink"]), + thick: new ScilabDouble([0, 0]), + ct: new ScilabDouble([1, 1]), + from: new ScilabDouble([15, 1, 0]), + to: new ScilabDouble([12, 1, 1]) + })); + scs_m.objs.push(scicos_link({ + xx: new ScilabDouble([233.97067], [233.97067], [312.6659]), + yy: new ScilabDouble([203.11733], [255.91733], [255.91733]), + id: new ScilabString(["drawlink"]), + thick: new ScilabDouble([0, 0]), + ct: new ScilabDouble([1, 1]), + from: new ScilabDouble([15, 2, 0]), + to: new ScilabDouble([3, 1, 1]) + })); + scs_m.objs.push(scicos_link({ + xx: new ScilabDouble([436.5421], [456.5421]), + yy: new ScilabDouble([202.85067], [202.85067]), + id: new ScilabString(["drawlink"]), + thick: new ScilabDouble([0, 0]), + ct: new ScilabDouble([1, 1]), + from: new ScilabDouble([2, 1, 0]), + to: new ScilabDouble([18, 1, 1]) + })); + scs_m.objs.push(scicos_link({ + xx: new ScilabDouble([213.97067], [233.97067]), + yy: new ScilabDouble([203.11733], [203.11733]), + id: new ScilabString(["drawlink"]), + thick: new ScilabDouble([0, 0]), + ct: new ScilabDouble([1, 1]), + from: new ScilabDouble([20, 1, 0]), + to: new ScilabDouble([15, 1, 1]) + })); + + var model = scicos_model(); + model.sim = new ScilabString(["csuper"]); + model.in = new ScilabDouble([-1]); + model.in2 = new ScilabDouble([-2]); + model.out = new ScilabDouble([-1]); + model.out2 = new ScilabDouble([-2]); + model.intyp = new ScilabDouble([1]); + model.outtyp = new ScilabDouble([1]); + model.blocktype = new ScilabString(["h"]); + model.firing = new ScilabBoolean([false]); + model.dep_ut = new ScilabBoolean([false, false]); + model.rpar = scs_m; + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"PID\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, new ScilabDouble(), gr_i); + return new BasicBlock(this.x); + } + PID.prototype.details = function PID() { + return this.x; + } +} diff --git a/data_structures_correct/PNP.js b/data_structures_correct/PNP.js new file mode 100644 index 0000000..cb5843a --- /dev/null +++ b/data_structures_correct/PNP.js @@ -0,0 +1,63 @@ +function PNP() { + + PNP.prototype.define = function PNP() { + this.ModelName = "PNP"; + this.PrametersValue = [[50],[0.1],[0],[0.02],[1.200e-10],[5.000e-09],[1.000e-12],[4.000e-13],[5.000e-13],[0.8],[0.4],[0.8],[0.333],[1.000e-15],[1.000e-15],[0.02585],[40]]; + this.ParametersName = [["Bf"],["Br"],["Is"],["Vak"],["Tauf"],["Taur"],["Ccs"],["Cje"],["Cjc"],["Phie"],["Me"],["Phic"],["Mc"],["Gbc"],["Gbe"],["Vt"],["EMinMax"]]; + + var model = scicos_model(); + this.Typein = []; + this.Typeout = []; + this.MI = []; + this.MO = []; + this.P = [[100, 90, -2, 0], [0, 50, 2, 0], [100, 10, -2, 0]]; + this.PortName = [["C"], ["B"], ["E"]]; + + for (var i = 0; i < size(this.P, "r"); i++) { + if (this.P[i][2] == 1) { + this.Typein.push(["E"]); + this.MI.push(this.PortName[i]); + } + + if (this.P[i][2] == 2) { + this.Typein.push(["I"]); + this.MI.push(this.PortName[i]); + } + if (this.P[i][2] == -1) { + this.Typeout.push(["E"]); + this.MO.push(this.PortName[i]); + } + if (this.P[i][2] == -2) { + this.Typeout.push(["I"]); + this.MO.push(this.PortName[i]); + } + } + + var mo = modelica(); + model.sim = new ScilabString([this.ModelName]); + mo.inputs = new ScilabString(...this.MI); + mo.outputs = new ScilabString(...this.MO); + model.rpar = new ScilabDouble(...this.PrametersValue); + + var arr = []; + arr.push(zeros(getData(this.ParametersName))); + mo.parameters = list(new ScilabString(...this.ParametersName), new ScilabDouble(...this.PrametersValue), new ScilabDouble(...math.transpose(arr))); + var exprs = new ScilabString(["50"], ["0.1"], ["1.e-16"], ["0.02"], ["0.12e-9"], ["5e-9"], ["1e-12"], ["0.4e-12"], ["0.5e-12"], ["0.8"], ["0.4"], ["0.8"], ["0.333"], ["1e-15"], ["1e-15"], ["0.02585"], ["40"]); + var gr_i = "xstringb(orig(1),orig(2),\"PNP\",sz(1),sz(2));" + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([false, true]); + mo.model = new ScilabString([this.ModelName]); + model.equations = mo; + model.in = new ScilabDouble(...ones(size(this.MI, "*"), 1)); + model.out = new ScilabDouble(...ones(size(this.MO, "*"), 1)); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, list(new ScilabString([gr_i]), new ScilabDouble([0]))); + this.x.graphics.in_implicit = new ScilabDouble(...this.Typein); + this.x.graphics.out_implicit = new ScilabDouble(...this.Typeout); + + return new BasicBlock(this.x); + } + + PNP.prototype.details = function PNP() { + return this.x; + } +} diff --git a/data_structures_correct/POSTONEG_f.js b/data_structures_correct/POSTONEG_f.js new file mode 100644 index 0000000..97d9aa6 --- /dev/null +++ b/data_structures_correct/POSTONEG_f.js @@ -0,0 +1,24 @@ +function POSTONEG_f() { + + POSTONEG_f.prototype.define = function POSTONEG_f() { + this.rpar = [[-1], [-1], [-1], [0]]; + + var model = scicos_model(); + model.sim = list(new ScilabString(["zcross"]), new ScilabDouble([1])); + model.nzcross = new ScilabDouble([1]); + model.in = new ScilabDouble([1]); + model.evtout = new ScilabDouble([1]); + model.rpar = new ScilabDouble([-1], [-1], [-1], [0]); + model.blocktype = new ScilabString(["z"]); + model.dep_ut = new ScilabBoolean([true, false]); + model.firing = new ScilabDouble([-1]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"POSTONEG_f\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, [], gr_i); + return new BasicBlock(this.x); + } + POSTONEG_f.prototype.details = function POSTONEG_f() { + return this.x; + } +} + diff --git a/data_structures_correct/PRODUCT.js b/data_structures_correct/PRODUCT.js new file mode 100644 index 0000000..0e9e6c8 --- /dev/null +++ b/data_structures_correct/PRODUCT.js @@ -0,0 +1,23 @@ +function PRODUCT() { + + PRODUCT.prototype.define = function PRODUCT() { + this.sgn = [[1],[-1]]; + + var model = scicos_model(); + model.sim = list(new ScilabString(["product"]), new ScilabDouble([4])); + model.in = new ScilabDouble([-1], [-1]); + model.out = new ScilabDouble([-1]); + model.ipar = new ScilabDouble(...this.sgn); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var exprs = new ScilabString([sci2exp(this.sgn)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),"PRODUCT",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 3]), model, exprs, gr_i); + return new Product(this.x); + } + PRODUCT.prototype.details = function PRODUCT() { + return this.x; + } +} diff --git a/data_structures_correct/PROD_f.js b/data_structures_correct/PROD_f.js new file mode 100644 index 0000000..d46b7d9 --- /dev/null +++ b/data_structures_correct/PROD_f.js @@ -0,0 +1,19 @@ +function PROD_f() { + + PROD_f.prototype.define = function PROD_f() { + + var model = scicos_model(); + model.sim = list(new ScilabString(["prod"]), new ScilabDouble([2])); + model.in = new ScilabDouble([-1], [-1]); + model.out = new ScilabDouble([-1]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + this.x = new standard_define(new ScilabDouble([1, 1]), model, new ScilabDouble(), new ScilabString()); + return new RoundBlock(this.x); + } + PROD_f.prototype.details = function PROD_f() { + return this.x; + } +} + diff --git a/data_structures_correct/PerteDP.js b/data_structures_correct/PerteDP.js new file mode 100644 index 0000000..e5060b1 --- /dev/null +++ b/data_structures_correct/PerteDP.js @@ -0,0 +1,41 @@ +function PerteDP() { + + PerteDP.prototype.define = function PerteDP() { + this.L = 10; + this.D = 0.2; + this.lambda = 0.03; + this.z1 = 0; + this.z2 = 0; + this.p_rho = 0; + + var model = scicos_model(); + model.in = new ScilabDouble([1]); + model.out = new ScilabDouble([1]); + model.rpar = new ScilabDouble([this.L], [this.D], [this.lambda], [this.z1], [this.z2], [this.p_rho]); + model.sim = new ScilabString(["PerteDP"]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var mo = modelica(); + mo.model = new ScilabString(["PerteDP"]); + mo.inputs = new ScilabString(["C1"]); + mo.outputs = new ScilabString(["C2"]); + mo.parameters = list(new ScilabString(["L"], ["D"], ["lambda"], ["z1"], ["z2"], ["p_rho"]), new ScilabDouble([this.L], [this.D], [this.lambda], [this.z1], [this.z2], [this.p_rho])); + model.equations = mo; + model.in = new ScilabDouble(...ones(size(getData(mo.inputs), "*"), 1)); + model.out = new ScilabDouble(...ones(size(getData(mo.outputs), "*"), 1)); + + var exprs = new ScilabString([this.L], [this.D], [this.lambda], [this.z1], [this.z2], [this.p_rho]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"PerteDP\",sz(1),sz(2));"]); + this.x = standard_define([2, 1], model, exprs, list(gr_i, 0)); + this.x.graphics.in_implicit = new ScilabString(["I"]); + this.x.graphics.out_implicit = new ScilabString(["I"]); + return new BasicBlock(this.x); + } + PerteDP.prototype.details = function PerteDP() { + return this.x; + } + +} + diff --git a/data_structures_correct/PotentialSensor.js b/data_structures_correct/PotentialSensor.js new file mode 100644 index 0000000..fb2581b --- /dev/null +++ b/data_structures_correct/PotentialSensor.js @@ -0,0 +1,31 @@ +function PotentialSensor() { + + PotentialSensor.prototype.define = function PotentialSensor() { + + var model = scicos_model(); + model.in = new ScilabDouble([1]); + model.out = new ScilabDouble([1]); + model.rpar = new ScilabDouble(); + model.sim = new ScilabString(["PotentialSensor"]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var mo = modelica(); + mo.model = new ScilabString(["PotentialSensor"]); + mo.inputs = new ScilabString(["p"]); + mo.outputs = new ScilabString(["v"]); + model.equations = mo; + + var exprs = new ScilabString([""]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"PotentialSensor\",sz(1),sz(2));"]); + this.x = standard_define([2, 2], model, exprs, list(gr_i, 0)); + this.x.graphics.in_implicit = new ScilabString(["I"]); + this.x.graphics.out_implicit = new ScilabString(["E"]); + return new BasicBlock(this.x); + } + PotentialSensor.prototype.details = function PotentialSensor() { + return this.x; + } +} + diff --git a/data_structures_correct/PuitsP.js b/data_structures_correct/PuitsP.js new file mode 100644 index 0000000..4cffe74 --- /dev/null +++ b/data_structures_correct/PuitsP.js @@ -0,0 +1,34 @@ +function PuitsP() { + + PuitsP.prototype.define = function PuitsP() { + this.P0 = 100000; + this.T0 = 290; + this.H0 = 100000; + this.option_temperature = 1; + + var model = scicos_model(); + model.rpar = new ScilabDouble([this.P0], [this.T0], [this.H0], [this.option_temperature]); + model.sim = new ScilabString(["Puits"]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var mo = modelica(); + mo.model = new ScilabString(["Puits"]); + mo.inputs = new ScilabString(["C"]); + mo.outputs = new ScilabDouble(); + mo.parameters = list(new ScilabString(["P0"], ["T0"], ["H0"], ["option_temperature"]), new ScilabDouble([this.P0], [this.T0], [this.H0], [this.option_temperature])); + model.equations = mo; + model.in = new ScilabDouble(...ones(size(getData(mo.inputs), "*"), 1)); + + var exprs = new ScilabString([this.P0], [this.T0], [this.H0], [this.option_temperature]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"PuitsP\",sz(1),sz(2));"]); + this.x = standard_define([2.5, 2], model, exprs, list(gr_i, new ScilabDouble(0))); + this.x.graphics.in_implicit = new ScilabString(["I"]); + return new BasicBlock(this.x); + } + PuitsP.prototype.details = function PuitsP() { + return this.x; + } +} + diff --git a/data_structures_correct/QUANT_f.js b/data_structures_correct/QUANT_f.js new file mode 100644 index 0000000..1934882 --- /dev/null +++ b/data_structures_correct/QUANT_f.js @@ -0,0 +1,26 @@ +function QUANT_f() { + + QUANT_f.prototype.define = function QUANT_f() { + this.pas = 0.1; + this.meth = 1; + + var model = scicos_model(); + model.sim = new ScilabString(["qzrnd"]); + model.in = new ScilabDouble([-1]); + model.out = new ScilabDouble([-1]); + model.rpar = new ScilabDouble([this.pas]); + model.ipar = new ScilabDouble([this.meth]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var exprs = new ScilabString([this.pas], [this.meth]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"QUANT_f\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + QUANT_f.prototype.details = function QUANT_f() { + return this.x; + } +} + diff --git a/data_structures_correct/RAMP.js b/data_structures_correct/RAMP.js new file mode 100644 index 0000000..947aa27 --- /dev/null +++ b/data_structures_correct/RAMP.js @@ -0,0 +1,29 @@ +function RAMP() { + + RAMP.prototype.define = function RAMP() { + this.slope = 0; + this.iout = 0; + this.stt = 0; + this.rpar = [[this.slope], [this.stt], [this.iout]]; + + var model = scicos_model(); + model.sim = list(new ScilabString(["ramp"]), new ScilabDouble([4])); + model.in = new ScilabDouble(); + model.out = new ScilabDouble([1]); + model.rpar = new ScilabDouble(...this.rpar); + model.blocktype = new ScilabString(["c"]); + model.nmode = new ScilabDouble([1]); + model.nzcross = new ScilabDouble([1]); + model.dep_ut = new ScilabBoolean([false, true]); + + var exprs = new ScilabString(...this.rpar); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"RAMP\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + RAMP.prototype.details = function RAMP() { + return this.x; + } +} + diff --git a/data_structures_correct/RAND_m.js b/data_structures_correct/RAND_m.js new file mode 100644 index 0000000..e5eff23 --- /dev/null +++ b/data_structures_correct/RAND_m.js @@ -0,0 +1,39 @@ +function RAND_m() { + + RAND_m.prototype.define = function RAND_m() { + this.a = 0; + this.b = 1; + this.dt = 0; + this.flag = 0; + this.function_name = "rndblk_m"; + this.funtyp = 4; + + var model = scicos_model(); + model.sim = list(new ScilabString([this.function_name]), new ScilabDouble([this.funtyp])); + model.in = new ScilabDouble(); + model.in2 = new ScilabDouble(); + model.intyp = new ScilabDouble(); + model.out = new ScilabDouble([1]); + model.out2 = new ScilabDouble([1]); + model.outtyp = new ScilabDouble([1]); + model.evtin = new ScilabDouble([1]); + model.evtout = new ScilabDouble(); + model.state = new ScilabDouble(); + model.dstate = new ScilabDouble([parseInt(Math.random() * 10000000)], [0 * this.a]); + model.rpar = new ScilabDouble([this.a, this.b]); + model.ipar = new ScilabDouble([this.flag]); + model.blocktype = new ScilabString(["d"]); + model.firing = new ScilabDouble(); + model.dep_ut = new ScilabBoolean([false, false]); + + var exprs = new ScilabString([sci2exp(1)], [this.flag], [sci2exp([this.a])], [sci2exp([this.b])], [sci2exp([parseInt(getData(model.dstate)[0]), parseInt(Math.random() * 10000000)])]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"RAND_m\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([3, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + RAND_m.prototype.details = function RAND_m() { + return this.x; + } +} + diff --git a/data_structures_correct/RATELIMITER.js b/data_structures_correct/RATELIMITER.js new file mode 100644 index 0000000..881b020 --- /dev/null +++ b/data_structures_correct/RATELIMITER.js @@ -0,0 +1,26 @@ +function RATELIMITER() { + + RATELIMITER.prototype.define = function RATELIMITER() { + this.minp = -1; + this.maxp = 1; + this.rpar = [[this.maxp], [this.minp]]; + + var model = scicos_model(); + model.sim = list(new ScilabString(["ratelimiter"]), new ScilabDouble([4])); + model.in = new ScilabDouble([1]); + model.out = new ScilabDouble([1]); + model.rpar = new ScilabDouble(...this.rpar); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var exprs = new ScilabString([this.maxp], [this.minp]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"RATELIMITER\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([3.5, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + RATELIMITER.prototype.details = function RATELIMITER() { + return this.x; + } +} + diff --git a/data_structures_correct/READAU_f.js b/data_structures_correct/READAU_f.js new file mode 100644 index 0000000..38f3d96 --- /dev/null +++ b/data_structures_correct/READAU_f.js @@ -0,0 +1,33 @@ +function READAU_f() { + + READAU_f.prototype.define = function READAU_f() { + this.frmt = "uc "; + this.fname = "test.au"; + this.lunit = 0; + this.N = 20; + this.M = 1; + this.tmask = []; + this.swap = 0; + this.offset = 1; + this.outmask = 1; + this.ievt = 0; + this.nout = size(this.outmask, "*"); + var model = scicos_model(); + model.sim = list(new ScilabString(["readau"]), new ScilabDouble([2])); + model.out = new ScilabDouble([this.nout]); + model.evtin = new ScilabDouble([1]); + model.dstate = new ScilabDouble([1], [1], [this.lunit], ...zeros(this.N * this.M, 1)); + model.ipar = new ScilabDouble([this.fname.length], ..._str2code(this.frmt), [this.ievt], [this.N], [this.M], [this.swap], [this.offset], ..._str2code(this.fname), [this.outmask]); + model.blocktype = new ScilabString(["d"]); + model.dep_ut = new ScilabBoolean([false, false]); + + var exprs = new ScilabString([this.fname], [this.N], [this.swap]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"READAU_f\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([5, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + READAU_f.prototype.details = function READAU_f() { + return this.x; + } +} diff --git a/data_structures_correct/READC_f.js b/data_structures_correct/READC_f.js new file mode 100644 index 0000000..a851fbb --- /dev/null +++ b/data_structures_correct/READC_f.js @@ -0,0 +1,39 @@ +function READC_f() { + + READC_f.prototype.define = function READC_f() { + this.frmt = "d "; + this.fname = "foo"; + this.lunit = 0; + this.N = 20; + this.M = 1; + this.rpar = []; + this.tmask = 0; + this.swap = 0; + this.offset = 1; + this.outmask = 1; + this.ievt = 0; + this.nout = size(this.outmask, "*"); + + var ipar = new ScilabDouble([this.fname.length], ..._str2code(this.frmt), [this.ievt], [this.N], [this.M], [this.swap], [this.offset], ..._str2code(this.fname), [this.tmask], [this.outmask]); + + var model = scicos_model(); + model.sim = list(new ScilabString(["readc"]), new ScilabDouble([2])); + model.out = new ScilabDouble([this.nout]); + model.evtin = new ScilabDouble([1]); + model.evtout = new ScilabDouble(); + model.dstate = new ScilabDouble([1], [1], [this.lunit], ...zeros(this.N * this.M, 1)); + model.ipar = ipar; + model.blocktype = new ScilabString(["d"]); + model.firing = new ScilabDouble([-1]); + model.dep_ut = new ScilabBoolean([false, false]); + + var exprs = new ScilabString(["[]"], [this.outmask], [this.fname], [this.frmt], [this.M], [this.N], [this.offset], [this.swap]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"READC_f\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([4, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + READC_f.prototype.details = function READC_f() { + return this.x; + } +} diff --git a/data_structures_correct/REGISTER_f.js b/data_structures_correct/REGISTER_f.js new file mode 100644 index 0000000..bf4c28e --- /dev/null +++ b/data_structures_correct/REGISTER_f.js @@ -0,0 +1,28 @@ +function REGISTER_f () { + + REGISTER_f.prototype.internal = function REGISTER_f() { + this.z0 = zeros(10,1); + + var model = scicos_model(); + model.sim = new ScilabString(["delay"]); + model.in = new ScilabDouble([1]); + model.out = new ScilabDouble([1]); + model.evtin = new ScilabDouble([1]); + model.dstate= new ScilabDouble(...this.z0); + model.blocktype = new ScilabString(["d"]); + model.dep_ut = new ScilabBoolean([false,false]); + + var exprs = new ScilabString([this.z0.toString().replace(/,/g, ";")]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"REGISTER_f\",sz(1),sz(2));"]); + var block=new standard_define(new ScilabDouble([2.5,2.5]),model,exprs,gr_i); + block.graphics.style = new ScilabString(["REGISTER_f"]); + block.graphics.in_implicit = new ScilabString(["E"]); // changed + block.graphics.out_implicit = new ScilabString(["E"]); + block.graphics.in_style = new ScilabString(["ExplicitInputPort;align=left;verticalAlign=middle;spacing=10.0;rotation=0"]); + block.graphics.out_style = new ScilabString(["ExplicitOutputPort;align=right;verticalAlign=middle;spacing=10.0;rotation=0"]); + block.graphics.in_label = new ScilabString([""]); + block.graphics.out_label = new ScilabString([""]); + return block; + } +} diff --git a/data_structures_correct/RELATIONALOP.js b/data_structures_correct/RELATIONALOP.js new file mode 100644 index 0000000..100570e --- /dev/null +++ b/data_structures_correct/RELATIONALOP.js @@ -0,0 +1,26 @@ +function RELATIONALOP() { + + RELATIONALOP.prototype.define = function RELATIONALOP() { + this.ipar = 2; + this.label = "<"; + + var model = scicos_model(); + model.sim = list(new ScilabString(["relationalop"]), new ScilabDouble([4])); + model.in = new ScilabDouble([1], [1]); + model.out = new ScilabDouble([1]); + model.ipar = new ScilabDouble([this.ipar]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var exprs = new ScilabString([this.ipar], [0]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"RELATIONALOP\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, gr_i); + this.x.graphics.style = new ScilabString(["fontSize=13;fontStyle=1;displayedLabel=" + label]); + return new BasicBlock(this.x); + } + RELATIONALOP.prototype.details = function RELATIONALOP() { + return this.x; + } +} + diff --git a/data_structures_correct/RELAY_f.js b/data_structures_correct/RELAY_f.js new file mode 100644 index 0000000..5b323d5 --- /dev/null +++ b/data_structures_correct/RELAY_f.js @@ -0,0 +1,28 @@ +function RELAY_f() { + + RELAY_f.prototype.define = function RELAY_f() { + this.i0 = 0; + this.in1 = [[-1], [-1]]; + this.nin = 2; + + var model = scicos_model(); + model.sim = list(new ScilabString(["relay"]), new ScilabDouble([2])); + model.in = new ScilabDouble(...this.in1); + model.out = new ScilabDouble([-1]); + model.evtin = new ScilabDouble(...ones(this.in1)); + model.dstate = new ScilabDouble([this.i0]); + model.blocktype = new ScilabString(["c"]); + model.firing = new ScilabDouble(); + model.dep_ut = new ScilabBoolean([true, true]); + + var exprs = new ScilabString([this.nin], [this.i0 + 1]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"RELAY_f\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + RELAY_f.prototype.details = function RELAY_f() { + return this.x; + } +} + diff --git a/data_structures_correct/RFILE_f.js b/data_structures_correct/RFILE_f.js new file mode 100644 index 0000000..f0d79e7 --- /dev/null +++ b/data_structures_correct/RFILE_f.js @@ -0,0 +1,36 @@ +function RFILE_f() { + + RFILE_f.prototype.define = function RFILE_f() { + this.out = 1; + this.nout = this.out; + this.frmt = "(7(e10.3,1x))"; + this.fname = "foo"; + this.lunit = 0; + this.N = 2; + this.rpar = []; + this.tmask = 0; + this.outmask = 1; + + var ipar = new ScilabDouble([this.fname.length], [this.frmt.length], [0], [this.N], ..._str2code(this.fname), ..._str2code(this.frmt), [this.tmask], [this.outmask]); + + var dstate = new ScilabDouble([1], [1], [this.lunit], ...zeros((this.nout) * this.N, 1)); + + var model = scicos_model(); + model.sim = new ScilabString(["readf"]); + model.out = new ScilabDouble([this.nout]); + model.evtin = new ScilabDouble([1]); + model.dstate = dstate; + model.ipar = ipar; + model.blocktype = new ScilabString(["d"]); + model.dep_ut = new ScilabBoolean([false, false]); + + var exprs = new ScilabString([sci2exp([])], [sci2exp(this.outmask)], [this.fname], [this.frmt], [this.N], [this.out]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"RFILE_f\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([3, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + RFILE_f.prototype.details = function RFILE_f() { + return this.x; + } +} diff --git a/data_structures_correct/RICC.js b/data_structures_correct/RICC.js new file mode 100644 index 0000000..5664207 --- /dev/null +++ b/data_structures_correct/RICC.js @@ -0,0 +1,35 @@ +function RICC() { + + RICC.prototype.define = function RICC() { + this.function_name = "ricc_m"; + this.funtyp = 4; + + var model = scicos_model(); + model.sim = list(new ScilabString([this.function_name]), new ScilabDouble([this.funtyp])); + model.in = new ScilabDouble([-1], [-1], [-1]); + model.in2 = new ScilabDouble([-1], [-1], [-1]); + model.intyp = new ScilabDouble([1, 1, 1]); + model.out = new ScilabDouble([-1]); + model.out2 = new ScilabDouble([-1]); + model.outtyp = new ScilabDouble([1]); + model.evtin = new ScilabDouble(); + model.evtout = new ScilabDouble(); + model.state = new ScilabDouble(); + model.dstate = new ScilabDouble(); + model.rpar = new ScilabDouble(); + model.ipar = new ScilabDouble([1], [1]); + model.blocktype = new ScilabString(["c"]); + model.firing = new ScilabDouble(); + model.dep_ut = new ScilabBoolean([true, false]); + + var label = new ScilabString([sci2exp(1)], [sci2exp(1)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"RICC\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, label, gr_i); + return new BasicBlock(this.x); + } + RICC.prototype.details = function RICC() { + return this.x; + } +} + diff --git a/data_structures_correct/ROOTCOEF.js b/data_structures_correct/ROOTCOEF.js new file mode 100644 index 0000000..96e72c6 --- /dev/null +++ b/data_structures_correct/ROOTCOEF.js @@ -0,0 +1,35 @@ +function ROOTCOEF() { + + ROOTCOEF.prototype.define = function ROOTCOEF() { + this.function_name = "root_coef"; + this.funtyp = 4; + + var model = scicos_model(); + model.sim = list(new ScilabString([this.function_name]), new ScilabDouble([this.funtyp])); + model.in = new ScilabDouble([-1]); + model.in2 = new ScilabDouble([1]); + model.intyp = new ScilabDouble([1]); + model.out = new ScilabDouble([-2]); + model.out2 = new ScilabDouble([1]); + model.outtyp = new ScilabDouble([1]); + model.evtin = new ScilabDouble(); + model.evtout = new ScilabDouble(); + model.state = new ScilabDouble(); + model.dstate = new ScilabDouble(); + model.rpar = new ScilabDouble(); + model.ipar = new ScilabDouble(); + model.blocktype = new ScilabString(["c"]); + model.firing = new ScilabDouble(); + model.dep_ut = new ScilabBoolean([true, false]); + + var label = new ScilabString([sci2exp(1)], [sci2exp(1)]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"ROOTCOEF\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([3, 2]), model, label, gr_i); + return new BasicBlock(this.x); + } + ROOTCOEF.prototype.details = function ROOTCOEF() { + return this.x; + } +} + diff --git a/data_structures_correct/Resistor.js b/data_structures_correct/Resistor.js new file mode 100644 index 0000000..c8ca7f4 --- /dev/null +++ b/data_structures_correct/Resistor.js @@ -0,0 +1,33 @@ +function Resistor() { + + Resistor.prototype.define = function Resistor() { + this.R = 0.01; + + var model = scicos_model(); + model.rpar = new ScilabDouble([this.R]); + model.sim = new ScilabString(["resistor"]); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([true, false]); + + var mo = modelica(); + mo.model = new ScilabString(["Resistor"]); + mo.inputs = new ScilabString(["p"]); + mo.outputs = new ScilabString(["n"]); + mo.parameters = list(new ScilabString(["R"]), list(new ScilabDouble([this.R]))); + model.equations = mo; + model.in = new ScilabDouble(...ones(size(getData(mo.inputs), "*"), 1)); + model.out = new ScilabDouble(...ones(size(getData(mo.outputs), "*"), 1)); + + var exprs = new ScilabString([this.R]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"Resistor\",sz(1),sz(2));"]); + this.x = standard_define([2, 1], model, exprs, list(gr_i, 0)); + this.x.graphics.in_implicit = new ScilabString(["I"]); + this.x.graphics.out_implicit = new ScilabString(["I"]); + return new BasicBlock(this.x); + } + Resistor.prototype.details = function Resistor() { + return this.x; + } +} + diff --git a/data_structures_correct/combine_script.bat b/data_structures_correct/combine_script.bat new file mode 100644 index 0000000..54d2926 --- /dev/null +++ b/data_structures_correct/combine_script.bat @@ -0,0 +1 @@ +copy /b *.js ..\combined.js diff --git a/data_structures_correct/fortran_block.js b/data_structures_correct/fortran_block.js new file mode 100644 index 0000000..adfa5ef --- /dev/null +++ b/data_structures_correct/fortran_block.js @@ -0,0 +1,29 @@ +function fortran_block() { + + fortran_block.prototype.define = function fortran_block() { + var model = scicos_model(); + model.sim = list(new ScilabString([" "]), new ScilabDouble([1001])); + model.in = new ScilabDouble([1]); + model.out = new ScilabDouble([1]); + model.evtin = new ScilabDouble(); + model.evtout = new ScilabDouble(); + model.state = new ScilabDouble(); + model.dstate = new ScilabDouble(); + model.rpar = new ScilabDouble(); + model.ipar = new ScilabDouble([0]); + model.blocktype = new ScilabString(["c"]); + model.firing = new ScilabDouble(); + model.dep_ut = new ScilabBoolean([true, false]); + + this.funam = "forty"; + + var label = list(new ScilabString([sci2exp(parseInt(getData(model.in)))], [sci2exp(parseInt(getData(model.out)))], [sci2exp(getData(model.rpar))], [this.funam]), list(new ScilabDouble())); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"fortran_block\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([4, 2]), model, label, gr_i); + return new BasicBlock(this.x); + } + fortran_block.prototype.details = function fortran_block() { + return this.x; + } +} diff --git a/data_structures_correct/freq_div.js b/data_structures_correct/freq_div.js new file mode 100644 index 0000000..c8cb1cc --- /dev/null +++ b/data_structures_correct/freq_div.js @@ -0,0 +1,146 @@ +function freq_div() { + + freq_div.prototype.define = function freq_div() { + var scs_m_1 = scicos_diagram(); + scs_m_1.objs.push(new Modulo_Count().internal()); + scs_m_1.objs.push(new CLKINV_f().internal()); + scs_m_1.objs.push(new CLKOUTV_f().internal()); + scs_m_1.objs.push(new IFTHEL_f().internal()); + scs_m_1.objs.push(new CLKSPLIT_f().internal()); + scs_m_1.objs.push(scicos_link({})); + scs_m_1.objs.push(scicos_link({})); + scs_m_1.objs.push(scicos_link({})); + scs_m_1.objs.push(scicos_link({})); + scs_m_1.objs.push(scicos_link({})); + + var blk = scs_m_1.objs[0]; + var graphics = blk.graphics; + var model = blk.model; + graphics.orig = new ScilabDouble([0, -100]); + graphics.sz = new ScilabDouble([60, 40]); + graphics.exprs = new ScilabString(["0"], ["3"]); + model.dstate = new ScilabDouble([3]); + model.ipar = new ScilabDouble([3]); + graphics.pout = new ScilabDouble([7]); + graphics.pein = new ScilabDouble([10]); + graphics.out_implicit = new ScilabString(["E"]); + graphics.out_style = new ScilabString(["ExplicitOutputPort;align=right;verticalAlign=middle;spacing=10.0;rotation=0"]); + graphics.out_label = new ScilabString([""]); + model.uid = new ScilabString([count]); + blk.doc = list(new ScilabString([count++])); + blk.graphics = graphics; + blk.model = model; + scs_m_1.objs[0] = blk; + + blk = scs_m_1.objs[1]; + graphics = blk.graphics; + model = blk.model; + graphics.orig = new ScilabDouble([120, 0]); + graphics.sz = new ScilabDouble([20, 20]); + graphics.exprs = new ScilabString(["1"]); + model.ipar = new ScilabDouble([1]); + graphics.peout = new ScilabDouble([6]); + model.uid = new ScilabString([count]); + blk.doc = list(new ScilabString([count++])); + blk.graphics = graphics; + blk.model = model; + scs_m_1.objs[1] = blk; + + blk = scs_m_1.objs[2]; + graphics = blk.graphics; + model = blk.model; + graphics.orig = new ScilabDouble([130, -160]); + graphics.sz = new ScilabDouble([20, 20]); + graphics.exprs = new ScilabString(["1"]); + model.ipar = new ScilabDouble([1]); + graphics.pein = new ScilabDouble([8]); + model.uid = new ScilabString([count]); + blk.doc = list(new ScilabString([count++])); + blk.graphics = graphics; + blk.model = model; + scs_m_1.objs[2] = blk; + + blk = scs_m_1.objs[3]; + graphics = blk.graphics; + model = blk.model; + graphics.orig = new ScilabDouble([100, -100]); + graphics.sz = new ScilabDouble([60, 40]); + graphics.exprs = new ScilabString(["1"], ["0"]); + model.ipar = new ScilabDouble([1]); + graphics.pin = new ScilabDouble([7]); + graphics.pein = new ScilabDouble([9]); + graphics.peout = new ScilabDouble([0], [8]); + model.uid = new ScilabString([count]); + blk.doc = list(new ScilabString([count++])); + blk.graphics = graphics; + blk.model = model; + scs_m_1.objs[3] = blk; + + blk = scs_m_1.objs[4]; + graphics = blk.graphics; + model = blk.model; + graphics.orig = new ScilabDouble([127, -33]); + graphics.sz = new ScilabDouble([7, 7]); + graphics.pein = new ScilabDouble([6]); + graphics.peout = new ScilabDouble([9], [10]); + model.uid = new ScilabString([count]); + blk.doc = list(new ScilabString([count++])); + blk.graphics = graphics; + blk.model = model; + scs_m_1.objs[4] = blk; + + var lnk = scs_m_1.objs[5]; + lnk.xx = new ScilabDouble([170], [170.5]); + lnk.yy = new ScilabDouble([-44], [-75]); + lnk.ct = new ScilabDouble([5, -1]); + lnk.from = new ScilabDouble([2, 1, 0]); + lnk.to = new ScilabDouble([5, 1, 1]); + scs_m_1.objs[5] = lnk; + + lnk = scs_m_1.objs[6]; + lnk.xx = new ScilabDouble([104], [136]); + lnk.yy = new ScilabDouble([-100], [-100]); + lnk.from = new ScilabDouble([1, 1, 0]); + lnk.to = new ScilabDouble([4, 1, 1]); + scs_m_1.objs[6] = lnk; + + lnk = scs_m_1.objs[7]; + lnk.xx = new ScilabDouble([180], [180]); + lnk.yy = new ScilabDouble([-124], [-176]); + lnk.ct = new ScilabDouble([5, -1]); + lnk.from = new ScilabDouble([4, 2, 0]); + lnk.to = new ScilabDouble([3, 1, 1]); + scs_m_1.objs[7] = lnk; + + lnk = scs_m_1.objs[8]; + lnk.xx = new ScilabDouble([170], [170.5]); + lnk.yy = new ScilabDouble([-44], [-75]); + lnk.ct = new ScilabDouble([5, -1]); + lnk.from = new ScilabDouble([5, 1, 0]); + lnk.to = new ScilabDouble([4, 1, 1]); + scs_m_1.objs[8] = lnk; + + lnk = scs_m_1.objs[9]; + lnk.xx = new ScilabDouble([169], [170]); + lnk.yy = new ScilabDouble([-90], [-76]); + lnk.xx = new ScilabDouble([0, 30, 1]); + lnk.yy = new ScilabDouble([0, -30, 1]); + lnk.ct = new ScilabDouble([5, -1]); + lnk.from = new ScilabDouble([5, 2, 0]); + lnk.to = new ScilabDouble([1, 1, 1]); + scs_m_1.objs[9] = lnk; + + model = scicos_model(); + model.sim = new ScilabString(["csuper"]); + model.evtin = new ScilabDouble([1]); + model.evtout = new ScilabDouble([1]); + model.rpar = scs_m_1; + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),"freq_div",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([3, 2]), model, new ScilabDouble(), gr_i); + return new BasicBlock(this.x); + } + freq_div.prototype.details = function freq_div() { + return this.x; + } +} diff --git a/dependencies.js b/dependencies.js index 17c2184..c34bf4e 100644 --- a/dependencies.js +++ b/dependencies.js @@ -1,24 +1,30 @@ -var dir = ["data_structures_correct"]; -var fileextension = "."; +$.getScript('math.js'); +$.getScript('combined.js'); -var script = document.createElement("script"); - script.src = "math.js"; - document.head.appendChild(script); -$.each(dir, function(index, value) { - $.ajax({ // http://stackoverflow.com/a/18480589 - url: value, - success: function(data) { - $(data).find("a:contains(" + fileextension + ")").each(function() { - var filename = this.href.replace(window.location.host, ""); - filename = filename.replace("https://", value); - filename = filename.replace("http://", value); - var script = document.createElement("script"); - script.src = filename; - document.head.appendChild(script); - }); - } - }); +// @Adhitya: 02-07-2016: Commented Jitesh's work to call Data Structures individually, +// and combined all of them into combined.js using combine_script.bat + +/* +$.ajax({ + type: "POST", + // Invoke filenames.php + url: "filenames.php", + // Receive the resultant filenames from the php script in JSON format + dataType: "json", + // Add url for the required folder + data: { + url: "/data_structures_correct/" + }, + success: function (data) { + + // @Parameter: data will have the required filenames in the mentioned folder + // For each url, add the script to the body div element with getScript function + for (i in data) { + $.getScript(data[i]); + } + } }); +*/ function AfficheBlock() { if (arguments.length > 0) { @@ -411,6 +417,351 @@ function RoundBlock() { } } +function GroundBlock() { + + if (arguments.length > 0) { + var options = arguments[0]; + this.angle = options.angle; // Not Known + this.blockType = getData(options.model.blocktype)[0]; + var dep_ut = getData(options.model.dep_ut); + if (dep_ut[0] == "true") + this.dependsOnU = "1"; + this.id = options.id; + this.interfaceFunctionName = arguments.callee.caller.name; + this.ordering = options.ordering; + this.parent = options.parent; + if (options.model.sim instanceof Array) { + this.simulationFunctionName = getData(options.model.sim[0])[0]; + var func_type; + switch (getData(options.model.sim[1])[0].toString()) { + case "-2.0": + func_type = "ESELECT"; + break; + case "-1.0": + func_type = "IFTHENELSE"; + break; + case "1.0": + func_type = "TYPE_1"; + break; + case "2.0": + func_type = "TYPE_2"; + break; + case "3.0": + func_type = "TYPE_3"; + break; + case "4.0": + func_type = "C_OR_FORTRAN"; + break; + case "5.0": + func_type = "SCILAB"; + break; + case "99.0": + func_type = "DEBUG"; + break; + case "1001.0": + func_type = "DYNAMIC_FORTRAN_1"; + break; + case "2001.0": + func_type = "DYNAMIC_C_1"; + break; + case "2004.0": + func_type = "DYNAMIC_EXPLICIT_4"; + break; + case "10001.0": + func_type = "OLDBLOCKS"; + break; + case "10004.0": + func_type = "IMPLICIT_C_OR_FORTRAN"; + break; + case "30004.0": + func_type = "MODELICA"; + break; + } + this.simulationFunctionType = func_type; + } else { + this.simulationFunctionName = getData(options.model.sim)[0]; + this.simulationFunctionType = "DEFAULT"; + } + this.style = arguments.callee.caller.name; + this.value = options.value; // Not Known + this.exprs = options.graphics.exprs; + this.realParameters = options.model.rpar; + this.integerParameters = options.model.ipar; + this.objectsParameters = options.model.opar; + this.nbZerosCrossing = options.model.nzcross; + this.nmode = options.model.nmode; + this.oDState = list(); + this.equations = options.model.equations; // Not Known + this.blockName = "GroundBlock"; + this.blockElementName = arguments.callee.caller.name; + } +} + +function Product() { + if (arguments.length > 0) { + var options = arguments[0]; + this.angle = options.angle; // Not Known + this.blockType = getData(options.model.blocktype)[0]; + this.connectable = options.connectable; // Not Known + var dep_ut = getData(options.model.dep_ut); + if (dep_ut[0] == "true") + this.dependsOnU = "1"; + if (dep_ut[1] == "true") + this.dependsOnT = "1"; + this.id = options.id; + this.interfaceFunctionName = arguments.callee.caller.name; + this.ordering = options.ordering; + this.parent = options.parent; + if (options.model.sim instanceof Array) { + this.simulationFunctionName = getData(options.model.sim[0])[0]; + var func_type; + switch (getData(options.model.sim[1])[0].toString()) { + case "-2.0": + func_type = "ESELECT"; + break; + case "-1.0": + func_type = "IFTHENELSE"; + break; + case "1.0": + func_type = "TYPE_1"; + break; + case "2.0": + func_type = "TYPE_2"; + break; + case "3.0": + func_type = "TYPE_3"; + break; + case "4.0": + func_type = "C_OR_FORTRAN"; + break; + case "5.0": + func_type = "SCILAB"; + break; + case "99.0": + func_type = "DEBUG"; + break; + case "1001.0": + func_type = "DYNAMIC_FORTRAN_1"; + break; + case "2001.0": + func_type = "DYNAMIC_C_1"; + break; + case "2004.0": + func_type = "DYNAMIC_EXPLICIT_4"; + break; + case "10001.0": + func_type = "OLDBLOCKS"; + break; + case "10004.0": + func_type = "IMPLICIT_C_OR_FORTRAN"; + break; + case "30004.0": + func_type = "MODELICA"; + break; + } + this.simulationFunctionType = func_type; + } else { + this.simulationFunctionName = getData(options.model.sim)[0]; + this.simulationFunctionType = "DEFAULT"; + } + if(!isEmpty(options.graphics.style)) { + this.style = getData(options.graphics.style)[0]; + } + else { + this.style = arguments.callee.caller.name; + } + this.value = options.value; // Not Known + this.vertex = options.vertex; // Not Known + this.visible = options.visible; // Not Known + this.exprs = options.graphics.exprs; + this.realParameters = options.model.rpar; + this.integerParameters = options.model.ipar; + this.objectsParameters = options.model.opar; + this.nbZerosCrossing = options.model.nzcross; + this.nmode = options.model.nmode; + if(!isEmpty(options.model.state)) { + this.state = options.model.state; + } + if(!isEmpty(options.model.dstate)) { + this.dState = options.model.dstate; + } + this.oDState = options.model.odstate; + this.equations = options.model.equations; + this.blockName = "Product"; + this.blockElementName = arguments.callee.caller.name; + } +} + +function ImplicitOutBlock() { + if (arguments.length > 0) { + var options = arguments[0]; + this.angle = options.angle; // Not Known + this.blockType = getData(options.model.blocktype)[0]; + this.connectable = options.connectable; // Not Known + var dep_ut = getData(options.model.dep_ut); + if (dep_ut[0] == "true") + this.dependsOnU = "1"; + if (dep_ut[1] == "true") + this.dependsOnT = "1"; + this.id = options.id; + this.interfaceFunctionName = arguments.callee.caller.name; + this.ordering = options.ordering; + this.parent = options.parent; + if (options.model.sim instanceof Array) { + this.simulationFunctionName = getData(options.model.sim[0])[0]; + var func_type; + switch (getData(options.model.sim[1])[0].toString()) { + case "-2.0": + func_type = "ESELECT"; + break; + case "-1.0": + func_type = "IFTHENELSE"; + break; + case "1.0": + func_type = "TYPE_1"; + break; + case "2.0": + func_type = "TYPE_2"; + break; + case "3.0": + func_type = "TYPE_3"; + break; + case "4.0": + func_type = "C_OR_FORTRAN"; + break; + case "5.0": + func_type = "SCILAB"; + break; + case "99.0": + func_type = "DEBUG"; + break; + case "1001.0": + func_type = "DYNAMIC_FORTRAN_1"; + break; + case "2001.0": + func_type = "DYNAMIC_C_1"; + break; + case "2004.0": + func_type = "DYNAMIC_EXPLICIT_4"; + break; + case "10001.0": + func_type = "OLDBLOCKS"; + break; + case "10004.0": + func_type = "IMPLICIT_C_OR_FORTRAN"; + break; + case "30004.0": + func_type = "MODELICA"; + break; + } + this.simulationFunctionType = func_type; + } else { + this.simulationFunctionName = getData(options.model.sim)[0]; + this.simulationFunctionType = "DEFAULT"; + } + this.value = options.value; // Not Known + this.vertex = options.vertex; // Not Known + this.visible = options.visible; // Not Known + this.exprs = options.graphics.exprs; + this.integerParameters = options.model.ipar; + this.objectsParameters = options.model.opar; + if(!isEmpty(options.model.state)) { + this.state = options.model.state; + } + if(!isEmpty(options.model.dstate)) { + this.dState = options.model.dstate; + } + this.equations = options.model.equations; + this.blockName = "ImplicitOutBlock"; + this.blockElementName = arguments.callee.caller.name; + } +} + +function ImplicitInBlock() { + if (arguments.length > 0) { + var options = arguments[0]; + this.angle = options.angle; // Not Known + this.blockType = getData(options.model.blocktype)[0]; + this.connectable = options.connectable; // Not Known + var dep_ut = getData(options.model.dep_ut); + if (dep_ut[0] == "true") + this.dependsOnU = "1"; + if (dep_ut[1] == "true") + this.dependsOnT = "1"; + this.id = options.id; + this.interfaceFunctionName = arguments.callee.caller.name; + this.ordering = options.ordering; + this.parent = options.parent; + if (options.model.sim instanceof Array) { + this.simulationFunctionName = getData(options.model.sim[0])[0]; + var func_type; + switch (getData(options.model.sim[1])[0].toString()) { + case "-2.0": + func_type = "ESELECT"; + break; + case "-1.0": + func_type = "IFTHENELSE"; + break; + case "1.0": + func_type = "TYPE_1"; + break; + case "2.0": + func_type = "TYPE_2"; + break; + case "3.0": + func_type = "TYPE_3"; + break; + case "4.0": + func_type = "C_OR_FORTRAN"; + break; + case "5.0": + func_type = "SCILAB"; + break; + case "99.0": + func_type = "DEBUG"; + break; + case "1001.0": + func_type = "DYNAMIC_FORTRAN_1"; + break; + case "2001.0": + func_type = "DYNAMIC_C_1"; + break; + case "2004.0": + func_type = "DYNAMIC_EXPLICIT_4"; + break; + case "10001.0": + func_type = "OLDBLOCKS"; + break; + case "10004.0": + func_type = "IMPLICIT_C_OR_FORTRAN"; + break; + case "30004.0": + func_type = "MODELICA"; + break; + } + this.simulationFunctionType = func_type; + } else { + this.simulationFunctionName = getData(options.model.sim)[0]; + this.simulationFunctionType = "DEFAULT"; + } + this.value = options.value; // Not Known + this.vertex = options.vertex; // Not Known + this.visible = options.visible; // Not Known + this.exprs = options.graphics.exprs; + this.integerParameters = options.model.ipar; + this.objectsParameters = options.model.opar; + if(!isEmpty(options.model.state)) { + this.state = options.model.state; + } + if(!isEmpty(options.model.dstate)) { + this.dState = options.model.dstate; + } + this.equations = options.model.equations; + this.blockName = "ImplicitInBlock"; + this.blockElementName = arguments.callee.caller.name; + } +} + function zeros() { if (arguments.length == 0) { return [0]; @@ -476,3 +827,17 @@ function inverse() { var array = JSON.parse(str); return array; } + +function _str2code() { + var conversion = "0123456789abcdefghijklmnopqrstuvwxyz_#!$ ();:+-*/\\=.,'[]%|&<>~^"; + var conversion2 = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ00?0 00000000$000\"{}000`0@0r"; + var str = arguments[0]; + var code = []; + for (var i = 0; i < str.length; i++) { + code[i] = [conversion.indexOf(str[i])]; + if (code[i] == -1) { + code[i] = [conversion2.indexOf(str[i]) * -1]; + } + } + return code; +} diff --git a/filenames.php b/filenames.php new file mode 100644 index 0000000..81ca89f --- /dev/null +++ b/filenames.php @@ -0,0 +1,27 @@ +<?php + +/* + * @jiteshjha + * filenames.php returns the names of all the files in a given folder + */ + +// Store the filenames +$filenameArray = []; + +// Get the folder to be operated +$url = $_POST['url']; + +// Reference: http://php.net/manual/en/function.opendir.php +// Open the file directory and get the filehandle +$handle = opendir(dirname(realpath(__FILE__)).$url); + +// For each file in the folder, push the filename to filenameArray +while($file = readdir($handle)){ + if($file !== '.' && $file !== '..'){ + array_push($filenameArray, "$url$file"); + } +} + +// Return the file name array in JSON format +echo json_encode($filenameArray); +?> diff --git a/finalmodsheet.xsl b/finalmodsheet.xsl index 9226a66..d7ff4f5 100644 --- a/finalmodsheet.xsl +++ b/finalmodsheet.xsl @@ -172,7 +172,7 @@ Look for TAG:Break1!!! </xsl:template> <xsl:template name="Object" match="Object"> <xsl:element name="Array"> - <xsl:if test="name(..)='BasicBlock' or name(..)='AfficheBlock' or name(..)='BigSom' or name(..)='EventInBlock' or name(..)='EventOutBlock' or name(..)='RoundBlock'"> + <xsl:if test="name(..)='BasicBlock' or name(..)='AfficheBlock' or name(..)='BigSom' or name(..)='EventInBlock' or name(..)='EventOutBlock' or name(..)='RoundBlock' or name(..)='GroundBlock' or name(..)='EventInBlock' or name(..)='EventOutBlock'"> <xsl:if test="@as"> <xsl:attribute name="as"> <xsl:value-of select="@as" /> @@ -200,7 +200,7 @@ Look for TAG:Break1!!! --> <xsl:template name="Array" match="Array"> <xsl:element name="Array"> - <xsl:if test="name(..)='BasicBlock' or @as='context' or name(..)='AfficheBlock' or name(..)='BigSom' or name(..)='EventInBlock' or name(..)='EventOutBlock' or name(..)='RoundBlock'"> + <xsl:if test="name(..)='BasicBlock' or @as='context' or name(..)='AfficheBlock' or name(..)='BigSom' or name(..)='EventInBlock' or name(..)='EventOutBlock' or name(..)='RoundBlock' or name(..)='GroundBlock' or name(..)='EventInBlock' or name(..)='EventOutBlock'"> <xsl:if test="@as"> <xsl:attribute name="as"> <xsl:value-of select="@as" /> @@ -821,7 +821,7 @@ Look for TAG:Break1!!! <xsl:apply-templates /> </xsl:element> </xsl:template> - <xsl:template name="GroudBlock" match="GroudBlock"> + <xsl:template name="GroundBlock" match="GroundBlock"> <xsl:element name="GroundBlock"> <xsl:if test="@dependsOnU"> <xsl:attribute name="dependsOnU"> @@ -1581,7 +1581,7 @@ Look for TAG:Break1!!! </xsl:template> <xsl:template name="ScilabDouble" match="ScilabDouble"> <xsl:element name="ScilabDouble"> - <xsl:if test="name(..)='BasicBlock' or name(..)='AfficheBlock' or name(..)='BigSom' or name(..)='EventInBlock' or name(..)='EventOutBlock' or name(..)='RoundBlock'"> + <xsl:if test="name(..)='BasicBlock' or name(..)='AfficheBlock' or name(..)='BigSom' or name(..)='EventInBlock' or name(..)='EventOutBlock' or name(..)='RoundBlock' or name(..)='GroundBlock' or name(..)='EventInBlock' or name(..)='EventOutBlock'"> <xsl:if test="@as"> <xsl:attribute name="as"> <xsl:value-of select="@as" /> @@ -1613,7 +1613,7 @@ Look for TAG:Break1!!! </xsl:template> <xsl:template name="ScilabString" match="ScilabString"> <xsl:element name="ScilabString"> - <xsl:if test="name(..)='BasicBlock' or name(..)='AfficheBlock' or name(..)='BigSom' or name(..)='EventInBlock' or name(..)='EventOutBlock' or name(..)='RoundBlock'"> + <xsl:if test="name(..)='BasicBlock' or name(..)='AfficheBlock' or name(..)='BigSom' or name(..)='EventInBlock' or name(..)='EventOutBlock' or name(..)='RoundBlock' or name(..)='GroundBlock' or name(..)='EventInBlock' or name(..)='EventOutBlock'"> <xsl:if test="@as"> <xsl:attribute name="as"> <xsl:value-of select="@as" /> @@ -16,6 +16,9 @@ <script type="text/javascript" src="details.js"></script> <script type="text/javascript" src="setup.js"></script> <script type="text/javascript"> + + // Stores edgeState for every recently created edge in updateFixedTerminalPoint() function + var edgeState = {}; function main(container, outline, toolbar, sidebar, status) { // Checks if the browser is supported if (!mxClient.isBrowserSupported()) { @@ -154,7 +157,7 @@ { menu.addItem('Delete', 'images/delete2.png', function() { - editor.execute('delete'); + editor.execute('deleteBlock'); }); var edgeformat = menu.addItem('Format', null, null); @@ -252,42 +255,424 @@ var config = mxUtils.load('config/keyhandler-commons.xml').getDocumentElement(); editor.configure(config); + graph.isCellSelectable = function(cell) + { + if(cell.isConnectable() == true && cell.isEdge() == false) { + return false; + } + return true; + }; + + graph.resizeCell = function(cell, bounds, recurse) { + if(cell.getStyle() == 'Split') { + return null; + } + else { + return mxGraph.prototype.resizeCell.apply(this, arguments); + } + } /* For a new edge on the graph, check if that edge satisfies one of the port constraints. + Possible edge cases with source & target : + 1) Source : Port, Target : Port + 2) Source : Edge, Target : Port + 3) Source : Port, Target : Edge + 4) Source : Edge, Target : Edge */ graph.addEdge = function(edge, parent, source, target, index) { - var edgeSource = source; + if(source.isEdge() == true && target.isEdge() == true) { + alert("Illegal connection! - Link to link connection"); + return null; + } + + // If the edge is legit, return the edge. + if(source.isEdge() == true) { + graph.getModel().beginUpdate(); + try + { + var edgeSource = source; + + // While the source of the edge is an edge, find the final port + while (edgeSource.isEdge() == true) { + edgeSource = edgeSource.source; + } + + // If the edge violates any of the port constraints, don't create the edge + if(edgeSource.value == "ExplicitOutputPort" && target.value != "ExplicitInputPort") { + alert("Explicit data output port must be connected to explicit data input port"); + return null; + } + else if(edgeSource.value == "ExplicitInputPort" && target.value != "ExplicitOutputPort") { + alert("Explicit data input port must be connected to explicit data output port"); + return null; + } + else if(edgeSource.value == "ImplicitOutputPort" && target.value != "ImplicitInputPort") { + alert("Implicit data output port must be connected to implicit data input port"); + return null; + } + else if(edgeSource.value == "ImplicitInputPort" && target.value != "ImplicitOutputPort") { + alert("Implicit data input port must be connected to implicit data output port"); + return null; + } + else if(edgeSource.value == "CommandPort" && target.value != "ControlPort") { + alert("Command port must be connected to control port"); + return null; + } + else if(edgeSource.value == "ControlPort" && target.value != "CommandPort") { + alert("Control port must be connected to command port"); + return null; + } + + // Create the splitBlock + // (x-5, y-5.5) is the offset to correct the position of split-block + var cell = graph.insertVertex(graph.getDefaultParent(), null, '', source.sourcePoint.x-5, source.sourcePoint.y-5.5, 10, 10,'Split', false); + + + + // Get the source state + var sourceState = graph.view.getState(source); + var waypoints = source.waypoints; + var waypoints1 = []; + + // Add the absolute points for source edge to waypoints variable + for(i in sourceState.absolutePoints) { + waypoints1.push(sourceState.absolutePoints[i]); + } + + // Remove source and target points + waypoints1.shift(); + waypoints1.pop(); + + // Store the waypoints to the source edge + waypoints = waypoints1; + + // Find the index in the waypoints nearest to the split-block + var seg = mxUtils.findNearestSegment(sourceState, source.sourcePoint.x, source.sourcePoint.y); + var sourceTarget = source.target; + + // Set the type of ports for split-block according to type of source edge + if (edgeSource.value == 'ExplicitOutputPort') { + createPorts(graph, cell, ['E'], [], ['E'], ['E']); + } + else if (edgeSource.value == 'ImplicitOutputPort') { + createPorts(graph, cell, ['I'], [], ['I', 'I'], []); + } + else { + createPorts(graph, cell, ['CONTROL'], [], ['COMMAND', 'COMMAND'], []); + } + + // Source edge is replaced with first edge and futureSource edges + cell.name = 'SPLIT_f'; + var firstEdge = graph.insertEdge(parent, null, '', cell.getChildAt(1), sourceTarget); + var thirdEdge = graph.insertEdge(parent, null, '', cell.getChildAt(2), target); + var futureSource = graph.insertEdge(parent, null, '', source.source, cell.getChildAt(0)); + + // Hide all the ports of a split-block + cell.getChildAt(0).setVisible(false); + cell.getChildAt(1).setVisible(false); + cell.getChildAt(2).setVisible(false); + + // Remove the current source + graph.removeCells([source], true); + + // Set the newly made futureSource as the source + source = futureSource; + + /* + * If there are any waypoints, divide them for the two newly created edges. + * The two newly created edges are inherited from the source edge + */ + if(waypoints != null) { + var waypoints1 = []; + for(var i = 0; i < seg; i++) { + waypoints1.push(waypoints[i]); + } + + var waypoints2 = []; + for(var i = seg; i < waypoints.length; i++) { + waypoints2.push(waypoints[i]); + } + + source.geometry.points = waypoints1; + firstEdge.geometry.points = waypoints2; + } - // If the source of the edge is also an edge, find the port. - while (edgeSource.isEdge() == true) { - edgeSource = edgeSource.source; + // Find the waypoints of the current edge, and set the waypoints for the new thirdEdge + var waypoints3 = edgeState.absolutePoints; + if(waypoints3 != null && waypoints3.length > 1) { + // Remove last absolute point + waypoints3.pop(); + } + + thirdEdge.geometry.points = waypoints3; + + // Connectable for the ports and the split-block should be false + cell.getChildAt(0).setConnectable(false); + cell.getChildAt(1).setConnectable(false); + cell.getChildAt(2).setConnectable(false); + cell.setConnectable(false); + + // Get the parent of the splitBlock + var parent = graph.model.getParent(cell); + + graph.model.beginUpdate(); + try { + /* + * Adds the split-block to the parent at the last index + * Enables split-block to appear over it's associated edges + */ + graph.model.add(parent, cell, graph.model.getChildCount(parent) - 1); + } + finally { + graph.model.endUpdate(); + } + + graph.refresh(); + } + finally + { + graph.getModel().endUpdate(); } - // If the edge violates any port constraints, return null. - if (!((edgeSource.getEdgeCount() == 0 && edgeSource.isVertex() && - target.getEdgeCount() == 0 && target.isVertex()) || - (edgeSource.getEdgeCount() <= 1 && source.isEdge()))) { - alert("Port is already connected, please select an please select an unconnected port or a valid link"); - } else if (edgeSource.value == "ExplicitOutputPort" && target.value != "ExplicitInputPort") { + /* + * Remove the current edge, as we have already created + * thirdEdge as it's replacement, to enable waypoints. + */ + return null; + } + + // If the edge is legit, return the edge. + if(target.isEdge() == true) { + graph.getModel().beginUpdate(); + try + { + var edgeSource = target; + + // While the source of the edge is an edge, find the final port + while (edgeSource.isEdge() == true) { + edgeSource = edgeSource.source; + } + + // If the edge violates any of the port constraints, don't create the edge + if(source.value == "ExplicitOutputPort" && edgeSource.value != "ExplicitInputPort") { alert("Explicit data output port must be connected to explicit data input port"); - } else if (edgeSource.value == "ExplicitInputPort" && target.value != "ExplicitOutputPort") { + return null; + } + else if(source.value == "ExplicitInputPort" && edgeSource.value != "ExplicitOutputPort") { alert("Explicit data input port must be connected to explicit data output port"); - } else if (edgeSource.value == "ImplicitOutputPort" && target.value != "ImplicitInputPort") { + return null; + } + else if(source.value == "ImplicitOutputPort" && edgeSource.value != "ImplicitInputPort") { alert("Implicit data output port must be connected to implicit data input port"); - } else if (edgeSource.value == "ImplicitInputPort" && target.value != "ImplicitOutputPort") { + return null; + } + else if(source.value == "ImplicitInputPort" && edgeSource.value != "ImplicitOutputPort") { alert("Implicit data input port must be connected to implicit data output port"); - } else if (edgeSource.value == "CommandPort" && target.value != "ControlPort") { + return null; + } + else if(source.value == "CommandPort" && edgeSource.value != "ControlPort") { alert("Command port must be connected to control port"); - } else if (edgeSource.value == "ControlPort" && target.value != "CommandPort") { + return null; + } + else if(source.value == "ControlPort" && edgeSource.value != "CommandPort") { alert("Control port must be connected to command port"); - } else { - // If the edge is legit, return the edge. - return mxGraph.prototype.addEdge.apply(this, arguments); + return null; + } + + // Create the splitBlock + // (x-5, y-5.5) is the offset to correct the position of split-block + var cell = graph.insertVertex(graph.getDefaultParent(), null, '', target.sourcePoint.x-5, target.sourcePoint.y-5, 10, 10,'Split', false); + + // Get the source state + var sourceState = graph.view.getState(target); + var waypoints = target.waypoints; + var waypoints1 = []; + + // Add the absolute points for source edge to waypoints variable + for(i in sourceState.absolutePoints) { + waypoints1.push(sourceState.absolutePoints[i]); + } + waypoints1.shift(); + waypoints1.pop(); + waypoints = waypoints1; + + // Find the index in the waypoints nearest to the split-block + var seg = mxUtils.findNearestSegment(sourceState, target.sourcePoint.x, target.sourcePoint.y); + var sourceTarget = target.target; + + if (edgeSource.value == 'ExplicitOutputPort') { + createPorts(graph, cell, ['E'], [], ['E'], ['E']); + + } + else if (edgeSource.value == 'ImplicitOutputPort') { + createPorts(graph, cell, ['I'], [], ['I', 'I'], []); + } + else { + createPorts(graph, cell, ['CONTROL'], [], ['COMMAND', 'COMMAND'], []); + } + + // Source edge is replaced with first edge and futureSource edges + cell.name = 'SPLIT_f'; + var firstEdge = graph.insertEdge(parent, null, '', cell.getChildAt(1), sourceTarget); + var thirdEdge = graph.insertEdge(parent, null, '', cell.getChildAt(2), source); + var futureSource = graph.insertEdge(parent, null, '', target.source, cell.getChildAt(0)); + + // Hide all the ports of a split-block + cell.getChildAt(0).setVisible(false); + cell.getChildAt(1).setVisible(false); + cell.getChildAt(2).setVisible(false); + + // Remove the current source + graph.removeCells([target], true); + target = futureSource; + + /* + * If there are any waypoints, divide them for the two newly created edges. + * The two newly created edges are inherited from the source edge + */ + if(waypoints != null) { + var waypoints1 = []; + for(var i = 0; i < seg; i++) { + waypoints1.push(waypoints[i]); + } + + var waypoints2 = []; + for(var i = seg; i < waypoints.length; i++) { + waypoints2.push(waypoints[i]); + } + + target.geometry.points = waypoints1; + firstEdge.geometry.points = waypoints2; + } + + // Find the waypoints of the current edge, and set the waypoints for the new thirdEdge + var waypoints3 = edgeState.absolutePoints; + if(waypoints3 != null && waypoints3.length > 1) { + waypoints3.pop(); + } + waypoints3.reverse(); + thirdEdge.geometry.points = waypoints3; + + // Connectable for the ports and the split-block should be false + cell.getChildAt(0).setConnectable(false); + cell.getChildAt(1).setConnectable(false); + cell.getChildAt(2).setConnectable(false); + cell.setConnectable(false); + + // Get the parent of the splitBlock + var parent = graph.model.getParent(cell); + + graph.model.beginUpdate(); + try { + /* + * Adds the split-block to the parent at the last index + * Enables split-block to appear over it's associated edges + */ + graph.model.add(parent, cell, graph.model.getChildCount(parent) - 1); + } + finally { + graph.model.endUpdate(); + } + + graph.refresh(); + } + finally + { + graph.getModel().endUpdate(); } + /* + * Remove the current edge, as we have already created + * thirdEdge as it's replacement, to enable waypoints. + */ return null; + } + + // If the newly created edge is related to a splitBlock, make the edge. + if(source.parent.name == 'SPLIT_f' || target.parent.name == 'SPLIT_f') { + return mxGraph.prototype.addEdge.apply(this, arguments); + } + + var edgeSource = source; + + // If the source of the edge is also an edge, find the port. + while (edgeSource.isEdge() == true) { + edgeSource = edgeSource.source; + } + + // For port-to-port edges with port constraint violations, don't create that edge + if(source.getEdgeCount() > 0 || target.getEdgeCount() > 0) { + alert("Port is already connected, please select an please select an unconnected port or a valid link"); + } + else if(edgeSource.value == "ExplicitOutputPort" && target.value != "ExplicitInputPort") { + alert("Explicit data output port must be connected to explicit data input port"); + } + else if(edgeSource.value == "ExplicitInputPort" && target.value != "ExplicitOutputPort") { + alert("Explicit data input port must be connected to explicit data output port"); + } + else if(edgeSource.value == "ImplicitOutputPort" && target.value != "ImplicitInputPort") { + alert("Implicit data output port must be connected to implicit data input port"); + } + else if(edgeSource.value == "ImplicitInputPort" && target.value != "ImplicitOutputPort") { + alert("Implicit data input port must be connected to implicit data output port"); + } + else if(edgeSource.value == "CommandPort" && target.value != "ControlPort") { + alert("Command port must be connected to control port"); + } + else if(edgeSource.value == "ControlPort" && target.value != "CommandPort") { + alert("Control port must be connected to command port"); + } + else { + + /* + * For reverse edges, (that is, edges from input port to outport) : + * If the source is input port, and target is an output port + * NOTE: Manipulation of source object and target object + * with respect to current edge is not possible, + * as mxGraph.prototype.addEdge(@parameters) function is + * called just before the creation of the edge. + * Hence, the following code creates a identical new edge + * to replace the current edge. + */ + + if((source.value.indexOf('Input') != -1 && target.value.indexOf('Output') != -1) + || (target.value == 'CommandPort' && source.value == 'ControlPort')) { + + // Begin graph DOM update + graph.getModel().beginUpdate(); + + try { + + // Insert new edge in place of current edge + var newEdge = graph.insertEdge(parent, null, '', target, source); + + // Get points for the current edge from the global edgeState object + var waypoints = edgeState.absolutePoints; + + // Reverse waypoint array + waypoints.reverse(); + + // Set the points for the new edge + newEdge.geometry.points = waypoints; + } + finally { + graph.getModel().endUpdate(); + } + + // Return null for the current edge, + + /* + * Return null for the current edge, + * since we have created a new edge above to replace it + */ + return null; + } + // If the edge is legit, return the edge. + return mxGraph.prototype.addEdge.apply(this, arguments); + } + return null; } // Shows a "modal" window when double clicking a vertex. @@ -412,13 +797,26 @@ // @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ // https://jgraph.github.io/mxgraph/docs/js-api/files/model/mxCell-js.html // Uncomment this block to see XML tags work - /*graph.convertValueToString = function(cell) + graph.convertValueToString = function(cell) { + if (mxUtils.isNode(cell.value)) { - return cell.getAttribute('label', ''); + var stylesheet = graph.getStylesheet(); + var style = stylesheet.styles[cell.value.getAttribute('style')]; + var displayedLabel = style['displayedLabel']; + if(displayedLabel != null) { + var displayParameter = cell.blockInstance.instance.displayParameter; + for(i in displayParameter) { + displayedLabel = displayedLabel.replace("%s", displayParameter[i].toString()); + } + return displayedLabel; + } + else { + return cell.getAttribute('label', ''); + } } - };*/ + }; var cellLabelChanged = graph.cellLabelChanged; graph.cellLabelChanged = function(cell, newValue, autoSize) { @@ -470,50 +868,137 @@ Used Preorder traversal for edges. */ editor.addAction('deleteBlock', function(editor, cell) { - var cells = []; - var selectionCells = graph.getSelectionCells(); - for (var k = 0; k < selectionCells.length; k++) { - var portCount = selectionCells[k].getChildCount(); - cells.push(selectionCells[k]); - // Finds all the port with edges of the selected cell, and calls getEdgeId() for - // each edge object of that port. - for (var i = 0; i < portCount; i++) { - var edgeCount = selectionCells[k].getChildAt(i).getEdgeCount(); - if (edgeCount != 0) { - getEdgeId(selectionCells[k].getChildAt(i)); - - for (var j = 0; j < edgeCount; j++) { - var edgeObject = selectionCells[k].getChildAt(i).getEdgeAt(j); - getEdgeId(edgeObject); - } - } + graph.getModel().beginUpdate(); + try { + + // getEdgeId(@edgeObject) finds all the associated edges and split-block, and deletes them + function getEdgeId(edgeObject) { + + var cellStack = []; + if(edgeObject != null && edgeObject.isEdge() == true) { + cellStack.push(edgeObject); + while(cellStack.length != 0) { + var tempEdgeObject = cellStack.pop(); + if (tempEdgeObject.edge == true && (cells.indexOf(tempEdgeObject) == -1)) { + cells.push(tempEdgeObject); } - } + // If the edge is associated with a split-block(source is a split-block) + if(tempEdgeObject.source.parent.name == "SPLIT_f") { + if(tempEdgeObject.source == tempEdgeObject.source.parent.getChildAt(1)) { - /* getEdgeId() find all the associated edges from an edge. - Pushes the object of that edge into an array of mxCell objects. - */ - function getEdgeId(edgeObject) { - var cellStack = []; - if (edgeObject != null && edgeObject.isEdge() == true) { - cellStack.push(edgeObject); - while (cellStack.length != 0) { - var tempEdgeObject = cellStack.pop(); - if (tempEdgeObject.edge == true && (cells.indexOf(tempEdgeObject) == -1)) { - cells.push(tempEdgeObject); + var sourceEdge = tempEdgeObject.source.parent.getChildAt(0).getEdgeAt(0); + var target = tempEdgeObject.source.parent.getChildAt(2).getEdgeAt(0).target; + + // If the state of the edge is not null + if(graph.view.getState(sourceEdge) != null) { + + // Find waypoints for the first edge related to split-block + var waypoints1 = graph.view.getState(sourceEdge).absolutePoints; + + // Find the waypoints for the second edge related to split-block + var waypoints2 = graph.view.getState(tempEdgeObject.source.parent.getChildAt(2).getEdgeAt(0)).absolutePoints; + waypoints2.shift(); + for(i in waypoints2) { + waypoints1.push(waypoints2[i]); } - for (var j = 0; j < tempEdgeObject.getEdgeCount(); j++) { - cellStack.push(tempEdgeObject.getEdgeAt(j)); + var geometry = graph.getModel().getGeometry(sourceEdge); + var cloneGeometry = geometry.clone(); + + cloneGeometry.points = waypoints1; + graph.getModel().setGeometry(sourceEdge, cloneGeometry); + graph.refresh(); + + // Shift the target for the first edge related to splitBlock + graph.getModel().setTerminal(sourceEdge, target, false); + } + cells.push(tempEdgeObject.source.parent); + } + else { + var sourceEdge = tempEdgeObject.source.parent.getChildAt(0).getEdgeAt(0); + var target = tempEdgeObject.source.parent.getChildAt(1).getEdgeAt(0).target; + + // If the state of the edge is not null + if(graph.view.getState(sourceEdge) != null) { + + // Find waypoints for the first edge related to split-block + var waypoints1 = graph.view.getState(sourceEdge).absolutePoints; + + // Find the waypoints for the second edge related to split-block + var waypoints2 = graph.view.getState(tempEdgeObject.source.parent.getChildAt(1).getEdgeAt(0)).absolutePoints; + waypoints1.pop(); + waypoints2.shift(); + for(i in waypoints2) { + waypoints1.push(waypoints2[i]); } + var geometry = graph.getModel().getGeometry(sourceEdge); + var cloneGeometry = geometry.clone(); + + cloneGeometry.points = waypoints1; + graph.getModel().setGeometry(sourceEdge, cloneGeometry); + graph.refresh(); + + // Shift the target for the first edge related to splitBlock + graph.getModel().setTerminal(sourceEdge, target, false); + } + cells.push(tempEdgeObject.source.parent); } + + } + + // If the edge is associated with a split-block(target is a split-block) + if(tempEdgeObject.target.parent.name == "SPLIT_f") { + if(cells.indexOf(tempEdgeObject.target.parent) == -1) { + cells.push(tempEdgeObject.target.parent); + } + cellStack.push(tempEdgeObject.target.parent.getChildAt(1).getEdgeAt(0)); + cellStack.push(tempEdgeObject.target.parent.getChildAt(2).getEdgeAt(0)); } + } } + } + + var cells = []; + + // Get all selected cells + var selectionCells = graph.getSelectionCells(); + + // For each cell in the selection + for (var k = 0; k < selectionCells.length; k++) { + + // If the cell is an edge, directly call getEdgeId(@parameter) for deletion + if(selectionCells[k].isEdge() == true) { + getEdgeId(selectionCells[k]); + } + + // If the cell is a vertex, select the cell + else { + var portCount = selectionCells[k].getChildCount(); + cells.push(selectionCells[k]); + for (var i = 0; i < portCount; i++) { + var edgeCount = selectionCells[k].getChildAt(i).getEdgeCount(); + if (edgeCount != 0) { + + /* + * For every edge associated with the current selected cell, + * call the getEdgeId(@parameter), parameter is an edgeObject for deletion + */ + + for (var j = 0; j < edgeCount; j++) { + var edgeObject = selectionCells[k].getChildAt(i).getEdgeAt(j); + getEdgeId(edgeObject); + } + } + } + } + } + + graph.removeCells(cells, true); + } + finally { + graph.getModel().endUpdate(); + } - // The mxCells to be deleted are first highlighted, - // and then the selection is deleted in a single go. - graph.getSelectionModel().setCells(cells); - editor.execute('delete'); }); addToolbarButton(editor, toolbar, 'toggle', 'Expand All', 'images/navigate_plus.png'); @@ -525,7 +1010,7 @@ toolbar.appendChild(spacer.cloneNode(true)); - addToolbarButton(editor, toolbar, 'delete', '', 'images/delete2.png'); + addToolbarButton(editor, toolbar, 'deleteBlock', 'Delete', 'images/delete2.png'); addToolbarButton(editor, toolbar, 'undo', '', 'images/undo.png'); addToolbarButton(editor, toolbar, 'redo', '', 'images/redo.png'); toolbar.appendChild(spacer.cloneNode(true)); @@ -540,7 +1025,7 @@ Maverick This method is used for loading the stylesheet from the file. Reference: http://www.w3schools.com/xsl/xsl_client.asp - */ + */ function loadXMLDoc(filename) { if (window.ActiveXObject) { @@ -557,92 +1042,122 @@ } - /* - Maverick - The Export buttons in toolbar call this function with varying - arguments. - The third argument is used to decide which button is being - pressed. - exportXML : 2 arguments - exportXcos: 3 arguments - */ - function displayXMLorXcos() { - var textarea = document.createElement('textarea'); - textarea.style.width = '400px'; - textarea.style.height = '400px'; - var enc = new mxCodec(mxUtils.createXmlDocument()); - /*var array=[],key; - for (key in diagRoot.model.cells) { - - if(diagRoot.model.cells[key].connectable == false) - { - array.push(diagRoot.model.cells[key].inst); - diagRoot.model.cells[key].inst=null; - } - }*/ - var node = enc.encode(diagRoot); - - var str = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" + mxUtils.getPrettyXml(node); - - textarea.value = str; - /*var j = 0; - for (key in diagRoot.model.cells) { - - if(diagRoot.model.cells[key].connectable == false) - { - diagRoot.model.cells[key].inst=array[j++]; - } - }*/ - if (arguments[2] == null) { - showModalWindow(graph, 'XML', textarea, 410, 440); - } else { - - return mxUtils.getPrettyXml(node); - } - } - - // Defines a new export action - editor.addAction('exportXML', function(editor, cell) { - //Only two parameters passed here. - displayXMLorXcos(editor, cell); - }); - - /* Maverick - Reference: http://www.w3schools.com/xsl/xsl_client.asp - */ - - editor.addAction('exportXcos', function(editor, cell) { - //Mind the 3 parameters. - var xmlFromExportXML = displayXMLorXcos(editor, cell, true); - if (xmlFromExportXML == null) alert('First create the XML file.'); - else { - - var xml = mxUtils.parseXml(xmlFromExportXML); - - var xsl = loadXMLDoc("finalmodsheet.xsl"); - - xsltProcessor = new XSLTProcessor(); - xsltProcessor.importStylesheet(xsl); - resultDocument = xsltProcessor.transformToDocument(xml); - - - var textarea = document.createElement('textarea'); - textarea.style.width = '400px'; - textarea.style.height = '400px'; - /* - Maverick - Using resultDocument.documentElement to remove an additional tag "<#document>" created by the XSLTProcessor. - */ - var str = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n" + mxUtils.getPrettyXml(resultDocument.documentElement); - - textarea.value = str.replace(/\n\n/g, "\n"); - showModalWindow(graph, 'Xcos', textarea, 410, 440); - } - }); - - addToolbarButton(editor, toolbar, 'exportXML', 'Export XML', 'images/export1.png'); - - addToolbarButton(editor, toolbar, 'exportXcos', 'Export Xcos', 'images/export1.png'); + /* + Maverick + The Export buttons in toolbar call this function with varying + arguments. + The third argument is used to deciFde which button is being + pressed. + exportXML : 2 arguments + exportXcos: 3 arguments + */ + function displayXMLorXcos() { + var textarea = document.createElement('textarea'); + textarea.style.width = '400px'; + textarea.style.height = '400px'; + + var enc = new mxCodec(mxUtils.createXmlDocument()); + var node = enc.encode(diagRoot); + + var str = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n" + mxUtils.getPrettyXml(node); + + textarea.value = str; + + if (arguments[2] == null) { + showModalWindow(graph, 'XML', textarea, 410, 440); + } else { + + return mxUtils.getPrettyXml(node); + } + } + + function getXcosDiagram(editor, cell) { + //Mind the 3 parameters. + var xmlFromExportXML = displayXMLorXcos(editor, cell, true); + if (xmlFromExportXML === null) + alert('First create the XML file.'); + else { + + var xml = mxUtils.parseXml(xmlFromExportXML); + + var xsl = loadXMLDoc("finalmodsheet.xsl"); + + xsltProcessor = new XSLTProcessor(); + xsltProcessor.importStylesheet(xsl); + resultDocument = xsltProcessor.transformToDocument(xml); + /* + Maverick + Using resultDocument.documentElement to remove an additional tag "<#document>" created by the XSLTProcessor. + */ + var str = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n" + mxUtils.getPrettyXml(resultDocument.documentElement); + + str = str.replace(/\n\n/g, "\n"); + return str; + } + } + + // Defines a new export action + editor.addAction('exportXML', function (editor, cell) { + //Only two parameters passed here. + displayXMLorXcos(editor, cell); + }); + + /* Maverick + Reference: http://www.w3schools.com/xsl/xsl_client.asp + */ + + editor.addAction('exportXcos', function (editor, cell) { + var textarea = document.createElement('textarea'); + textarea.style.width = '400px'; + textarea.style.height = '400px'; + textarea.value = getXcosDiagram(editor, cell); + showModalWindow(graph, 'Xcos', textarea, 410, 440); + }); + + addToolbarButton(editor, toolbar, 'exportXML', 'Export XML', 'images/export1.png'); + addToolbarButton(editor, toolbar, 'exportXcos', 'Export Xcos', 'images/export1.png'); + + toolbar.appendChild(spacer.cloneNode(true)); + + addToolbarButton(editor, toolbar, 'simulate', 'Simulate', 'images/ScilabExecute.png'); + + editor.addAction('simulate', function (editor, cell) { + var diagram = getXcosDiagram(editor, cell); + + var blob = new Blob([diagram], {type: 'text/plain'}); + var xhr = new XMLHttpRequest(); + xhr.open('POST','ScilabServlet', true); + xhr.onload = function() { + // Create basic structure for the form + var content = document.createElement('div'); + content.setAttribute("id", "contentProperties"); + + // Heading of content + var heading = document.createElement('h2'); + heading.innerHTML = "Set Scope Parameters"; + heading.id = "headingProperties"; + content.appendChild(heading); + + var paragraph = document.createElement("p"); + paragraph.innerHTML = xhr.responseText; + content.appendChild(paragraph); + + + //var img = document.createElement("img"); + //img.src = "data:image/;base64,"+xhr.responseText; + //content.appendChild(img); + + var wind = showModalWindow(graph, 'Properties', content, 1000, 1000); + }; + xhr.onreadystatechange = function(){ + console.log("state: " + xhr.readyState); + }; + xhr.upload.onprogress = function() { + console.log("uploading..."); + }; + xhr.setRequestHeader("Content-Type", "text/plain"); + xhr.send(blob); + }); // Adds toolbar buttons into the status bar at the bottom // of the window. @@ -759,6 +1274,9 @@ */ function styleToObject(style) { + if(style.indexOf(';') == -1) { + style = style + ';'; + } var defaultStyle = style.substring(0, style.indexOf(';')); var styleObject = { @@ -1017,7 +1535,6 @@ var details = cell.blockInstance.instance.set(propertiesObject); //window[name]("set",cell.value,propertiesObject); var enc = new mxCodec(); var node = enc.encode(details); - node.setAttribute('label', getData(details.exprs)[0]); cell.value = node; /* Maverick @@ -1166,7 +1683,7 @@ var trigger = document.getElementById(button); var styleObject = styleToObject(style); var previousValue = 1; - if ('fontStyle' in styleObjesct) { + if ('fontStyle' in styleObject) { previousValue = styleObject['fontStyle']; // To get a bit mask: @@ -1494,7 +2011,11 @@ btn.onclick = function() { var input = document.getElementById('color').value; var style = graph.getModel().getStyle(cell); - var styleObject = styleToObject(style); + + if(style != null) { + var styleObject = styleToObject(style); + } + if (selectProperty == "edgeStrokeColor") { styleObject['strokeColor'] = input; } else if (selectProperty == "bgColor") { @@ -1506,8 +2027,12 @@ } else if (selectProperty == "edgeTextColor") { styleObject['fontColor'] = input; } - style = objectToStyle(styleObject); - graph.getModel().setStyle(cell, style); + + if(style != null) { + style = objectToStyle(styleObject); + graph.getModel().setStyle(cell, style); + } + wind.destroy(); }; myform.appendChild(btn); @@ -1559,10 +2084,6 @@ } } - function getImgHTML(name) { - return '<img src="' + 'blocks/' + name + '.svg' + '" height="80" width="80">'; - } - function addToolbarButton(editor, toolbar, action, label, image, isTransparent) { var button = document.createElement('button'); button.style.fontSize = '10'; @@ -1625,12 +2146,10 @@ var doc = mxUtils.createXmlDocument(); model.beginUpdate(); try { - var label = getImgHTML(name); // Will not exist for all blocks var details_instance = new window[name](); var details = details_instance.define(); var enc = new mxCodec(mxUtils.createXmlDocument()); var node = enc.encode(details); - node.setAttribute('label', label); var temp = enc.encode(parent); node.setAttribute('parent', temp.getAttribute('id')); var i, arr = []; @@ -1673,6 +2192,7 @@ } } v1 = graph.insertVertex(parent, null, node, x, y, 80, 80, name); + // @Chhavi: Additional attribute to store the block's instance v1.blockInstance = createInstanceTag(details_instance); createPorts(graph, v1, inputPorts, controlPorts, outputPorts, commandPorts); @@ -1801,6 +2321,13 @@ var root = req.getDocumentElement(); var dec = new mxCodec(root.ownerDocument); dec.decode(root, graph.stylesheet); + + // Set the width and height of image for all blocks to 80 (height) x 80 (width) + var style = new Object(); + style[mxConstants.STYLE_IMAGE_WIDTH] = '80'; + style[mxConstants.STYLE_IMAGE_HEIGHT] = '80'; + style['imageAlign'] = 'center'; + graph.getStylesheet().putDefaultVertexStyle(style); }; </script> <!-- @@ -1809,6 +2336,9 @@ <script type="text/javascript"> // Computes the position of edge to edge connection points. mxGraphView.prototype.updateFixedTerminalPoint = function(edge, terminal, source, constraint) { + + // Store the edge state for every newly created edge in edgeState variable + edgeState = edge; var pt = null; if (constraint != null) { @@ -2006,92 +2536,122 @@ Implements a perpendicular wires connection edge style --> <script type="text/javascript"> - mxEdgeStyle.WireConnector = function(state, source, target, hints, result) { - // Creates array of all way- and terminalpoints - var pts = state.absolutePoints; - var horizontal = true; - var hint = null; - - // Gets the initial connection from the source terminal or edge - if (source != null && state.view.graph.model.isEdge(source.cell)) { + mxEdgeStyle.WireConnector = function(state, source, target, hints, result) { + state.cell.waypoints = state.cell.geometry.points; + // Creates array of all way- and terminalpoints + var pts = state.absolutePoints; + var horizontal = true; + var hint = null; + + // Gets the initial connection from the source terminal or edge + if (source != null && state.view.graph.model.isEdge(source.cell)) { horizontal = state.style['sourceConstraint'] == 'horizontal'; - } else if (source != null) { - horizontal = source.style['portConstraint'] != 'vertical'; - - // Checks the direction of the shape and rotates - var direction = source.style[mxConstants.STYLE_DIRECTION]; - - if (direction == 'north' || direction == 'south') { - horizontal = !horizontal; - } - } - - // Adds the first point - var pt = pts[0]; - - if (pt == null && source != null) { - pt = new mxPoint(state.view.getRoutingCenterX(source), state.view.getRoutingCenterY(source)); - } else if (pt != null) { - pt = pt.clone(); - } - - var first = pt; - - // Adds the waypoints - if (hints != null && hints.length > 0) { - for (var i = 0; i < hints.length; i++) { - horizontal = !horizontal; - hint = state.view.transformControlPoint(state, hints[i]); - - if (horizontal) { - if (pt.y != hint.y) { - pt.y = hint.y; - result.push(pt.clone()); - } - } else if (pt.x != hint.x) { - pt.x = hint.x; - result.push(pt.clone()); - } - } - } else { - hint = pt; - } - - // Adds the last point - pt = pts[pts.length - 1]; - - if (pt == null && target != null) { - pt = new mxPoint(state.view.getRoutingCenterX(target), state.view.getRoutingCenterY(target)); + } + // If the source terminal is a Split Block, set the horizontal false + else if(source != null && source.cell.name == 'SPLIT_f') { + if(state.cell.source != null) { + // If the port is the third child of splitBlock, only then set the horizontal as false + if(state.cell.source == state.cell.source.parent.getChildAt(2)) { + horizontal = state.style['sourceConstraint'] == 'horizontal'; + } } - - if (horizontal) { - if (pt.y != hint.y && first.x != pt.x) { - result.push(new mxPoint(pt.x, hint.y)); - } - } else if (pt.x != hint.x && first.y != pt.y) { - result.push(new mxPoint(hint.x, pt.y)); + } + else if (source != null) { + horizontal = source.style['portConstraint'] != 'vertical'; + + // Checks the direction of the shape and rotates + var direction = source.style[mxConstants.STYLE_DIRECTION]; + + if (direction == 'north' || direction == 'south') { + horizontal = !horizontal; + } + } + + // Adds the first point + var pt = pts[0]; + + /* @jiteshjha splitBlock + */ + if(state.cell.getGeometry().getTerminalPoint(true) != null) { + source.cell['sourcePoint'] = state.cell.getGeometry().getTerminalPoint(true); + } + + if (pt == null && source != null) { + pt = new mxPoint(state.view.getRoutingCenterX(source), state.view.getRoutingCenterY(source)); + } else if (pt != null) { + pt = pt.clone(); + } + + var first = pt; + if(state.cell.getGeometry().getTerminalPoint(false) != null) { + target.cell['sourcePoint'] = state.cell.getGeometry().getTerminalPoint(false); + } + + // Adds the waypoints + if (hints != null && hints.length > 0) { + + + for (var i = 0; i < hints.length; i++) { + horizontal = !horizontal; + hint = state.view.transformControlPoint(state, hints[i]); + + if (horizontal) { + if (pt.y != hint.y) { + pt.y = hint.y; + result.push(pt.clone()); + } + } else if (pt.x != hint.x) { + pt.x = hint.x; + result.push(pt.clone()); + } + } + } else { + hint = pt; + } + + // Adds the last point + pt = pts[pts.length - 1]; + if (pt == null && target != null) { + pt = new mxPoint(state.view.getRoutingCenterX(target), state.view.getRoutingCenterY(target)); + + } + + if (horizontal) { + if (pt.y != hint.y && first.x != pt.x) { + result.push(new mxPoint(pt.x, hint.y)); + } + } else if (pt.x != hint.x && first.y != pt.y) { + result.push(new mxPoint(hint.x, pt.y)); + } + + // If the target of the edge is a splitBlock, push final coordinate as vertical. + if(state.cell.target != null) { + if(state.cell.target.parent.name == "SPLIT_f") { + result.pop(); + result.push(new mxPoint(hint.x, pt.y)); } - }; + } + }; - mxStyleRegistry.putValue('wireEdgeStyle', mxEdgeStyle.WireConnector); + mxStyleRegistry.putValue('wireEdgeStyle', mxEdgeStyle.WireConnector); - // This connector needs an mxEdgeSegmentHandler - mxGraphCreateHandler = mxGraph.prototype.createHandler; - mxGraph.prototype.createHandler = function(state) { - var result = null; + // This connector needs an mxEdgeSegmentHandler + mxGraphCreateHandler = mxGraph.prototype.createHandler; + mxGraph.prototype.createHandler = function(state) { + var result = null; - if (state != null) { - if (this.model.isEdge(state.cell)) { - var style = this.view.getEdgeStyle(state); + if (state != null) { + if (this.model.isEdge(state.cell)) { + var style = this.view.getEdgeStyle(state); - if (style == mxEdgeStyle.WireConnector) { - return new mxEdgeSegmentHandler(state); - } - } - } + if (style == mxEdgeStyle.WireConnector) { + return new mxEdgeSegmentHandler(state); + } + } + } - return mxGraphCreateHandler.apply(this, arguments); - }; + return mxGraphCreateHandler.apply(this, arguments); + }; </script> </head> @@ -2142,32 +2702,40 @@ </body> <!-- It's good if this part happens after the entire page has loaded--> <script type="text/javascript"> + // Preload all images - var dir = ["blocks", "images"]; - var fileextension = "."; - var blockImages = []; - $.each(dir, function(index, value) { - $.ajax({ // http://stackoverflow.com/a/18480589 - url: value, - success: function(data) { - $(data).find("a:contains(" + fileextension + ")").each(function() { - var filename = this.href.replace(window.location.host, ""); - filename = filename.replace("https://", value); - filename = filename.replace("http://", value); - blockImages.push(filename); - }); - // Prevent multi-threading and have function within call! - function preload(sources) { - var images = []; - for (var i = 0, length = sources.length; i < length; ++i) { - images[i] = new Image(); - images[i].src = sources[i]; - } + var directory = ["/blocks/", "/images/", "/palettes/"]; + for(folder in directory) { + $.ajax({ + type: "POST", + + // Invoke filenames.php + url: "filenames.php", + + // Receive the resultant filenames from the php script in JSON format + dataType: "json", + + // Add url for the required folder + data: { + url: directory[folder] + }, + success: function (data) { + function preload(sources) { + + /* + * @Parameter: sources will have the required filenames in the mentioned folder + * For each image url, make a new image to enable preloading + */ + for (i in sources) { + var image = new Image(); + image.src = sources[i]; } - preload(blockImages); } - }); - }); + preload(data); + } + }); + } + //Find out more here: http://stackoverflow.com/questions/12843418/jquery-ui-accordion-expand-collapse-all $(window).load(function() { var headers = $('#sidebarContainer .accordion-header'); diff --git a/styles/Xcos-style.xml b/styles/Xcos-style.xml index 39bced0..b3c8583 100644 --- a/styles/Xcos-style.xml +++ b/styles/Xcos-style.xml @@ -176,6 +176,7 @@ <add as="image" value="blocks/PULSE_SC.svg"/> </add> <add as="CLOCK_c" extend="Icon"> + <add as="image" value="blocks/CLOCK_c.svg"/> </add> <add as="GENSIN_f" extend="Icon"> <add as="image" value="blocks/SINUS_f.svg"/> @@ -192,12 +193,13 @@ <add as="image" value="blocks/CLOCK_f.svg"/> </add> <add as="Modulo_Count" extend="blockWithLabel"> - <add as="displayedLabel" value="Counter<BR>Modulo %2$s"/> + <add as="displayedLabel" value="Counter<BR>Modulo %s"/> </add> <add as="Sigbuilder" extend="blockWithLabel"> <add as="displayedLabel" value="Signal<BR>Builder"/> </add> <add as="SampleCLK" extend="Icon"> + <add as="image" value="blocks/SampleCLK.svg"/> </add> <add as="TKSCALE" extend="blockWithLabel"> <add as="displayedLabel" value="TK Scale"/> @@ -211,6 +213,7 @@ <add as="displayedLabel" value="du / dt"/> </add> <add as="INTEGRAL_m" extend="Icon"> + <add as="image" value="blocks/INTEGRAL.svg"/> </add> <add as="INTEGRAL" extend="INTEGRAL_m"/> <add as="CLSS" extend="blockWithLabel"> @@ -218,7 +221,7 @@ </add> <add as="CLSS_f" extend="CLSS"/> <add as="CLR" extend="blockWithLabel"> - <add as="displayedLabel" value="$\frac{%s}{%s}$"/> + <add as="displayedLabel" value="%s<BR><HR>%s + <i>s</i>"/> </add> <add as="CLR_f" extend="CLR"/> <add as="TIME_DELAY" extend="blockWithLabel"> @@ -239,10 +242,13 @@ </add> <!-- DISCONTINUOUS --> <add as="SATURATION" extend="Icon"> + <add as="image" value="blocks/SATURATION.svg"/> </add> <add as="DEADBAND" extend="Icon"> + <add as="image" value="blocks/DEADBAND.svg"/> </add> <add as="HYSTHERESIS" extend="Icon"> + <add as="image" value="blocks/HYSTHERESIS.svg"/> </add> <add as="BACKLASH" extend="blockWithLabel"> <add as="displayedLabel" value="Backlash"/> @@ -258,6 +264,7 @@ </add> <!-- LOOKUP TABLES --> <add as="LOOKUP_f" extend="Icon"> + <add as="image" value="blocks/DSCOPE.svg"/> </add> <add as="INTRP2BLK_f" extend="blockWithLabel"> <add as="displayedLabel" value="Interp 2"/> @@ -270,6 +277,7 @@ <add as="displayedLabel" value="2freq clock<BR> f/n f"/> </add> <add as="QUANT_f" extend="Icon"> + <add as="image" value="blocks/QUANT_f.svg"/> </add> <add as="MFCLCK_f" extend="blockWithLabel"> <add as="displayedLabel" value="M. freq<BR> clock"/> @@ -302,6 +310,7 @@ <add as="displayedLabel" value="MIN"/> </add> <add as="BIGSOM_f" extend="Icon"> + <add as="image" value="blocks/SUM.svg"/> </add> <add as="POWBLK_f" extend="blockWithLabel"> <add as="displayedLabel" value="u^a"/> @@ -342,11 +351,13 @@ <add as="displayedLabel" value="LOG"/> </add> <add as="SUMMATION" extend="Icon"> + <add as="image" value="blocks/SUM.svg"/> </add> <add as="TrigFun" extend="blockWithLabel"> <add as="displayedLabel" value="Trig function"/> </add> <add as="PRODUCT" extend="Icon"> + <add as="image" value="blocks/PRODUCT.svg"/> <add as="noLabel" value="0"/> <!-- <add as="displayedLabel" value="<TABLE> <TR> @@ -407,23 +418,23 @@ </add> <!-- INTEGER --> <add as="BITCLEAR" extend="blockWithLabel"> - <add as="displayedLabel" value="Clear bit %2$s"/> + <add as="displayedLabel" value="Clear bit %s"/> </add> <add as="BITSET" extend="blockWithLabel"> - <add as="displayedLabel" value="Set bit %2$s"/> + <add as="displayedLabel" value="Set bit %s"/> </add> <add as="CONVERT" extend="blockWithLabel"> <!-- FIXME: update label from parameters --> <add as="displayedLabel" value="Convert to"/> </add> <add as="EXTRACTBITS" extend="blockWithLabel"> - <add as="displayedLabel" value="Extract Bits %2$s"/> + <add as="displayedLabel" value="Extract Bits %s"/> </add> <add as="INTMUL" extend="blockWithLabel"> <add as="displayedLabel" value="INTMUL"/> </add> <add as="SHIFT" extend="blockWithLabel"> - <add as="displayedLabel" value="Arithmetic<BR> shift %2$s"/> + <add as="displayedLabel" value="Arithmetic<BR> shift %s"/> </add> <add as="LOGIC" extend="blockWithLabel"> <add as="displayedLabel" value="LOGIC"/> @@ -509,9 +520,10 @@ <add as="image" value="blocks/ASCOPE.svg"/> </add> <add as="CSCOPXY" extend="Icon"> + <add as="image" value="blocks/CSCOPXY.svg"/> </add> <add as="TOWS_c" extend="blockWithLabel"> - <add as="displayedLabel" value="To workspace<BR>%2$s [%1$s]"/> + <add as="displayedLabel" value="To workspace<BR>%s [%s]"/> </add> <add as="CMAT3D" extend="blockWithLabel"> <add as="image" value="blocks/ASCOPE.svg"/> @@ -534,6 +546,7 @@ <add as="displayedLabel" value="Mat. View"/> </add> <add as="CMSCOPE" extend="Icon"> + <add as="image" value="blocks/ASCOPE.svg"/> </add> <add as="AFFICH_m" extend="Affiche"/> <add as="AFFICH_f" extend="Affiche"/> @@ -558,7 +571,7 @@ <add as="displayedLabel" value="N(z,p)<BR><HR>D(z,p)"/> </add> <add as="DLR" extend="blockWithLabel"> - <add as="displayedLabel" value="$\frac{%s}{%s}$"/> + <add as="displayedLabel" value="%s<BR><HR>%s + <i>z</i>"/> </add> <add as="DLR_f" extend="DLR"/> <add as="DLSS" extend="blockWithLabel"> @@ -617,6 +630,7 @@ </add> <add as="ANDBLK" extend="Icon"> + <add as="image" value="blocks/ANDBLK.svg"/> </add> <add as="HALT_f" extend="blockWithLabel"> <add as="displayedLabel" value="HALT"/> @@ -669,10 +683,16 @@ <add as="verticalAlign" value="top"/> <add as="spacing" value="2"/> <add as="noLabel" value="0"/> - <add as="displayedLabel" value="Static: %2$s"/> + <add as="displayedLabel" value="Static: %s"/> <add as="image" value="blocks/SWITCH.svg"/> </add> <add as="SWITCH2_m" extend="Icon"> + <add as="verticalLabelPosition" value="bottom"/> + <add as="verticalAlign" value="top"/> + <add as="spacing" value="2"/> + <add as="noLabel" value="0"/> + <add as="displayedLabel" value="Dynamic"/> + <add as="image" value="blocks/SWITCH.svg"/> </add> <add as="NRMSOM_f" extend="blockWithLabel"> <add as="verticalLabelPosition" value="bottom"/> @@ -732,29 +752,29 @@ <!-- USER-DEFINED FUNCTIONS --> <add as="PDE" extend="blockWithLabel"/> <add as="fortran_block" extend="blockWithLabel"> - <add as="displayedLabel" value="Fortran block:<BR>%4$s"/> + <add as="displayedLabel" value="Fortran block:<BR>%s"/> </add> <add as="DEBUG" extend="blockWithLabel"> - <add as="displayedLabel" value="Debug:<BR>%2$s"/> + <add as="displayedLabel" value="Debug:<BR>%s"/> </add> <add as="EXPRESSION" extend="blockWithLabel"> - <add as="displayedLabel" value="Expression:<BR>%2$s"/> + <add as="displayedLabel" value="Expression:<BR>%s"/> </add> <add as="scifunc_block_m" extend="blockWithLabel"> - <add as="displayedLabel" value="Function:<BR>%10$s"/> + <add as="displayedLabel" value="Function:<BR>%s"/> </add> <add as="scifunc_block" extend="scifunc_block_m"/> <add as="CBLOCK" extend="blockWithLabel"> - <add as="displayedLabel" value="C block 2:<BR>%1$s"/> + <add as="displayedLabel" value="C block 2:<BR>%s"/> </add> <add as="CBLOCK4" extend="blockWithLabel"> - <add as="displayedLabel" value="C block 4:<BR>%1$s"/> + <add as="displayedLabel" value="C block 4:<BR>%s"/> </add> <add as="generic_block3" extend="blockWithLabel"> - <add as="displayedLabel" value="native block:<BR>%1$s"/> + <add as="displayedLabel" value="native block:<BR>%s"/> </add> <add as="c_block" extend="blockWithLabel"> - <add as="displayedLabel" value="C block:<BR>%4$s"/> + <add as="displayedLabel" value="C block:<BR>%s"/> </add> <add as="SUPER_f" extend="Icon"> <add as="image" value="blocks/SUPER.svg"/> @@ -915,11 +935,13 @@ </add> <add as="DEMUX_f" extend="DEMUX"/> <add as="DEADBAND" extend="Icon"> + <add as="image" value="blocks/DEADBAND.svg"/> </add> <add as="Counter" extend="blockWithLabel"> <add as="displayedLabel" value="Counter<BR>%s &#8594; %s"/> </add> <add as="CLOCK_f" extend="Icon"> + <add as="image" value="blocks/CLOCK_c.svg"/> </add> <add as="VirtualCLK0" extend="CLOCK_f"/> <add as="CLKSPLIT_f" extend="Split"/> |