/* autogenerated from "macros/IntegerOp/LOGIC.sci" */ function LOGIC() { LOGIC.prototype.get = function LOGIC() { } LOGIC.prototype.set = function LOGIC() { x=arg1; graphics=arg1.graphics; exprs=graphics.exprs; model=arg1.model; while (true) { [ok,mat,herit,exprs]=scicos_getvalue([msprintf(gettext("Set %s block parameters"),"LOGIC")," ",gettext("Combinatorial logic")," ",gettext("  Rows of the matrix are the output values"),gettext("  Number of rows must be a power of two."),gettext("  Number of columns gives the number of outputs.")," "],[gettext("Truth Table (matrix of outputs)"),gettext("Accepts Inherited Events (0:No, 1:Yes)")],list("mat",[-1,-2],"vec",1),exprs); if (!ok) { break } nout=size(mat,2); nin=(log(size(mat,1))/log(2)); u1=floor(nin); if ((u1!=nin)) { block_parameter_error(msprintf(gettext("Wrong size for \'%s\' parameter: %d."),gettext("Truth Table"),size(mat,1)),gettext("Number of rows must be a power of two.")); ok=None; } else if ((find(mat.slice()!=0&&mat.slice()!=1)!=[])) { block_parameter_error(msprintf(gettext("Wrong value for \'%s\' parameter."),gettext("Truth Table")),msprintf(gettext("Elements must be in the interval %s."),"[0, 1]")); ok=None; } else if (herit<0||herit>1) { block_parameter_error(msprintf(gettext("Wrong value for \'%s\' parameter: %d."),gettext("Accepts Inherited Events"),herit),msprintf(gettext("Must be in the interval %s."),"[0, 1]")); ok=None; } if (ok) { in1=[ones(nin,1),ones(nin,1)]; out=[ones(nout,1),ones(nout,1)]; it=5*ones(1,nin); ot=5*ones(1,nout); [model,graphics,ok]=set_io(model,graphics,list(in1,it),list(out,ot),ones(1-herit,1),[]); } if (ok) { graphics.exprs=exprs; mat=int8(mat); model.opar=list(mat); x.graphics=graphics; x.model=model; break } } } LOGIC.prototype.define = function LOGIC() { mat=[0,0,0,1]; model=scicos_model(); model.sim=list("logic",4); model.in1=[1,1]; model.in2=[1,1]; model.out=1; model.out2=1; model.evtin=1; model.intyp=[5,5]; model.outtyp=5; model.opar=list(int8(mat)); model.blocktype="c"; model.firing=None; model.dep_ut=[true,None]; exprs=[sci2exp(mat),sci2exp(0)]; gr_i=[]; x=standard_define([2,2],model,exprs,gr_i); } LOGIC.prototype.details = function LOGIC() { } }