/* autogenerated from "macros/Misc/RELATIONALOP.sci" */ function RELATIONALOP() { RELATIONALOP.prototype.define = function RELATIONALOP() { ipar = [2]; label = "<"; this.model = scicos_model(); this.model.sim = list(new ScilabString(["relationalop"]), new ScilabDouble([4])); this.model.in1 = [[1],[1]]; this.model.out = new ScilabDouble([1]); this.model.ipar = ipar; this.model.blocktype = new ScilabString(["c"]); this.model.dep_ut = [true,false]; exprs = [[string(ipar)],[string(0)]]; gr_i = []; this.x = standard_define([2,2],this.model,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 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.x = arg1; graphics = arg1.graphics; exprs = graphics.exprs; this.model = arg1.model; if (size(exprs,1)==2) { exprs = [[exprs],[sci2exp(1)]]; } while (true) { [ok,this.rule,this.zcr,this.Datatype,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),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."); 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"); ok = false; } if (ok) { it = this.Datatype*ones(1,2); ot = this.Datatype; in1 = [[-1,-2],[-1,-2]]; out = [-1,-2]; [model,graphics,ok] = set_io(this.model,graphics,list(in1,it),list(out,ot),[],[]); } if (ok) { if (this.rule==0) { label = "=="; } else if (this.rule==1) { label = "~="; } else if (this.rule==2) { label = "<"; } else if (this.rule==3) { label = "≤"; } else if (this.rule==4) { label = ">"; } else if (this.rule==5) { label = "≥"; } graphics.exprs = exprs; graphics.style = ["fontSize=13;fontStyle=1;displayedLabel="+label]; this.model.ipar = [this.rule]; this.model.nzcross = new ScilabDouble([this.zcr]); this.model.nmode = new ScilabDouble([this.zcr]); this.x.graphics = graphics; this.x.model = this.model; break; } } return new BasicBlock(this.x); } }