/* autogenerated from "macros/Misc/CBLOCK.sci" */ function CBLOCK() { CBLOCK.prototype.define = function CBLOCK() { in1=1; out=1; clkin=[]; clkout=[]; x0=[]; z0=[]; typ="c"; auto=[]; rpar=[]; ipar=[]; funam="toto"; ng=0; model=scicos_model(); model.sim=list(" ",2004); model.in1=in1; model.out=out; model.evtin=clkin; model.evtout=clkout; model.state=x0; model.dstate=z0; model.rpar=rpar; model.ipar=ipar; model.blocktype=typ; model.firing=auto; model.dep_ut=[true,false]; model.nzcross=ng; label=list(transpose([funam,"n",sci2exp(in1),sci2exp(out),sci2exp(clkin),sci2exp(clkout),sci2exp(x0),sci2exp(0),sci2exp(z0),sci2exp(rpar),sci2exp(ipar),sci2exp(auto),"y","n"]),[]); gr_i=[]; x=standard_define([4,2],model,label,gr_i); } CBLOCK.prototype.details = function CBLOCK() { } CBLOCK.prototype.get = function CBLOCK() { } CBLOCK.prototype.set = function CBLOCK() { x=arg1; model=arg1.model; graphics=arg1.graphics; label=graphics.exprs; while (true) { [ok,function_name,impli,i,o,ci,co,xx,ng,z,rpar,ipar,auto0,depu,dept,lab]=scicos_getvalue("Set C-Block2 block parameters",["simulation function","is block implicit? (y,n)","input ports sizes","output ports sizes","input event ports sizes","output events ports sizes","initial continuous state","number of zero crossing surfaces","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,"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(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); i=int(i.slice()); o=int(o.slice()); nout=size(o,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=false; } } depu=stripblanks(depu); if (part(depu,1)=="y") { depu=true; } else { depu=false; } dept=stripblanks(dept); if (part(dept,1)=="y") { dept=true; } else { dept=false; } 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!=ng||sign(size(model.evtout,"*"))!=sign(nevout)) { tt=[]; } tt=label[2-1]; while (true) { [ok,tt,cancel]=CFORTR2(funam,tt); if (!ok) { if (cancel) { break } } else { [model,graphics,ok]=check_io(model,graphics,i,o,ci,co); if (ok) { model.sim=list(funam,funtyp); model.in1=i; model.out=o; model.evtin=ci; model.evtout=co; model.state=xx; model.dstate=z; model.rpar=rpar; model.ipar=ipar; model.firing=auto0; model.dep_ut=dep_ut; model.nzcross=ng; label[2-1]=tt; x.model=model; graphics.exprs=label; x.graphics=graphics; break } } } if (ok||cancel) { break } } } }