summaryrefslogtreecommitdiff
path: root/js/Misc/AUTOMAT.js
diff options
context:
space:
mode:
authorSunil Shetye2018-07-11 13:05:13 +0530
committerSunil Shetye2018-07-11 15:21:08 +0530
commit079d0b4a3ec15a4d7d2644484d116df9d1c694bb (patch)
tree785ed59b5b238203a9e91f3e323da59d1083d86e /js/Misc/AUTOMAT.js
parent0e9bc36f45fa1bb598c6ebb0febc1989439a8d98 (diff)
downloadsci2js-079d0b4a3ec15a4d7d2644484d116df9d1c694bb.tar.gz
sci2js-079d0b4a3ec15a4d7d2644484d116df9d1c694bb.tar.bz2
sci2js-079d0b4a3ec15a4d7d2644484d116df9d1c694bb.zip
fix assignment to list
Diffstat (limited to 'js/Misc/AUTOMAT.js')
-rw-r--r--js/Misc/AUTOMAT.js97
1 files changed, 51 insertions, 46 deletions
diff --git a/js/Misc/AUTOMAT.js b/js/Misc/AUTOMAT.js
index e34f5a85..654543e9 100644
--- a/js/Misc/AUTOMAT.js
+++ b/js/Misc/AUTOMAT.js
@@ -1,16 +1,16 @@
/* autogenerated from "macros/Misc/AUTOMAT.sci" */
function AUTOMAT() {
AUTOMAT.prototype.define = function AUTOMAT() {
- NMode = 2;
+ var NMode = 2;
this.Minitial = 1;
- NX = 1;
+ var NX = 1;
this.X0 = [0.0];
this.XP = [[1],[1]];
- C1 = [2];
- C2 = [1];
- exprs = [[string(NMode)],[string(this.Minitial)],[string(NX)],[sci2exp(this.X0)],[sci2exp(this.XP)],[sci2exp(C1)],[sci2exp(C2)]];
- ipar = [[NMode],[this.Minitial],[NX],[this.XP],[C1],[C2]];
- rpar = [this.X0];
+ var C1 = [2];
+ var C2 = [1];
+ var exprs = [[string(NMode)],[string(this.Minitial)],[string(NX)],[sci2exp(this.X0)],[sci2exp(this.XP)],[sci2exp(C1)],[sci2exp(C2)]];
+ var ipar = [[NMode],[this.Minitial],[NX],[this.XP],[C1],[C2]];
+ var rpar = [this.X0];
this.model = scicos_model();
this.model.sim = list(new ScilabString(["automat"]), new ScilabDouble([10004]));
this.model.in1 = new ScilabDouble([2*NX+1],[2*NX+1]);
@@ -23,7 +23,7 @@ function AUTOMAT() {
this.model.dep_ut = [false,true];
this.model.ipar = new ScilabDouble(ipar);
this.model.rpar = rpar;
- gr_i = [];
+ var gr_i = [];
this.x = standard_define([4,2],this.model,exprs,gr_i);
return new BasicBlock(this.x);
}
@@ -37,50 +37,52 @@ function AUTOMAT() {
}
AUTOMAT.prototype.set = function AUTOMAT() {
this.x = arg1;
- graphics = arg1.graphics;
- exprs = graphics.exprs;
+ var graphics = arg1.graphics;
+ var exprs = graphics.exprs;
this.model = arg1.model;
- ipar = this.model.ipar;
- NMode = ipar[1-1];
- NX = ipar[3-1];
+ var ipar = this.model.ipar;
+ var NMode = ipar[1-1];
+ var NX = ipar[3-1];
while (true) {
- CX = "C1";
- MSG0 = "\'Jump from Mode ";
- MSG2 = ":[..;M_final(Guard=In(";
- MSG3 = ").i);..]\'";
- MSG = MSG0+"1"+MSG2+"1"+MSG3;
- VEC = "\'mat\',[-1,1]";
+ var CX = "C1";
+ var MSG0 = "\'Jump from Mode ";
+ var MSG2 = ":[..;M_final(Guard=In(";
+ var MSG3 = ").i);..]\'";
+ var MSG = MSG0+"1"+MSG2+"1"+MSG3;
+ var VEC = "\'mat\',[-1,1]";
for (i=2;i<=NMode;i+=1) {
- CX = CX+","+"C"+string(i);
- MSG = MSG+";"+MSG0+string(i)+MSG2+string(i)+MSG3;
- VEC = VEC+","+"\'mat\',[-1,1]";
+ var CX = CX+","+"C"+string(i);
+ var MSG = MSG+";"+MSG0+string(i)+MSG2+string(i)+MSG3;
+ var VEC = VEC+","+"\'mat\',[-1,1]";
}
- GTV = "[ok,NMode,Minitial,NX,X0,XP,"+CX+",exprs]=scicos_getvalue(\'Set Finite state machine model\', [\'Number (finite-state) Modes\';\'Initial Mode\';\'Number of continuous-time states\';\'Continuous-time states intial values\';\'Xproperties of continuous-time states in each Mode\';"+MSG+"], list(\'vec\',1,\'vec\',1,\'vec\',1,\'mat\',[-1,-1],\'mat\',[-1,-1],"+VEC+"),exprs)";
+ var GTV = "[ok,NMode,Minitial,NX,X0,XP,"+CX+",exprs]=scicos_getvalue(\'Set Finite state machine model\', [\'Number (finite-state) Modes\';\'Initial Mode\';\'Number of continuous-time states\';\'Continuous-time states intial values\';\'Xproperties of continuous-time states in each Mode\';"+MSG+"], list(\'vec\',1,\'vec\',1,\'vec\',1,\'mat\',[-1,-1],\'mat\',[-1,-1],"+VEC+"),exprs)";
execstr(GTV);
if (!this.ok) {
break;
}
- NMode_old = size(exprs,"*")-5;
- ModifEncore = false;
+ var NMode_old = size(exprs,"*")-5;
+ var ModifEncore = false;
if ((NMode_old>NMode)) {
exprs.slice(NMode+6-1,NMode_old+5) = [];
- ModifEncore = true;
+ var ModifEncore = true;
}
if ((NMode_old<NMode)) {
exprs.slice(NMode_old+6-1,NMode+5) = exprs[NMode_old+4-1];
- ModifEncore = true;
+ var ModifEncore = true;
}
if ((NX!=size(this.X0,"*"))) {
messagebox("the size of intial continuous-time states should be NX="+string(NX),"modal","error");
- ModifEncore = true;
+ var ModifEncore = true;
}
- [rXP,cXP] = size(this.XP);
+ var tmpvar0 = size(this.XP)
+ var rXP = tmpvar0[0]
+ var cXP = tmpvar0[1];
if (cXP!=NX) {
messagebox("Xproperty matrix is not valid: it should have NX="+string(NX)+" columns","modal","error");
- ModifEncore = true;
+ var ModifEncore = true;
} else if (((rXP!=NMode)&&(rXP>1))) {
messagebox("Xproperty matrix is not valid: it should have NMode="+string(NMode)+" or 1 row(s)","modal","error");
- ModifEncore = true;
+ var ModifEncore = true;
} else if ((rXP==1)) {
for (i=1;i<=NMode-1;i+=1) {
this.XP = [[this.XP],[this.XP[1-1].slice()]];
@@ -88,39 +90,42 @@ function AUTOMAT() {
}
if ((NMode_old==NMode)&&(!ModifEncore)) {
this.XP = matrix(transpose(this.XP),NMode*NX,1);
- ipar = [[NMode],[this.Minitial],[NX],[this.XP]];
- rpar = matrix(this.X0,NX,1);
- INP = ones(NMode,1);
+ var ipar = [[NMode],[this.Minitial],[NX],[this.XP]];
+ var rpar = matrix(this.X0,NX,1);
+ var INP = ones(NMode,1);
if (NX>0) {
- OUT = [[2],[2*NX]];
+ var OUT = [[2],[2*NX]];
} else {
- OUT = [2];
+ var OUT = [2];
}
- MaxModes = 1;
- nzcross = 0;
+ var MaxModes = 1;
+ var nzcross = 0;
for (i=1;i<=NMode;i+=1) {
- Ci = evstr(exprs[5+i-1]);
- ipar = [[ipar],[Ci]];
+ var Ci = evstr(exprs[5+i-1]);
+ var ipar = [[ipar],[Ci]];
INP[i-1][1-1] = 2*NX+length(Ci);
if ((nzcross<length(Ci))) {
- nzcross = length(Ci);
+ var nzcross = length(Ci);
}
if ((MaxModes<max(Ci))) {
- MaxModes = max(Ci);
- imax = i;
+ var MaxModes = max(Ci);
+ var imax = i;
}
}
if (MaxModes>NMode) {
messagebox([["Number of Modes should be "+string(MaxModes)],["A destination Mode in Mode#"+string(imax)+"\'s targets is invalid!"]],"modal","error");
- ModifEncore = true;
+ var ModifEncore = true;
}
if (MaxModes<NMode) {
messagebox(["There is an unused Mode or the Number of Modes should be "+string(MaxModes)],"modal","error");
- ModifEncore = true;
+ var ModifEncore = true;
}
}
if (!ModifEncore) {
- [this.model,graphics,this.ok] = check_io(this.model,graphics,INP,OUT,[],[1]);
+ var tmpvar1 = check_io(this.model,graphics,INP,OUT,[],[1])
+ this.model = tmpvar1[0]
+ var graphics = tmpvar1[1]
+ this.ok = tmpvar1[2];
if (!this.ok) {
break;
}