summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data_structures_correct/POWBLK_f.js25
-rw-r--r--data_structures_correct/STEP_FUNCTION.js79
-rw-r--r--data_structures_correct/SUMMATION.js25
-rw-r--r--dependencies.js80
-rw-r--r--details.js23
-rw-r--r--finalmodsheet.xsl8
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];
diff --git a/details.js b/details.js
index e9e34a1..fa4211e 100644
--- a/details.js
+++ b/details.js
@@ -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" />