/* autogenerated from "macros/Linear/GAINBLK.sci" */ function GAINBLK() { GAINBLK.prototype.get = function GAINBLK() { } GAINBLK.prototype.set = function GAINBLK() { x=arg1; graphics=arg1.graphics; exprs=graphics.exprs; model=arg1.model; if (size(exprs,"*")==1) { exprs=[exprs,sci2exp(0)]; } while (true) { [ok,gain,over,exprs]=scicos_getvalue("Set gain block parameters",["Gain","Do On Overflow(0=Nothing 1=Saturate 2=Error)"],list("mat",[-1,-1],"vec",1),exprs); if (!ok) { break } if (gain==[]) { message("Gain must have at least one element"); } else { if (typeof(gain)=="constant") { if (isreal(gain)) { it=1; ot=1; model.sim=list("gainblk",4); model.rpar=gain.slice(); model.opar=list(); } else { message("type is not supported"); ok=false; } } else { if ((over==0)) { if ((typeof(gain)=="int32")) { ot=3; model.sim=list("gainblk_i32n",4); } else if ((typeof(gain)=="int16")) { ot=4; model.sim=list("gainblk_i16n",4); } else if ((typeof(gain)=="int8")) { ot=5; model.sim=list("gainblk_i8n",4); } else if ((typeof(gain)=="uint32")) { ot=6; model.sim=list("gainblk_ui32n",4); } else if ((typeof(gain)=="uint16")) { ot=7; model.sim=list("gainblk_ui16n",4); } else if ((typeof(gain)=="uint8")) { ot=8; model.sim=list("gainblk_ui8n",4); } else { message("type is not supported."); ok=false; } } else if ((over==1)) { if ((typeof(gain)=="int32")) { ot=3; model.sim=list("gainblk_i32s",4); } else if ((typeof(gain)=="int16")) { ot=4; model.sim=list("gainblk_i16s",4); } else if ((typeof(gain)=="int8")) { ot=5; model.sim=list("gainblk_i8s",4); } else if ((typeof(gain)=="uint32")) { ot=6; model.sim=list("gainblk_ui32s",4); } else if ((typeof(gain)=="uint16")) { ot=7; model.sim=list("gainblk_ui16s",4); } else if ((typeof(gain)=="uint8")) { ot=8; model.sim=list("gainblk_ui8s",4); } else { message("type is not supported."); ok=false; } } else if ((over==2)) { if ((typeof(gain)=="int32")) { ot=3; model.sim=list("gainblk_i32e",4); } else if ((typeof(gain)=="int16")) { ot=4; model.sim=list("gainblk_i16e",4); } else if ((typeof(gain)=="int8")) { ot=5; model.sim=list("gainblk_i8e",4); } else if ((typeof(gain)=="uint32")) { ot=6; model.sim=list("gainblk_ui32e",4); } else if ((typeof(gain)=="uint16")) { ot=7; model.sim=list("gainblk_ui16e",4); } else if ((typeof(gain)=="uint8")) { ot=8; model.sim=list("gainblk_ui8e",4); } else { message("type is not an integer."); ok=false; } } else { message("Do on Overflow must be 0,1,2"); ok=false; } model.rpar=[]; model.opar=list(gain.slice()); } if (ok) { [out,in1]=size(gain); if (out*in1!=1) { [model,graphics,ok]=set_io(model,graphics,list([in1,-1],ot),list([out,-1],ot),[],[]); } else { [model,graphics,ok]=set_io(model,graphics,list([-1,-2],ot),list([-1,-2],ot),[],[]); } } if (ok) { graphics.exprs=exprs; x.graphics=graphics; x.model=model; break } } } } GAINBLK.prototype.define = function GAINBLK() { gain=1; in1=-1; out=-1; in2=-2; out2=-2; model=scicos_model(); model.sim=list("gainblk",4); model.in1=in1; model.out=out; model.in2=in2; model.out2=out2; model.rpar=gain; model.blocktype="c"; model.dep_ut=[true,false]; exprs=[strcat(sci2exp(gain))]; gr_i=[]; x=standard_define([2,2],model,exprs,gr_i); } GAINBLK.prototype.details = function GAINBLK() { } }