/* autogenerated from "macros/Misc/scifunc_block_m.sci" */ function scifunc_block_m() { scifunc_block_m.prototype.get = function scifunc_block_m() { } scifunc_block_m.prototype.set = function scifunc_block_m() { needcompile=0; x=arg1; model=arg1.model; graphics=arg1.graphics; exprs=graphics.exprs; 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("mat",[-1,2],"mat",[-2,2],"vec",-1,"vec",-1,"vec",-1,"vec",-1,"vec",-1,"vec",-1,"vec",1),exprs[1-1]); if (!ok) { break } exprs[1-1]=lab; xx=xx.slice(); z=z.slice(); rpar=rpar.slice(); it=ones(1,size(i,1)); ot=ones(1,size(o,1)); nrp=prod(size(rpar)); ni=size(i,1); no=size(o,1); ci=int(ci.slice()); nci=size(ci,1); co=int(co.slice()); nco=size(co,1); [ok,tt,dep_ut]=genfunc2(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]=set_io(model,graphics,list(i,it),list(o,ot),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) } scifunc_block_m.prototype.define = function scifunc_block_m() { in1=1; out=1; clkin=[]; clkout=[]; x0=[]; z0=[]; typ="c"; auto=[]; rpar=[]; it=1; model=scicos_model(); model.sim=list("scifunc",3); model.in1=in1; model.in2=in1; model.intyp=it; model.out=out; model.out2=out; model.outtyp=it; 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,in1]),sci2exp([out,out]),sci2exp(clkin),sci2exp(clkout),strcat(sci2exp(x0)),strcat(sci2exp(z0)),strcat(sci2exp(rpar)),sci2exp(auto),sci2exp(0)],list("y1=sin(u1)"," "," ","y1=sin(u1)"," "," "," ")); gr_i=[]; x=standard_define([4,2],model,exprs,gr_i); } scifunc_block_m.prototype.details = function scifunc_block_m() { } }