/* 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 ScilabBoolean([true,false]); var exprs = [[string(ipar)],[string(0)]]; var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"RELATIONALOP\",sz(1),sz(2));"]); this.x = new standard_define(new ScilabDouble([2,2]),this.model,new ScilabDouble(exprs),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 exprs = this.graphics.exprs; if (size(exprs,1)==2) { var exprs = [[exprs],[sci2exp(1)]]; } this.set_param_popup_title = "Set parameters"; 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() { var exprs = this.graphics.exprs; if (size(exprs,1)==2) { var exprs = [[exprs],[sci2exp(1)]]; } while (true) { var ok = true; this.rule = parseFloat(arguments[0]["rule"]); this.zcr = parseFloat(arguments[0]["zcr"]); this.Datatype = arguments[0]["Datatype"]; var exprs = [arguments[0]["rule"], arguments[0]["zcr"], arguments[0]["Datatype"]]; 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."); throw "user error"; 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"); throw "user error"; 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(exprs); this.graphics.style = new ScilabString(["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); } RELATIONALOP.prototype.get_popup_title = function RELATIONALOP() { return this.set_param_popup_title; } }