summaryrefslogtreecommitdiff
path: root/js/Misc
diff options
context:
space:
mode:
authorSunil Shetye2018-06-16 07:43:22 +0530
committerSunil Shetye2018-06-16 07:43:22 +0530
commit4a602cc59c9bc5a888e50caa40776e4fb5e7b852 (patch)
tree0243ed143d24184c23e1db0fce2d2df1d4d79872 /js/Misc
parent38abf05b46c55e66c58633cdc6d179bddec30c00 (diff)
downloadsci2js-4a602cc59c9bc5a888e50caa40776e4fb5e7b852.tar.gz
sci2js-4a602cc59c9bc5a888e50caa40776e4fb5e7b852.tar.bz2
sci2js-4a602cc59c9bc5a888e50caa40776e4fb5e7b852.zip
support part(variable, expression) syntax
Diffstat (limited to 'js/Misc')
-rw-r--r--js/Misc/CBLOCK.js2
-rw-r--r--js/Misc/CBLOCK4.js111
-rw-r--r--js/Misc/generic_block.js98
-rw-r--r--js/Misc/generic_block2.js100
-rw-r--r--js/Misc/generic_block3.js104
5 files changed, 406 insertions, 9 deletions
diff --git a/js/Misc/CBLOCK.js b/js/Misc/CBLOCK.js
index cc93a55b..b85b314b 100644
--- a/js/Misc/CBLOCK.js
+++ b/js/Misc/CBLOCK.js
@@ -1,3 +1,3 @@
-Syntax error in input LexToken(CLOSEBRACKET,')',1,2476)
+Syntax error in input LexToken(TRANSPOSE,"'",1,5385)
/* autogenerated from "macros/Misc/CBLOCK.sci" */
None
diff --git a/js/Misc/CBLOCK4.js b/js/Misc/CBLOCK4.js
index 56c3e022..8b981a0b 100644
--- a/js/Misc/CBLOCK4.js
+++ b/js/Misc/CBLOCK4.js
@@ -1,3 +1,110 @@
-Syntax error in input LexToken(CLOSEBRACKET,')',1,2684)
/* autogenerated from "macros/Misc/CBLOCK4.sci" */
-None
+function CBLOCK4() {
+CBLOCK4.prototype.get = function CBLOCK4() {
+}
+CBLOCK4.prototype.set = function CBLOCK4() {
+x=arg1;
+model=arg1.model;
+graphics=arg1.graphics;
+label=graphics.exprs;
+while (true) {
+[ok,function_name,impli,in1,it,out,ot,ci,co,xx,z,oz,rpar,ipar,opar,nmode,nzcr,auto0,depu,dept,lab]=scicos_getvalue("Set C-Block4 block parameters",["Simulation function","Is block implicit? (y,n)","Input ports sizes","Input ports type","Output port sizes","Output ports type","Input event ports sizes","Output events ports sizes","Initial continuous state","Initial discrete state","Initial object state","Real parameters vector","Integer parameters vector","Object parameters list","Number of modes","Number of zero crossings","Initial firing vector (<0 for no firing)","Direct feedthrough (y or n)","Time dependence (y or n)"],list("str",1,"str",1,"mat",[-1,2],"vec",-1,"mat",[-1,2],"vec",-1,"vec",-1,"vec",-1,"vec",-1,"vec",-1,"lis",-1,"vec",-1,"vec",-1,"lis",-1,"vec",1,"vec",1,"vec","sum(%8)","str",1,"str",1),label(1));
+if (!ok) {
+break
+}
+label[1-1]=lab;
+funam=stripblanks(function_name);
+xx=xx.slice();
+z=z.slice();
+rpar=rpar.slice();
+ipar=int(ipar.slice());
+nx=size(xx,1);
+nz=size(z,1);
+ci=int(ci.slice());
+nevin=size(ci,1);
+co=int(co.slice());
+nevout=size(co,1);
+if (part(impli,1)=="y") {
+funtyp=12004;
+} else {
+funtyp=2004;
+}
+if ([ci,co]!=[]) {
+if (max([ci,co])>1) {
+message("vector event links not supported");
+ok=None;
+}
+}
+if (ok) {
+depu=stripblanks(depu);
+if (part(depu,1)=="y") {
+depu=true;
+} else {
+depu=None;
+}
+dept=stripblanks(dept);
+if (part(dept,1)=="y") {
+dept=true;
+} else {
+dept=None;
+}
+dep_ut=[depu,dept];
+if (funam==" ") {
+break
+}
+if (model.sim(1)!=funam||sign(size(model.state,"*"))!=sign(nx)||sign(size(model.dstate,"*"))!=sign(nz)||model.nzcross!=nzcr||sign(size(model.evtout,"*"))!=sign(nevout)) {
+tt=[];
+}
+tt=label[2-1];
+[model,graphics,ok]=set_io(model,graphics,list(in1,it),list(out,ot),ci,co);
+}
+if (ok) {
+while (true) {
+[ok,tt,cancel]=CC4(funam,tt);
+if (!ok) {
+if (cancel) {
+break
+}
+} else {
+model.sim=list(funam,funtyp);
+model.state=xx;
+model.dstate=z;
+model.odstate=oz;
+model.rpar=rpar;
+model.ipar=ipar;
+model.opar=opar;
+model.firing=auto0;
+model.nzcross=nzcr;
+model.nmode=nmode;
+model.dep_ut=dep_ut;
+label[2-1]=tt;
+x.model=model;
+graphics.exprs=label;
+x.graphics=graphics;
+break
+}
+}
+if (ok||cancel) {
+break
+}
+}
+}
+}
+CBLOCK4.prototype.define = function CBLOCK4() {
+funam="toto";
+model=scicos_model();
+model.sim=list(" ",2004);
+model.in1=1;
+model.in2=1;
+model.intyp=1;
+model.out=1;
+model.out2=1;
+model.outtyp=1;
+model.dep_ut=[true,None];
+label=list([funam,"n",sci2exp([model.in1,model.in2]),sci2exp(model.intyp),sci2exp([model.out,model.out2]),sci2exp(model.outtyp),sci2exp(model.evtin),sci2exp(model.evtout),sci2exp(model.state),sci2exp(model.dstate),sci2exp(model.odstate),sci2exp(model.rpar),sci2exp(model.ipar),sci2exp(model.opar),sci2exp(model.nmode),sci2exp(model.nzcross),sci2exp(model.firing),"y","n"],[]);
+gr_i=[];
+x=standard_define([4,2],model,label,gr_i);
+}
+CBLOCK4.prototype.details = function CBLOCK4() {
+}
+}
diff --git a/js/Misc/generic_block.js b/js/Misc/generic_block.js
index 7609b263..e705ee28 100644
--- a/js/Misc/generic_block.js
+++ b/js/Misc/generic_block.js
@@ -1,3 +1,97 @@
-Syntax error in input LexToken(CLOSEBRACKET,')',1,2771)
/* autogenerated from "macros/Misc/generic_block.sci" */
-None
+function generic_block() {
+generic_block.prototype.get = function generic_block() {
+}
+generic_block.prototype.set = function generic_block() {
+x=arg1;
+model=arg1.model;
+graphics=arg1.graphics;
+label=graphics.exprs;
+if (size(label,"*")==14) {
+label[9-1]=[];
+}
+while (true) {
+[ok,function_name,funtyp,i,o,ci,co,xx,z,rpar,ipar,auto0,depu,dept,lab]=scicos_getvalue("Set GENERIC block parameters",["simulation function","function type (0,1,2,..)","input ports sizes","output port sizes","input event ports sizes","output events ports sizes","initial continuous state","initial discrete state","Real parameters vector","Integer parameters vector","initial firing vector (<0 for no firing)","direct feedthrough (y or n)","time dependence (y or n)"],list("str",1,"vec",1,"vec",-1,"vec",-1,"vec",-1,"vec",-1,"vec",-1,"vec",-1,"vec",-1,"vec",-1,"vec","sum(%6)","str",1,"str",1),label);
+if (!ok) {
+break
+}
+label=lab;
+function_name=stripblanks(function_name);
+xx=xx.slice();
+z=z.slice();
+rpar=rpar.slice();
+ipar=int(ipar.slice());
+i=int(i.slice());
+o=int(o.slice());
+ci=int(ci.slice());
+co=int(co.slice());
+funtyp=int(funtyp);
+if (funtyp<0) {
+message("function type cannot be negative");
+ok=None;
+}
+if ([ci,co]!=[]) {
+if (max([ci,co])>1) {
+message("vector event links not supported");
+ok=None;
+}
+}
+depu=stripblanks(depu);
+if (part(depu,1)=="y") {
+depu=true;
+} else {
+depu=None;
+}
+dept=stripblanks(dept);
+if (part(dept,1)=="y") {
+dept=true;
+} else {
+dept=None;
+}
+dep_ut=[depu,dept];
+if (ok) {
+[model,graphics,ok]=check_io(model,graphics,i,o,ci,co);
+}
+if (ok) {
+if (funtyp==3) {
+needcompile=4;
+}
+model.sim=list(function_name,funtyp);
+model.state=xx;
+model.dstate=z;
+model.rpar=rpar;
+model.ipar=ipar;
+model.firing=auto0;
+model.dep_ut=dep_ut;
+arg1.model=model;
+graphics.exprs=label;
+arg1.graphics=graphics;
+x=arg1;
+break
+}
+}
+needcompile=resume(needcompile)
+}
+generic_block.prototype.define = function generic_block() {
+model=scicos_model();
+function_name="sinblk";
+funtyp=1;
+model.sim=list(function_name,funtyp);
+model.in1=1;
+model.out=1;
+model.evtin=[];
+model.evtout=[];
+model.state=[];
+model.dstate=[];
+model.rpar=[];
+model.ipar=[];
+model.blocktype="c";
+model.firing=[];
+model.dep_ut=[true,None];
+label=[function_name,sci2exp(funtyp),sci2exp(model.in1),sci2exp(model.out),sci2exp(model.evtin),sci2exp(model.evtout),sci2exp(model.state),sci2exp(model.dstate),sci2exp(model.rpar),sci2exp(model.ipar),sci2exp(model.firing),"y","n"];
+gr_i=[];
+x=standard_define([2,2],model,label,gr_i);
+}
+generic_block.prototype.details = function generic_block() {
+}
+}
diff --git a/js/Misc/generic_block2.js b/js/Misc/generic_block2.js
index c09944f5..c3b03890 100644
--- a/js/Misc/generic_block2.js
+++ b/js/Misc/generic_block2.js
@@ -1,3 +1,99 @@
-Syntax error in input LexToken(CLOSEBRACKET,')',1,2870)
/* autogenerated from "macros/Misc/generic_block2.sci" */
-None
+function generic_block2() {
+generic_block2.prototype.get = function generic_block2() {
+}
+generic_block2.prototype.set = function generic_block2() {
+x=arg1;
+model=arg1.model;
+graphics=arg1.graphics;
+label=graphics.exprs;
+if (size(label,"*")==14) {
+label[9-1]=[];
+}
+while (true) {
+[ok,function_name,funtyp,i,o,ci,co,xx,z,rpar,ipar,nmode,nzcr,auto0,depu,dept,lab]=scicos_getvalue("Set GENERIC block parameters",["simulation function","function type (0,1,2,..)","input ports sizes","output port sizes","input event ports sizes","output events ports sizes","initial continuous state","initial discrete state","Real parameters vector","Integer parameters vector","number of modes","number of zero_crossings","initial firing vector (<0 for no firing)","direct feedthrough (y or n)","time dependence (y or n)"],list("str",1,"vec",1,"vec",-1,"vec",-1,"vec",-1,"vec",-1,"vec",-1,"vec",-1,"vec",-1,"vec",-1,"vec",1,"vec",1,"vec","sum(%6)","str",1,"str",1),label);
+if (!ok) {
+break
+}
+label=lab;
+function_name=stripblanks(function_name);
+xx=xx.slice();
+z=z.slice();
+rpar=rpar.slice();
+ipar=int(ipar.slice());
+i=int(i.slice());
+o=int(o.slice());
+ci=int(ci.slice());
+co=int(co.slice());
+funtyp=int(funtyp);
+if (funtyp<0) {
+message("function type cannot be negative");
+ok=None;
+}
+if ([ci,co]!=[]) {
+if (max([ci,co])>1) {
+message("vector event links not supported");
+ok=None;
+}
+}
+depu=stripblanks(depu);
+if (part(depu,1)=="y") {
+depu=true;
+} else {
+depu=None;
+}
+dept=stripblanks(dept);
+if (part(dept,1)=="y") {
+dept=true;
+} else {
+dept=None;
+}
+dep_ut=[depu,dept];
+if (ok) {
+[model,graphics,ok]=check_io(model,graphics,i,o,ci,co);
+}
+if (ok) {
+if (funtyp==3) {
+needcompile=4;
+}
+model.sim=list(function_name,funtyp);
+model.state=xx;
+model.dstate=z;
+model.rpar=rpar;
+model.ipar=ipar;
+model.firing=auto0;
+model.nzcross=nzcr;
+model.nmode=nmode;
+model.dep_ut=dep_ut;
+arg1.model=model;
+graphics.exprs=label;
+arg1.graphics=graphics;
+x=arg1;
+break
+}
+}
+needcompile=resume(needcompile)
+}
+generic_block2.prototype.define = function generic_block2() {
+model=scicos_model();
+function_name="sinblk";
+funtyp=1;
+model.sim=list(function_name,funtyp);
+model.in1=1;
+model.out=1;
+model.evtin=[];
+model.evtout=[];
+model.state=[];
+model.dstate=[];
+model.rpar=[];
+model.ipar=[];
+model.blocktype="c";
+model.firing=[];
+model.dep_ut=[true,None];
+label=[function_name,sci2exp(funtyp),sci2exp(model.in1),sci2exp(model.out),sci2exp(model.evtin),sci2exp(model.evtout),sci2exp(model.state),sci2exp(model.dstate),sci2exp(model.rpar),sci2exp(model.ipar),sci2exp(model.nmode),sci2exp(model.nzcross),sci2exp(model.firing),"y","n"];
+gr_i=[];
+x=standard_define([2,2],model,label,gr_i);
+}
+generic_block2.prototype.details = function generic_block2() {
+}
+}
diff --git a/js/Misc/generic_block3.js b/js/Misc/generic_block3.js
index 3d9a5ef7..43748af9 100644
--- a/js/Misc/generic_block3.js
+++ b/js/Misc/generic_block3.js
@@ -1,3 +1,103 @@
-Syntax error in input LexToken(CLOSEBRACKET,')',1,3302)
/* autogenerated from "macros/Misc/generic_block3.sci" */
-None
+function generic_block3() {
+generic_block3.prototype.get = function generic_block3() {
+}
+generic_block3.prototype.set = function generic_block3() {
+x=arg1;
+model=arg1.model;
+graphics=arg1.graphics;
+label=graphics.exprs;
+if (size(label,"*")==14) {
+label[9-1]=[];
+}
+while (true) {
+[ok,function_name,funtyp,in1,it,out,ot,ci,co,xx,z,oz,rpar,ipar,opar,nmode,nzcr,auto0,depu,dept,lab]=scicos_getvalue("Set GENERIC block parameters",["Simulation function","Function type (0,1,2,..)","Input ports sizes","Input ports type","Output port sizes","Output ports type","Input event ports sizes","Output events ports sizes","Initial continuous state","Initial discrete state","Initial object state","Real parameters vector","Integer parameters vector","Object parameters list","Number of modes","Number of zero crossings","Initial firing vector (<0 for no firing)","Direct feedthrough (y or n)","Time dependence (y or n)"],list("str",1,"vec",1,"mat",[-1,2],"vec",-1,"mat",[-1,2],"vec",-1,"vec",-1,"vec",-1,"vec",-1,"vec",-1,"lis",-1,"vec",-1,"vec",-1,"lis",-1,"vec",1,"vec",1,"vec","sum(%8)","str",1,"str",1),label);
+if (!ok) {
+break
+}
+label=lab;
+function_name=stripblanks(function_name);
+xx=xx.slice();
+z=z.slice();
+rpar=rpar.slice();
+ipar=int(ipar.slice());
+ci=int(ci.slice());
+co=int(co.slice());
+funtyp=funtyp;
+if (funtyp<0) {
+message("function type cannot be negative");
+ok=None;
+}
+if ([ci,co]!=[]) {
+if (max([ci,co])>1) {
+message("vector event links not supported");
+ok=None;
+}
+}
+if (type(opar)!=15) {
+message("object parameter must be a list");
+ok=None;
+}
+if (type(oz)!=15) {
+message("discrete object state must be a list");
+ok=None;
+}
+depu=stripblanks(depu);
+if (part(depu,1)=="y") {
+depu=true;
+} else {
+depu=None;
+}
+dept=stripblanks(dept);
+if (part(dept,1)=="y") {
+dept=true;
+} else {
+dept=None;
+}
+dep_ut=[depu,dept];
+if (ok) {
+[model,graphics,ok]=set_io(model,graphics,list(in1,it),list(out,ot),ci,co);
+}
+if (ok) {
+if (funtyp==3) {
+needcompile=4;
+}
+model.sim=list(function_name,funtyp);
+model.state=xx;
+model.dstate=z;
+model.odstate=oz;
+model.rpar=rpar;
+model.ipar=ipar;
+model.opar=opar;
+model.firing=auto0;
+model.nzcross=nzcr;
+model.nmode=nmode;
+model.dep_ut=dep_ut;
+arg1.model=model;
+graphics.exprs=label;
+arg1.graphics=graphics;
+x=arg1;
+break
+}
+}
+needcompile=resume(needcompile)
+}
+generic_block3.prototype.define = function generic_block3() {
+model=scicos_model();
+function_name="sinblk";
+funtyp=4;
+model.sim=list(function_name,funtyp);
+model.in1=1;
+model.in2=1;
+model.intyp=1;
+model.out=1;
+model.out2=1;
+model.outtyp=1;
+model.dep_ut=[true,None];
+label=[function_name,sci2exp(funtyp),sci2exp([model.in1,model.in2]),sci2exp(model.intyp),sci2exp([model.out,model.out2]),sci2exp(model.outtyp),sci2exp(model.evtin),sci2exp(model.evtout),sci2exp(model.state),sci2exp(model.dstate),sci2exp(model.odstate),sci2exp(model.rpar),sci2exp(model.ipar),sci2exp(model.opar),sci2exp(model.nmode),sci2exp(model.nzcross),sci2exp(model.firing),"y","n"];
+gr_i=[];
+x=standard_define([4,2],model,label,gr_i);
+}
+generic_block3.prototype.details = function generic_block3() {
+}
+}