/* autogenerated from "macros/IntegerOp/SHIFT.sci" */ function SHIFT() { SHIFT.prototype.define = function SHIFT() { sgn=[0,0]; OPER=0; model=scicos_model(); model.sim=list("shift_32_LA",4); model.in1=-1; model.out=-1; model.in2=-2; model.out2=-2; model.intyp=3; model.outtyp=3; model.rpar=[]; model.ipar=sgn; model.blocktype="c"; model.dep_ut=[true,false]; exprs=[sci2exp(3),sci2exp(0),sci2exp(0)]; gr_i=[]; x=standard_define([3,2],model,exprs,gr_i); } SHIFT.prototype.details = function SHIFT() { } SHIFT.prototype.get = function SHIFT() { } SHIFT.prototype.set = function SHIFT() { x=arg1; graphics=arg1.graphics; model=arg1.model; exprs=graphics.exprs; while (true) { [ok,Datatype,nb,np,exprs]=scicos_getvalue([msprintf(gettext("Set %s block parameters"),"SHIFT")," ",gettext("Shift/Rotates bits")],[msprintf(gettext("Data Type %s"),"(3:int32, 4:int16, 5:int8, ...)"),gettext("Number of Bits to Shift Left (Negative number to shift right)"),gettext("Shift Type (0:Arithmetic, 1:Circular)")],list("vec",1,"vec",1,"vec",1),exprs); if (!ok) { break } if ((np!=0&&np!=1)) { block_parameter_error(msprintf(gettext("Wrong value for \'%s\' parameter: %d."),gettext("Shift Type"),np),msprintf(gettext("Must be in the interval %s."),"[0, 1]")); ok=false; } it=Datatype; ot=Datatype; if ((Datatype==3||Datatype==6)) { if (nb>0) { switch (np) { case 0: model.sim=list("shift_32_LA",4); case 1: model.sim=list("shift_32_LC",4); } } else if (nb<0) { switch (np) { case 0: switch (Datatype) { case 3: model.sim=list("shift_32_RA",4); case 6: model.sim=list("shift_u32_RA",4); } case 1: model.sim=list("shift_32_RC",4); } } } else if ((Datatype==4||Datatype==7)) { if (nb>0) { switch (np) { case 0: model.sim=list("shift_16_LA",4); case 1: model.sim=list("shift_16_LC",4); } } else if (nb<0) { switch (np) { case 0: switch (Datatype) { case 4: model.sim=list("shift_16_RA",4); case 7: model.sim=list("shift_u16_RA",4); } case 1: model.sim=list("shift_16_RC",4); } } } else if ((Datatype==5||Datatype==8)) { if (nb>0) { switch (np) { case 0: model.sim=list("shift_8_LA",4); case 1: model.sim=list("shift_8_LC",4); } } else if (nb<0) { switch (np) { case 0: switch (Datatype) { case 5: model.sim=list("shift_8_RA",4); case 8: model.sim=list("shift_u8_RA",4); } case 1: model.sim=list("shift_8_RC",4); } } } else { block_parameter_error(msprintf(gettext("Wrong value for \'%s\' parameter: %d."),gettext("Data Type"),Datatype),msprintf(gettext("Must be in the interval %s."),"[3, 8]")); ok=false; } if (ok) { [model,graphics,ok]=set_io(model,graphics,list([-1,-2],it),list([-1,-2],ot),[],[]); } if (ok) { model.ipar=nb; graphics.exprs=exprs; x.graphics=graphics; x.model=model; break } } } }