/* autogenerated from "macros/Threshold/ZCROSS_f.sci" */ function ZCROSS_f() { ZCROSS_f.prototype.define = function ZCROSS_f() { var rpar = [[-1],[-1],[0],[0]]; this.in = 1; this.model = scicos_model(); this.model.sim = list(new ScilabString(["zcross"]), new ScilabDouble([1])); this.model.in = new ScilabDouble([this.in]); this.model.nzcross = new ScilabDouble([this.in]); this.model.evtout = new ScilabDouble([1]); this.model.rpar = new ScilabDouble([-1],[-1],[0],[0]); this.model.blocktype = new ScilabString(["z"]); this.model.firing = new ScilabDouble([-1]); this.model.dep_ut = new ScilabBoolean([true,false]); var exprs = strcat(sci2exp(this.in)); var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"ZCROSS_f\",sz(1),sz(2));"]); this.x = new standard_define(new ScilabDouble([2,2]),this.model,new ScilabDouble([exprs]),gr_i); return new BasicBlock(this.x); } ZCROSS_f.prototype.details = function ZCROSS_f() { return this.x; } ZCROSS_f.prototype.get = function ZCROSS_f() { var exprs = this.graphics.exprs; this.set_param_popup_title = "Set Zero-Crossing parameters"; var options = { in:["Input size",this.in], } return options; } ZCROSS_f.prototype.set = function ZCROSS_f() { var exprs = this.graphics.exprs; while (true) { var ok = true; this.in = parseFloat(arguments[0]["in"]); var exprs = [arguments[0]["in"]]; if (!ok) { break; } this.in = int(this.in); if (this.in<=0) { message("Block must have at least one input"); throw "user error"; } else { var kk = 0; for (jj=1;jj<=this.in;jj+=1) { var kk = kk+2^(this.in+jj-1); } this.model.rpar = new ScilabDouble([-ones(kk,1)],[zeros(2^(2*this.in)-kk,1)]); this.graphics.exprs = new ScilabDouble([exprs]); this.model.in = new ScilabDouble([this.in]); this.model.nzcross = new ScilabDouble([this.in]); this.model.firing = new ScilabDouble([-1]); this.x.graphics = this.graphics; this.x.model = this.model; break; } } return new BasicBlock(this.x); } ZCROSS_f.prototype.get_popup_title = function ZCROSS_f() { return this.set_param_popup_title; } ZCROSS_f.prototype.importset = function ZCROSS_f() { var graphics = this.x.graphics; var ary = getData(graphics.exprs); this.in = ary[0]; } ZCROSS_f.prototype.getContainer = function ZCROSS_f() { return new BasicBlock(this.x); } }