/* autogenerated from "macros/Misc/RELATIONALOP.sci" */ function RELATIONALOP() { RELATIONALOP.prototype.define = function RELATIONALOP() { ipar = [2]; label = "<"; model = scicos_model(); model.sim = list("relationalop",4); model.in1 = [[1],[1]]; model.out = 1; model.ipar = ipar; model.blocktype = "c"; model.dep_ut = [true,false]; exprs = [[string(ipar)],[string(0)]]; gr_i = []; this.x = standard_define([2,2],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() { } RELATIONALOP.prototype.set = function RELATIONALOP() { this.rule = parseFloat((arguments[0]["rule"])) this.zcr = parseFloat((arguments[0]["zcr"])) this.Datatype = parseFloat((arguments[0]["Datatype"])) this.x = arg1; graphics = arg1.graphics; exprs = graphics.exprs; 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)) { model.sim = list("relational_op",4); } else if ((this.Datatype==3||this.Datatype==9)) { model.sim = list("relational_op_i32",4); } else if ((this.Datatype==4)) { model.sim = list("relational_op_i16",4); } else if ((this.Datatype==5)) { model.sim = list("relational_op_i8",4); } else if ((this.Datatype==6)) { model.sim = list("relational_op_ui32",4); } else if ((this.Datatype==7)) { model.sim = list("relational_op_ui16",4); } else if ((this.Datatype==8)) { model.sim = list("relational_op_ui8",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(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]; model.ipar = [this.rule]; model.nzcross = this.zcr; model.nmode = this.zcr; this.x.graphics = graphics; this.x.model = model; break; } } return new BasicBlock(this.x); } }