/* autogenerated from "macros/Linear/INTEGRAL_m.sci" */ function INTEGRAL_m() { INTEGRAL_m.prototype.define = function INTEGRAL_m() { maxp=1; minp=-1; rpar=[]; model=scicos_model(); model.state=0; model.sim=list("integral_func",4); model.in1=1; model.out=1; model.in2=1; model.out2=1; model.rpar=rpar; model.blocktype="c"; model.dep_ut=[false,true]; exprs=string([[0],[0],[0],[maxp],[minp]]); gr_i=[]; x=standard_define([2,2],model,exprs,gr_i); } INTEGRAL_m.prototype.details = function INTEGRAL_m() { } INTEGRAL_m.prototype.get = function INTEGRAL_m() { } INTEGRAL_m.prototype.set = function INTEGRAL_m() { x=arg1; graphics=arg1.graphics; exprs=graphics.exprs; model=arg1.model; while (true) { [ok,x0,reinit,satur,maxp,lowp,exprs]=scicos_getvalue("Set Integral block parameters",[["Initial Condition"],["With re-intialization (1:yes, 0:no)"],["With saturation (1:yes, 0:no)"],["Upper limit"],["Lower limit"]],list("mat",[-1,-1],"vec",1,"vec",1,"mat",[-1,-1],"mat",[-1,-1]),exprs); if (!ok) { break; } if (isreal[x0-1]) { Datatype=1; } else { Datatype=2; } if (reinit!=0) { reinit=1; } if (satur!=0) { satur=1; if (Datatype==1) { if (size(maxp,"*")==1) { maxp=maxp*ones(x0); } if (size(lowp,"*")==1) { lowp=lowp*ones(x0); } if ((size(x0)!=size(maxp)||size(x0)!=size(lowp))) { message("x0 and Upper limit and Lower limit must have same size"); ok=false; } else if (or(maxp<=lowp)) { message("Upper limits must be > Lower limits"); ok=false; } else if (or(x0>maxp)||or(x0 Lower limits"); ok=false; } else if (or(real(x0)>real(maxp))||or(real(x0)imag(maxp))||or(imag(x0)