diff options
Diffstat (limited to 'js/Misc/LOGICAL_OP.js')
-rw-r--r-- | js/Misc/LOGICAL_OP.js | 66 |
1 files changed, 33 insertions, 33 deletions
diff --git a/js/Misc/LOGICAL_OP.js b/js/Misc/LOGICAL_OP.js index 6d875b4c..163f69cf 100644 --- a/js/Misc/LOGICAL_OP.js +++ b/js/Misc/LOGICAL_OP.js @@ -3,7 +3,7 @@ function LOGICAL_OP() { LOGICAL_OP.prototype.define = function LOGICAL_OP() { in1 = [[-1],[-1]]; ipar = [0]; - nin = 2; + this.nin = 2; model = scicos_model(); model.sim = list("logicalop",4); model.in1 = in1; @@ -11,7 +11,7 @@ function LOGICAL_OP() { model.ipar = ipar; model.blocktype = "c"; model.dep_ut = [true,false]; - exprs = [[string(nin)],[string(ipar)]]; + exprs = [[string(this.nin)],[string(ipar)]]; gr_i = []; this.x = standard_define([2,2],model,exprs,gr_i); return new BasicBlock(this.x); @@ -30,57 +30,57 @@ function LOGICAL_OP() { exprs = [[exprs],[sci2exp(1)],[sci2exp(0)]]; } while (true) { - [ok,nin,rule,Datatype,tp,exprs] = scicos_getvalue("Set parameters",[["number of inputs"],["Operator: AND (0), OR (1), NAND (2), NOR (3), XOR (4), NOT (5)","Datatype (1=double 3=int32 ...)"],["Bitwise Rule(0=No 1=yes)"]],list("vec",1,"vec",1,"vec",1,"vec",1),exprs); + [ok,this.nin,this.rule,this.Datatype,this.tp,exprs] = scicos_getvalue("Set parameters",[["number of inputs"],["Operator: AND (0), OR (1), NAND (2), NOR (3), XOR (4), NOT (5)","Datatype (1=double 3=int32 ...)"],["Bitwise Rule(0=No 1=yes)"]],list("vec",1,"vec",1,"vec",1,"vec",1),exprs); if (!ok) { break; } - nin = int(nin); - rule = int(rule); - tp = int(tp); - if (nin<1) { + this.nin = int(this.nin); + this.rule = int(this.rule); + this.tp = int(this.tp); + if (this.nin<1) { message("Number of inputs must be >=1 "); ok = false; - } else if ((rule<0)||(rule>5)) { - message("Incorrect operator "+string(rule)+" ; must be 0 to 5."); + } else if ((this.rule<0)||(this.rule>5)) { + message("Incorrect operator "+string(this.rule)+" ; must be 0 to 5."); ok = false; - } else if ((rule==5)&&(nin>1)) { + } else if ((this.rule==5)&&(this.nin>1)) { message("Only one input allowed for NOT operation"); - nin = 1; - } else if (((Datatype==1)&&(tp!=0))) { + this.nin = 1; + } else if (((this.Datatype==1)&&(this.tp!=0))) { message("Bitwise Rule is only activated when Data type is integer"); ok = false; } if (ok) { - if ((tp!=0)) { - tp = 1; + if ((this.tp!=0)) { + this.tp = 1; } - if (Datatype==1) { + if (this.Datatype==1) { model.sim = list("logicalop",4); - model.ipar = [rule]; + model.ipar = [this.rule]; } else { - if (Datatype==3) { + if (this.Datatype==3) { model.sim = list("logicalop_i32",4); - } else if (Datatype==4) { + } else if (this.Datatype==4) { model.sim = list("logicalop_i16",4); - } else if (Datatype==5) { + } else if (this.Datatype==5) { model.sim = list("logicalop_i8",4); - } else if (Datatype==6) { + } else if (this.Datatype==6) { model.sim = list("logicalop_ui32",4); - } else if (Datatype==7) { + } else if (this.Datatype==7) { model.sim = list("logicalop_ui16",4); - } else if (Datatype==8) { + } else if (this.Datatype==8) { model.sim = list("logicalop_ui8",4); } else { message("Datatype is not supported"); ok = false; } - model.ipar = [[rule],[tp]]; + model.ipar = [[this.rule],[this.tp]]; } if (ok) { - it = Datatype*ones(nin,1); - ot = Datatype; - in1 = [-ones(nin,1),-2*ones(nin,1)]; - if ((rule!=5)&&(nin==1)) { + it = this.Datatype*ones(this.nin,1); + ot = this.Datatype; + in1 = [-ones(this.nin,1),-2*ones(this.nin,1)]; + if ((this.rule!=5)&&(this.nin==1)) { out = [1,1]; [model,graphics,ok] = set_io(model,graphics,list(in1,it),list(out,ot),[],[]); } else { @@ -89,17 +89,17 @@ function LOGICAL_OP() { } } if (ok) { - if (rule==0) { + if (this.rule==0) { label = "AND"; - } else if (rule==1) { + } else if (this.rule==1) { label = "OR"; - } else if (rule==2) { + } else if (this.rule==2) { label = "NAND"; - } else if (rule==3) { + } else if (this.rule==3) { label = "NOR"; - } else if (rule==4) { + } else if (this.rule==4) { label = "XOR"; - } else if (rule==5) { + } else if (this.rule==5) { label = "NOT"; } graphics.exprs = exprs; |