diff options
author | Sunil Shetye | 2018-06-19 16:37:08 +0530 |
---|---|---|
committer | Sunil Shetye | 2018-06-19 16:37:08 +0530 |
commit | 449b9f0efaa3dc754efa17285f3e560989366144 (patch) | |
tree | e45b9d42d0ac96a78bd7382faeeec54c1ab572cb /js/Misc/scifunc_block.js | |
parent | 09dcb67c99c52386ec43581871db5a7a78eeaccd (diff) | |
download | sci2js-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.js | 93 |
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) +} +} |