diff options
Diffstat (limited to 'js/IntegerOp/LOGIC.js')
-rw-r--r-- | js/IntegerOp/LOGIC.js | 71 |
1 files changed, 36 insertions, 35 deletions
diff --git a/js/IntegerOp/LOGIC.js b/js/IntegerOp/LOGIC.js index ae5dff86..d4ebdf7c 100644 --- a/js/IntegerOp/LOGIC.js +++ b/js/IntegerOp/LOGIC.js @@ -17,50 +17,51 @@ function LOGIC() { model.dep_ut = [true,false]; exprs = [[sci2exp(mat)],[sci2exp(0)]]; gr_i = []; - x = standard_define([2,2],model,exprs,gr_i); + this.x = standard_define([2,2],model,exprs,gr_i); } LOGIC.prototype.details = function LOGIC() { + return this.x; } LOGIC.prototype.get = function LOGIC() { } LOGIC.prototype.set = function LOGIC() { - x = arg1; + this.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 = false; - } 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 = false; - } 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 = false; -} - 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; -} -} + [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 = false; + } 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 = false; + } 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 = false; + } + 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); + this.x.graphics = graphics; + this.x.model = model; + break; + } + } } } |