summaryrefslogtreecommitdiff
path: root/js/Linear/SUMMATION.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/Linear/SUMMATION.js')
-rw-r--r--js/Linear/SUMMATION.js217
1 files changed, 109 insertions, 108 deletions
diff --git a/js/Linear/SUMMATION.js b/js/Linear/SUMMATION.js
index d5171c25..4b5481ec 100644
--- a/js/Linear/SUMMATION.js
+++ b/js/Linear/SUMMATION.js
@@ -13,125 +13,126 @@ function SUMMATION() {
model.dep_ut = [true,false];
exprs = sci2exp(sgn);
gr_i = [];
- x = standard_define([2,3],model,exprs,gr_i);
+ this.x = standard_define([2,3],model,exprs,gr_i);
}
SUMMATION.prototype.details = function SUMMATION() {
+ return this.x;
}
SUMMATION.prototype.get = function SUMMATION() {
}
SUMMATION.prototype.set = function SUMMATION() {
- x = arg1;
+ this.x = arg1;
graphics = arg1.graphics;
model = arg1.model;
exprs = graphics.exprs;
if (size(exprs,1)==1) {
- exprs = [[sci2exp(1)],[exprs],[sci2exp(0)]];
+ exprs = [[sci2exp(1)],[exprs],[sci2exp(0)]];
} else if (size(exprs,1)==2) {
- exprs = [[exprs],[sci2exp(0)]];
-}
+ exprs = [[exprs],[sci2exp(0)]];
+ }
while (true) {
- [ok,Datatype,sgn,satur,exprs] = scicos_getvalue("Set sum block parameters",[["Datatype (1=real double 2=complex 3=int32 ...)"],["Number of inputs or sign vector (of +1, -1)"],["Do on Overflow(0=Nothing 1=Saturate 2=Error)"]],list("vec",1,"vec",-1,"vec",1),exprs);
- if (!ok) {
-break;
-}
- sgn = sgn.slice();
- if ((satur!=0&&satur!=1&&satur!=2)) {
-message("Do on overflow must be 0,1,2");
- ok = false;
-}
- if (size(sgn,1)==1) {
- if (sgn<1) {
-message("Number of inputs must be > 0");
- ok = false;
- } else if (sgn==1) {
- in1 = -1;
- in2 = -2;
- sgn = [];
- nout = 1;
- nout2 = 1;
- } else {
- in1 = -ones(sgn,1);
- in2 = 2*in1;
- sgn = ones(sgn,1);
- nout = -1;
- nout2 = -2;
-}
- } else {
- if (!and(abs(sgn)==1)) {
-message("Signs can only be +1 or -1");
- ok = false;
- } else {
- in1 = -ones(size(sgn,1),1);
- in2 = 2*in1;
- nout = -1;
- nout2 = -2;
-}
-}
- it = Datatype*ones(1,size(in1,1));
- ot = Datatype;
- if (Datatype==1) {
- model.sim = list("summation",4);
- } else if (Datatype==2) {
- model.sim = list("summation_z",4);
- } else if (((Datatype<1)||(Datatype>8))) {
-message("Datatype is not supported");
- ok = false;
- } else {
- if (satur==0) {
- if (Datatype==3) {
- model.sim = list("summation_i32n",4);
- } else if (Datatype==4) {
- model.sim = list("summation_i16n",4);
- } else if (Datatype==5) {
- model.sim = list("summation_i8n",4);
- } else if (Datatype==6) {
- model.sim = list("summation_ui32n",4);
- } else if (Datatype==7) {
- model.sim = list("summation_ui16n",4);
- } else if (Datatype==8) {
- model.sim = list("summation_ui8n",4);
-}
- } else if (satur==1) {
- if (Datatype==3) {
- model.sim = list("summation_i32s",4);
- } else if (Datatype==4) {
- model.sim = list("summation_i16s",4);
- } else if (Datatype==5) {
- model.sim = list("summation_i8s",4);
- } else if (Datatype==6) {
- model.sim = list("summation_ui32s",4);
- } else if (Datatype==7) {
- model.sim = list("summation_ui16s",4);
- } else if (Datatype==8) {
- model.sim = list("summation_ui8s",4);
-}
- } else if (satur==2) {
- if (Datatype==3) {
- model.sim = list("summation_i32e",4);
- } else if (Datatype==4) {
- model.sim = list("summation_i16e",4);
- } else if (Datatype==5) {
- model.sim = list("summation_i8e",4);
- } else if (Datatype==6) {
- model.sim = list("summation_ui32e",4);
- } else if (Datatype==7) {
- model.sim = list("summation_ui16e",4);
- } else if (Datatype==8) {
- model.sim = list("summation_ui8e",4);
-}
-}
-}
- if (ok) {
- [model,graphics,ok] = set_io(model,graphics,list([in1,in2],it),list([nout,nout2],ot),[],[]);
-}
- if (ok) {
- model.rpar = satur;
- model.ipar = sgn;
- graphics.exprs = exprs;
- x.graphics = graphics;
- x.model = model;
-break;
-}
-}
+ [ok,Datatype,sgn,satur,exprs] = scicos_getvalue("Set sum block parameters",[["Datatype (1=real double 2=complex 3=int32 ...)"],["Number of inputs or sign vector (of +1, -1)"],["Do on Overflow(0=Nothing 1=Saturate 2=Error)"]],list("vec",1,"vec",-1,"vec",1),exprs);
+ if (!ok) {
+ break;
+ }
+ sgn = sgn.slice();
+ if ((satur!=0&&satur!=1&&satur!=2)) {
+ message("Do on overflow must be 0,1,2");
+ ok = false;
+ }
+ if (size(sgn,1)==1) {
+ if (sgn<1) {
+ message("Number of inputs must be > 0");
+ ok = false;
+ } else if (sgn==1) {
+ in1 = -1;
+ in2 = -2;
+ sgn = [];
+ nout = 1;
+ nout2 = 1;
+ } else {
+ in1 = -ones(sgn,1);
+ in2 = 2*in1;
+ sgn = ones(sgn,1);
+ nout = -1;
+ nout2 = -2;
+ }
+ } else {
+ if (!and(abs(sgn)==1)) {
+ message("Signs can only be +1 or -1");
+ ok = false;
+ } else {
+ in1 = -ones(size(sgn,1),1);
+ in2 = 2*in1;
+ nout = -1;
+ nout2 = -2;
+ }
+ }
+ it = Datatype*ones(1,size(in1,1));
+ ot = Datatype;
+ if (Datatype==1) {
+ model.sim = list("summation",4);
+ } else if (Datatype==2) {
+ model.sim = list("summation_z",4);
+ } else if (((Datatype<1)||(Datatype>8))) {
+ message("Datatype is not supported");
+ ok = false;
+ } else {
+ if (satur==0) {
+ if (Datatype==3) {
+ model.sim = list("summation_i32n",4);
+ } else if (Datatype==4) {
+ model.sim = list("summation_i16n",4);
+ } else if (Datatype==5) {
+ model.sim = list("summation_i8n",4);
+ } else if (Datatype==6) {
+ model.sim = list("summation_ui32n",4);
+ } else if (Datatype==7) {
+ model.sim = list("summation_ui16n",4);
+ } else if (Datatype==8) {
+ model.sim = list("summation_ui8n",4);
+ }
+ } else if (satur==1) {
+ if (Datatype==3) {
+ model.sim = list("summation_i32s",4);
+ } else if (Datatype==4) {
+ model.sim = list("summation_i16s",4);
+ } else if (Datatype==5) {
+ model.sim = list("summation_i8s",4);
+ } else if (Datatype==6) {
+ model.sim = list("summation_ui32s",4);
+ } else if (Datatype==7) {
+ model.sim = list("summation_ui16s",4);
+ } else if (Datatype==8) {
+ model.sim = list("summation_ui8s",4);
+ }
+ } else if (satur==2) {
+ if (Datatype==3) {
+ model.sim = list("summation_i32e",4);
+ } else if (Datatype==4) {
+ model.sim = list("summation_i16e",4);
+ } else if (Datatype==5) {
+ model.sim = list("summation_i8e",4);
+ } else if (Datatype==6) {
+ model.sim = list("summation_ui32e",4);
+ } else if (Datatype==7) {
+ model.sim = list("summation_ui16e",4);
+ } else if (Datatype==8) {
+ model.sim = list("summation_ui8e",4);
+ }
+ }
+ }
+ if (ok) {
+ [model,graphics,ok] = set_io(model,graphics,list([in1,in2],it),list([nout,nout2],ot),[],[]);
+ }
+ if (ok) {
+ model.rpar = satur;
+ model.ipar = sgn;
+ graphics.exprs = exprs;
+ this.x.graphics = graphics;
+ this.x.model = model;
+ break;
+ }
+ }
}
}