/* autogenerated from "macros/Branching/SELECT_m.sci" */ function SELECT_m() { SELECT_m.prototype.define = function SELECT_m() { this.z0 = 1; this.nin = 2; this.model = scicos_model(); this.model.sim = list(new ScilabString(["selector_m"]), new ScilabDouble([4])); this.model.in1 = [[-1],[-1]]; this.model.in2 = [[-2],[-2]]; this.model.intyp = new ScilabDouble([1]); this.model.out = new ScilabDouble([-1]); this.model.out2 = new ScilabDouble([-2]); this.model.outtyp = new ScilabDouble([1]); this.model.evtout = []; this.model.state = []; this.model.rpar = []; this.model.ipar = []; this.model.firing = []; this.model.evtin = new ScilabDouble([ones(this.nin,1)]); this.model.dstate = new ScilabDouble([this.z0]); this.model.blocktype = new ScilabString(["c"]); this.model.dep_ut = [true,false]; exprs = [[sci2exp(1)],[sci2exp(this.nin)],[sci2exp(this.z0)]]; gr_i = []; this.x = standard_define([3,2],this.model,exprs,gr_i); return new BasicBlock(this.x); } SELECT_m.prototype.details = function SELECT_m() { return this.x; } SELECT_m.prototype.get = function SELECT_m() { var options = { typ:["Datatype(1= real double 2=Complex 3=int32 ..)",this.typ], nin:["number of inputs",this.nin], z0:["initial connected input",this.z0], } return options; } SELECT_m.prototype.set = function SELECT_m() { this.typ = inverse(arguments[0]["typ"]) this.nin = parseFloat(arguments[0]["nin"]) this.z0 = parseFloat(arguments[0]["z0"]) this.x = arg1; graphics = arg1.graphics; exprs = graphics.exprs; this.model = arg1.model; while (true) { [ok,this.typ,this.nin,this.z0,exprs] = scicos_getvalue("Set parameters",["Datatype(1= real double 2=Complex 3=int32 ..)","number of inputs","initial connected input"],list("vec",1,"vec",1,"vec",1),exprs); if (!ok) { break; } if (this.z0>this.nin||this.z0<=0) { message("initial connected input is not a valid input port number"); } else if (((this.typ<1)||(this.typ>8))&&(this.typ!=-1)) { message("Datatype is not supported"); ok = false; } else { it = this.typ*ones(1,this.nin); ot = this.typ; if (ok) { in1 = [-ones(this.nin,1),-2*ones(this.nin,1)]; out = [-1,-2]; [this.model,graphics,ok] = set_io(this.model,graphics,list(in1,it),list(out,ot),ones(this.nin,1),[]); if (ok) { graphics.exprs = exprs; this.model.dstate = new ScilabDouble([this.z0]); this.x.graphics = graphics; this.x.model = this.model; break; } } } } return new BasicBlock(this.x); } }