diff options
-rw-r--r-- | data_structures_correct/POWBLK_f.js | 25 | ||||
-rw-r--r-- | data_structures_correct/STEP_FUNCTION.js | 79 | ||||
-rw-r--r-- | data_structures_correct/SUMMATION.js | 25 | ||||
-rw-r--r-- | dependencies.js | 80 | ||||
-rw-r--r-- | details.js | 23 | ||||
-rw-r--r-- | finalmodsheet.xsl | 8 |
6 files changed, 236 insertions, 4 deletions
diff --git a/data_structures_correct/POWBLK_f.js b/data_structures_correct/POWBLK_f.js new file mode 100644 index 0000000..0e19fc1 --- /dev/null +++ b/data_structures_correct/POWBLK_f.js @@ -0,0 +1,25 @@ +function POWBLK_f() { + + POWBLK_f.prototype.define = function POWBLK_f() { + this.in = 1; + this.a = 1.5; + + var model = scicos_model(); + model.sim = new ScilabString(["powblk"]); + 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([this.a]); + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"POWBLK_f\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, exprs, gr_i); + return new BasicBlock(this.x); + } + + POWBLK_f.prototype.details = function POWBLK_f() { + return this.x; + } +} diff --git a/data_structures_correct/STEP_FUNCTION.js b/data_structures_correct/STEP_FUNCTION.js new file mode 100644 index 0000000..0c379ab --- /dev/null +++ b/data_structures_correct/STEP_FUNCTION.js @@ -0,0 +1,79 @@ +function STEP_FUNCTION() { + + STEP_FUNCTION.prototype.define = function STEP_FUNCTION() { + var scs_m_1 = scicos_diagram(); + scs_m_1.objs.push(new STEP().internal()); + scs_m_1.objs.push(new OUT_f().internal()); + 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, 0]); + graphics.sz = new ScilabDouble([40, 40]); + graphics.flip = new ScilabBoolean([true]); + graphics.pein = new ScilabDouble([4]); + graphics.peout = new ScilabDouble([4]); + graphics.pout = new ScilabDouble([3]); + graphics.out_implicit = new ScilabString(["E"]); + graphics.in_style = new ScilabDouble(); + graphics.out_style = new ScilabString(["ExplicitOutputPort;align=right;verticalAlign=middle;spacing=10.0;rotation=0"]); + graphics.in_label = new ScilabDouble(); + graphics.out_label = new ScilabString([""]); + model.evtin = new ScilabDouble([-1]); + model.evtout = new ScilabDouble([-1]); + model.uid = new ScilabString([count]); + blk.graphics = graphics; + blk.model = model; + blk.doc = list(new ScilabString([count++])); + scs_m_1.objs[0] = blk; + + blk = scs_m_1.objs[1]; + graphics = blk.graphics; + model = blk.model; + graphics.orig = new ScilabDouble([80, 10]); + graphics.sz = new ScilabDouble([20, 20]); + graphics.flip = new ScilabBoolean([true]); + graphics.exprs = new ScilabString(["1"]); + model.ipar = new ScilabDouble([1]); + graphics.pin = new ScilabDouble([3]); + model.outtyp = new ScilabDouble(); + model.uid = new ScilabString([count]); + blk.doc = list(new ScilabString([count++])); + blk.graphics = graphics; + blk.model = model; + scs_m_1.objs[1] = blk; + + var lnk = scs_m_1.objs[2]; + lnk.xx = new ScilabDouble([104], [136]); + lnk.yy = new ScilabDouble([-40], [-60]); + lnk.from = new ScilabDouble([1, 1, 0]); + lnk.to = new ScilabDouble([2, 1, 1]); + scs_m_1.objs[2] = lnk; + + lnk = scs_m_1.objs[3]; + lnk.xx = new ScilabDouble([0], [20], [-20], [-20], [20], [1]); + lnk.yy = new ScilabDouble([0], [-20], [-20], [60], [60], [1]); + lnk.ct = new ScilabDouble([5, -1]); + lnk.from = new ScilabDouble([1, 1, 0]); + lnk.to = new ScilabDouble([1, 1, 1]); + scs_m_1.objs[3] = lnk; + + model = scicos_model(); + model.sim = new ScilabString(["csuper"]); + model.out = new ScilabDouble([1]); + model.out2 = new ScilabDouble([1]); + model.outtyp = new ScilabDouble([1]); + model.rpar = scs_m_1; + + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"STEP_FUNCTION\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 2]), model, new ScilabString(), gr_i); + return new BasicBlock(this.x); + } + + STEP_FUNCTION.prototype.details = function STEP_FUNCTION() { + return this.x; + } +} diff --git a/data_structures_correct/SUMMATION.js b/data_structures_correct/SUMMATION.js new file mode 100644 index 0000000..867c9fd --- /dev/null +++ b/data_structures_correct/SUMMATION.js @@ -0,0 +1,25 @@ +function SUMMATION() { + SUMMATION.prototype.define = function SUMMATION() { + this.sgn = [[1],[-1]]; + + var model = scicos_model(); + model.sim = list(new ScilabString(["summation"]), new ScilabDouble([4])); + model.in = new ScilabDouble([-1], [-1]); + model.out = new ScilabDouble([-1]); + model.in2 = new ScilabDouble([-2], [-2]); + model.out2 = new ScilabDouble([-2]); + 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),\"SUMMATION\",sz(1),sz(2));"]); + this.x = new standard_define(new ScilabDouble([2, 3]), model, exprs, gr_i); + return new Summation(this.x); + } + + SUMMATION.prototype.details = function SUMMATION() { + return this.x; + } +} diff --git a/dependencies.js b/dependencies.js index e00887d..e19c4ab 100644 --- a/dependencies.js +++ b/dependencies.js @@ -921,6 +921,86 @@ function ExplicitOutBlock() { } } +function Summation() { + 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"; + 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 = list(); // Not Known + this.blockName = "Summation"; + this.blockElementName = arguments.callee.caller.name; + } +} + function zeros() { if (arguments.length == 0) { return [0]; @@ -461,7 +461,30 @@ function CLKSPLIT_f() { } } +function STEP() { + STEP.prototype.internal = function STEP() { + this.rpar=[[0],[1]]; + var model = scicos_model(); + model.sim = list(new ScilabString(["step_func"]),new ScilabDouble([4])); + model.evtin = new ScilabDouble([1]); + model.evtout = new ScilabDouble([1]); + model.out = new ScilabDouble([1]); + model.out2 = new ScilabDouble([1]); + model.outtyp = new ScilabDouble([1]); + model.firing = new ScilabDouble([1]); + model.rpar = new ScilabDouble(...this.rpar); + model.blocktype = new ScilabString(["c"]); + model.dep_ut = new ScilabBoolean([false, false]); + + var exprs = new ScilabString([1],...this.rpar); + var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"STEP\",sz(1),sz(2));"]); + + var block = new standard_define(new ScilabDouble([80, 80]), model,exprs, gr_i); // 1 -> 80 + block.graphics.style = new ScilabString(["STEP"]); + return block; + } +} function BasicBlock() { diff --git a/finalmodsheet.xsl b/finalmodsheet.xsl index a6bdec2..4b67400 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' or name(..)='GroundBlock' or name(..)='EventInBlock' or name(..)='EventOutBlock' or name(..)='ImplicitInBlock' or name(..)='Product' or name(..)='ImplicitOutBlock' or name(..)='SuperBlock' or name(..)='ExplicitInBlock'"> + <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' or name(..)='ImplicitInBlock' or name(..)='Product' or name(..)='ImplicitOutBlock' or name(..)='SuperBlock' or name(..)='ExplicitInBlock' or name(..)='ExplicitOutBlock' or name(..)='Summation'"> <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' or name(..)='GroundBlock' or name(..)='EventInBlock' or name(..)='EventOutBlock' or name(..)='ImplicitInBlock' or name(..)='Product' or name(..)='ImplicitOutBlock' or name(..)='SuperBlock' or name(..)='ExplicitInBlock'"> + <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' or name(..)='ImplicitInBlock' or name(..)='Product' or name(..)='ImplicitOutBlock' or name(..)='SuperBlock' or name(..)='ExplicitInBlock' or name(..)='ExplicitOutBlock' or name(..)='Summation'"> <xsl:if test="@as"> <xsl:attribute name="as"> <xsl:value-of select="@as" /> @@ -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' or name(..)='GroundBlock' or name(..)='EventInBlock' or name(..)='EventOutBlock' or name(..)='ImplicitInBlock' or name(..)='Product' or name(..)='ImplicitOutBlock' or name(..)='SuperBlock' or name(..)='ExplicitInBlock'"> + <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' or name(..)='ImplicitInBlock' or name(..)='Product' or name(..)='ImplicitOutBlock' or name(..)='SuperBlock' or name(..)='ExplicitInBlock' or name(..)='ExplicitOutBlock' or name(..)='Summation'"> <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' or name(..)='GroundBlock' or name(..)='EventInBlock' or name(..)='EventOutBlock' or name(..)='ImplicitInBlock' or name(..)='Product' or name(..)='ImplicitOutBlock' or name(..)='SuperBlock' or name(..)='ExplicitInBlock'"> + <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' or name(..)='ImplicitInBlock' or name(..)='Product' or name(..)='ImplicitOutBlock' or name(..)='SuperBlock' or name(..)='ExplicitInBlock' or name(..)='ExplicitOutBlock' or name(..)='Summation'"> <xsl:if test="@as"> <xsl:attribute name="as"> <xsl:value-of select="@as" /> |