diff options
Diffstat (limited to 'js/MatrixOp/EXTRACT.js')
-rw-r--r-- | js/MatrixOp/EXTRACT.js | 111 |
1 files changed, 56 insertions, 55 deletions
diff --git a/js/MatrixOp/EXTRACT.js b/js/MatrixOp/EXTRACT.js index 0d5e5c18..4afd5810 100644 --- a/js/MatrixOp/EXTRACT.js +++ b/js/MatrixOp/EXTRACT.js @@ -22,71 +22,72 @@ function EXTRACT() { model.dep_ut = [true,false]; label = [[sci2exp(1)],[sci2exp([1])],[sci2exp([1])]]; gr_i = []; - x = standard_define([3,2],model,label,gr_i); + this.x = standard_define([3,2],model,label,gr_i); } EXTRACT.prototype.details = function EXTRACT() { + return this.x; } EXTRACT.prototype.get = function EXTRACT() { } EXTRACT.prototype.set = function EXTRACT() { - x = arg1; + this.x = arg1; graphics = arg1.graphics; label = graphics.exprs; model = arg1.model; if (size(label,"*")==14) { - label[9-1] = []; -} + label[9-1] = []; + } while (true) { - [ok,typ,a,b,exprs] = scicos_getvalue("Set EXTRACT Block",[["Datatype (1=real double 2=Complex)"],["Lines to extract"],["Columns to extract"]],list("vec",1,"mat",[1,-1],"mat",[1,-1]),label); - a = a.slice(); - b = b.slice(); - if (!ok) { -break; -} - if ((typ==1)) { - function_name = "extract"; - ot = 1; - it = 1; - } else if ((typ==2)) { - function_name = "extractz"; - ot = 2; - it = 2; - } else { -message("Datatype is not supported"); - ok = false; -} - ma = size(a,1); - mb = size(b,1); - if ((ma==0||mb==0)) { -message("empty field"); - ok = false; -} -for (i=1;i<=ma;i+=1) { - if ((a[i-1]<=0)) { -message("invalid index"); - ok = false; -} -} -for (j=1;j<=mb;j+=1) { - if ((b[j-1]<=0)) { -message("invalid index"); - ok = false; -} -} - model.ipar = [[a],[b],[ma],[mb]]; - in1 = [model.in1,model.in2]; - out = [ma,mb]; - funtyp = 4; - if (ok) { - label = exprs; - [model,graphics,ok] = set_io(model,graphics,list(in1,it),list(out,ot),[],[]); - model.sim = list(function_name,funtyp); - graphics.exprs = label; - arg1.graphics = graphics; - arg1.model = model; - x = arg1; -break; -} -} + [ok,typ,a,b,exprs] = scicos_getvalue("Set EXTRACT Block",[["Datatype (1=real double 2=Complex)"],["Lines to extract"],["Columns to extract"]],list("vec",1,"mat",[1,-1],"mat",[1,-1]),label); + a = a.slice(); + b = b.slice(); + if (!ok) { + break; + } + if ((typ==1)) { + function_name = "extract"; + ot = 1; + it = 1; + } else if ((typ==2)) { + function_name = "extractz"; + ot = 2; + it = 2; + } else { + message("Datatype is not supported"); + ok = false; + } + ma = size(a,1); + mb = size(b,1); + if ((ma==0||mb==0)) { + message("empty field"); + ok = false; + } + for (i=1;i<=ma;i+=1) { + if ((a[i-1]<=0)) { + message("invalid index"); + ok = false; + } + } + for (j=1;j<=mb;j+=1) { + if ((b[j-1]<=0)) { + message("invalid index"); + ok = false; + } + } + model.ipar = [[a],[b],[ma],[mb]]; + in1 = [model.in1,model.in2]; + out = [ma,mb]; + funtyp = 4; + if (ok) { + label = exprs; + [model,graphics,ok] = set_io(model,graphics,list(in1,it),list(out,ot),[],[]); + model.sim = list(function_name,funtyp); + graphics.exprs = label; + arg1.graphics = graphics; + arg1.model = model; + this.x = arg1; + break; + } + } } } |