/* autogenerated from "macros/Misc/RELATIONALOP.sci" */ function RELATIONALOP() { RELATIONALOP.prototype.define = function RELATIONALOP() { var ipar = [2]; var label = "<"; this.model = scicos_model(); this.model.sim = list(new ScilabString(["relationalop"]), new ScilabDouble([4])); this.model.in = new ScilabDouble([1],[1]); this.model.out = new ScilabDouble([1]); this.model.ipar = new ScilabDouble(ipar); this.model.blocktype = new ScilabString(["c"]); this.model.dep_ut = new ScilabDouble([true,false]); this.exprs = [[string(ipar)],[string(0)]]; this.gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"RELATIONALOP\",sz(1),sz(2));"]); this.x = standard_define([2,2],this.model,this.exprs,this.gr_i); this.x.graphics.style = ["fontSize=13;fontStyle=1;displayedLabel="+label]; return new BasicBlock(this.x); } RELATIONALOP.prototype.details = function RELATIONALOP() { return this.x; } RELATIONALOP.prototype.get = function RELATIONALOP() { var options = { rule:["Operator: == (0), ~= (1), < (2), <= (3), > (4), >= (5)",this.rule], zcr:["Use zero crossing (no: 0), (yes: 1)",this.zcr], Datatype:["Datatype (1=double 3=int32 ...)",this.Datatype], } return options; } RELATIONALOP.prototype.set = function RELATIONALOP() { this.rule = parseFloat(arguments[0]["rule"]) this.zcr = parseFloat(arguments[0]["zcr"]) this.Datatype = arguments[0]["Datatype"] this.exprs = inverse(arguments[0]["exprs"]) this.exprs = this.graphics.exprs; if (size(this.exprs,1)==2) { this.exprs = [[this.exprs],[sci2exp(1)]]; } while (true) { [ok,this.rule,this.zcr,this.Datatype,this.exprs] = scicos_getvalue("Set parameters",["Operator: == (0), ~= (1), < (2), <= (3), > (4), >= (5)","Use zero crossing (no: 0), (yes: 1)","Datatype (1=double 3=int32 ...)"],list("vec",1,"vec",1,"vec",1),this.exprs); if (!ok) { break; } this.rule = int(this.rule); if (this.zcr!=0) { this.zcr = 1; } if ((this.rule<0)||(this.rule>5)) { message("Incorrect operator "+string(this.rule)+" ; must be 0 to 5."); var ok = false; } if ((this.Datatype==1)) { this.model.sim = list(new ScilabString(["relational_op"]), new ScilabDouble([4])); } else if ((this.Datatype==3||this.Datatype==9)) { this.model.sim = list(new ScilabString(["relational_op_i32"]), new ScilabDouble([4])); } else if ((this.Datatype==4)) { this.model.sim = list(new ScilabString(["relational_op_i16"]), new ScilabDouble([4])); } else if ((this.Datatype==5)) { this.model.sim = list(new ScilabString(["relational_op_i8"]), new ScilabDouble([4])); } else if ((this.Datatype==6)) { this.model.sim = list(new ScilabString(["relational_op_ui32"]), new ScilabDouble([4])); } else if ((this.Datatype==7)) { this.model.sim = list(new ScilabString(["relational_op_ui16"]), new ScilabDouble([4])); } else if ((this.Datatype==8)) { this.model.sim = list(new ScilabString(["relational_op_ui8"]), new ScilabDouble([4])); } else { message("Datatype is not supported"); var ok = false; } if (ok) { var it = this.Datatype*ones(1,2); var ot = this.Datatype; var in1 = [[-1,-2],[-1,-2]]; var out = [-1,-2]; var tmpvar0 = set_io(this.model,this.graphics,list(in1,it),list(out,ot),[],[]); this.model = tmpvar0[0]; this.graphics = tmpvar0[1]; var ok = tmpvar0[2]; } if (ok) { if (this.rule==0) { var label = "=="; } else if (this.rule==1) { var label = "~="; } else if (this.rule==2) { var label = "<"; } else if (this.rule==3) { var label = "≤"; } else if (this.rule==4) { var label = ">"; } else if (this.rule==5) { var label = "≥"; } this.graphics.exprs = new ScilabDouble(this.exprs); this.graphics.style = new ScilabDouble(["fontSize=13;fontStyle=1;displayedLabel="+label]); this.model.ipar = new ScilabDouble([this.rule]); this.model.nzcross = new ScilabDouble([this.zcr]); this.model.nmode = new ScilabDouble([this.zcr]); this.x.graphics = this.graphics; this.x.model = this.model; break; } } return new BasicBlock(this.x); } }