/* autogenerated from "macros/NonLinear/MAXMIN.sci" */ function MAXMIN() { MAXMIN.prototype.define = function MAXMIN() { model = scicos_model(); model.sim = list("minmax",4); model.out = 1; model.in1 = -1; model.blocktype = "c"; model.dep_ut = [true,false]; model.ipar = 0; exprs = [string(transpose([2,1,1]))]; gr_i = []; this.x = standard_define([2,2],model,exprs,gr_i); this.x.graphics.style = "MAXMIN;displayedLabel=MAX"; return new BasicBlock(this.x); } MAXMIN.prototype.details = function MAXMIN() { return this.x; } MAXMIN.prototype.get = function MAXMIN() { } MAXMIN.prototype.set = function MAXMIN() { this.mm = parseFloat((arguments[0]["mm"])) this.nin = parseFloat((arguments[0]["nin"])) this.zcr = parseFloat((arguments[0]["zcr"])) this.x = arg1; graphics = arg1.graphics; exprs = graphics.exprs; model = arg1.model; while (true) { [ok,this.mm,this.nin,this.zcr,exprs] = scicos_getvalue("Set Max/Min block parameters",["Min (1) or Max (2) ","Number of input vectors (1 or 2)","zero-crossing (1: yes, 0;no)"],list("vec",1,"vec",1,"vec",1),exprs); if (!ok) { break; } if (this.zcr!=0) { this.zcr = -1; } if (this.mm!=1) { this.mm = 2; } if (this.nin!=1&&this.nin!=2) { message("Wrong number of inputs, only 1 and 2 allowed"); ok = false; } if (ok) { if (this.nin==1) { [model,graphics,ok] = check_io(model,graphics,-1,1,[],[]); } else { [model,graphics,ok] = check_io(model,graphics,[-1,-1],-1,[],[]); } } if (ok) { model.nzcross = this.zcr; if (this.nin==1) { model.nmode = abs(this.zcr); } else { model.nmode = this.zcr; } model.ipar = this.mm; if (this.mm==1) { label = "MIN"; } else { label = "MAX"; } graphics.style = "MAXMIN;displayedLabel="+label; graphics.exprs = exprs; this.x.graphics = graphics; this.x.model = model; break; } } return new BasicBlock(this.x); } }