summaryrefslogtreecommitdiff
path: root/js/Misc/scifunc_block.js
diff options
context:
space:
mode:
authorSunil Shetye2018-06-19 16:37:08 +0530
committerSunil Shetye2018-06-19 16:37:08 +0530
commit449b9f0efaa3dc754efa17285f3e560989366144 (patch)
treee45b9d42d0ac96a78bd7382faeeec54c1ab572cb /js/Misc/scifunc_block.js
parent09dcb67c99c52386ec43581871db5a7a78eeaccd (diff)
downloadsci2js-449b9f0efaa3dc754efa17285f3e560989366144.tar.gz
sci2js-449b9f0efaa3dc754efa17285f3e560989366144.tar.bz2
sci2js-449b9f0efaa3dc754efa17285f3e560989366144.zip
support variable(index)(index) on LHS
Diffstat (limited to 'js/Misc/scifunc_block.js')
-rw-r--r--js/Misc/scifunc_block.js93
1 files changed, 91 insertions, 2 deletions
diff --git a/js/Misc/scifunc_block.js b/js/Misc/scifunc_block.js
index 03abd7f5..2763d949 100644
--- a/js/Misc/scifunc_block.js
+++ b/js/Misc/scifunc_block.js
@@ -1,3 +1,92 @@
-Syntax error in input LexToken(CLOSEOPENBRACKET,')(',1,2851)
/* autogenerated from "macros/Misc/scifunc_block.sci" */
-None
+function scifunc_block() {
+scifunc_block.prototype.define = function scifunc_block() {
+in1=1;
+out=1;
+clkin=[];
+clkout=[];
+x0=[];
+z0=[];
+typ="c";
+auto=[];
+rpar=[];
+model=scicos_model();
+model.sim=list("scifunc",3);
+model.in1=in1;
+model.out=out;
+model.evtin=clkin;
+model.evtout=clkout;
+model.state=x0;
+model.dstate=z0;
+model.rpar=rpar;
+model.ipar=0;
+model.opar=list();
+model.blocktype=typ;
+model.firing=auto;
+model.dep_ut=[true,false];
+exprs=list([[sci2exp(in1)],[sci2exp(out)],[sci2exp(clkin)],[sci2exp(clkout)],[strcat(sci2exp(x0))],[strcat(sci2exp(z0))],[strcat(sci2exp(rpar))],[sci2exp(auto)]],list("y1=sin(u1)"," "," ","y1=sin(u1)"," "," "," "));
+gr_i=[];
+x=standard_define([2,2],model,exprs,gr_i);
+}
+scifunc_block.prototype.details = function scifunc_block() {
+}
+scifunc_block.prototype.get = function scifunc_block() {
+}
+scifunc_block.prototype.set = function scifunc_block() {
+needcompile=0;
+x=arg1;
+model=arg1.model;
+graphics=arg1.graphics;
+exprs=graphics.exprs;
+if (size(exprs[1-1],"*")==8) {
+exprs[1-1][9-1]="0";
+}
+while (true) {
+[ok,i,o,ci,co,xx,z,rpar,auto0,deptime,lab]=scicos_getvalue([["Set scifunc_block parameters"],["only regular blocks supported"]],[["input ports sizes"],["output port sizes"],["input event ports sizes"],["output events ports sizes"],["initial continuous state"],["initial discrete state"],["System parameters vector"],["initial firing vector (<0 for no firing)"],["is block always active (0:no, 1:yes)"]],list("vec",-1,"vec",-1,"vec",-1,"vec",-1,"vec",-1,"vec",-1,"vec",-1,"vec","sum(%4)","vec",1),exprs[1-1]);
+if (!ok) {
+break;
+}
+exprs[1-1]=lab;
+xx=xx.slice();
+z=z.slice();
+rpar=rpar.slice();
+nrp=prod(size(rpar));
+i=int(i.slice());
+ni=size(i,1);
+o=int(o.slice());
+no=size(o,1);
+ci=int(ci.slice());
+nci=size(ci,1);
+co=int(co.slice());
+nco=size(co,1);
+[ok,tt,dep_ut]=genfunc1(exprs[2-1],i,o,nci,nco,size(xx,1),size(z,1),nrp,"c");
+dep_ut[2-1]=(1==deptime);
+if (!ok) {
+break;
+}
+[model,graphics,ok]=check_io(model,graphics,i,o,ci,co);
+if (ok) {
+auto=auto0;
+model.state=xx;
+model.dstate=z;
+model.rpar=rpar;
+if (model.ipar!=0) {
+model.opar=model.ipar;
+model.ipar=0;
+}
+if (or(model.opar!=tt)) {
+needcompile=4;
+}
+model.opar=tt;
+model.firing=auto;
+model.dep_ut=dep_ut;
+x.model=model;
+exprs[2-1]=tt;
+graphics.exprs=exprs;
+x.graphics=graphics;
+break;
+}
+}
+needcompile=resume(needcompile)
+}
+}