summaryrefslogtreecommitdiff
path: root/js/Misc/LOGICAL_OP.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/Misc/LOGICAL_OP.js')
-rw-r--r--js/Misc/LOGICAL_OP.js66
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;