/* autogenerated from "macros/NonLinear/PRODUCT.sci" */ function PRODUCT() { PRODUCT.prototype.define = function PRODUCT() { this.sgn = [[1],[-1]]; this.model = scicos_model(); this.model.sim = list(new ScilabString(["product"]), new ScilabDouble([4])); this.model.in = new ScilabDouble([-1],[-1]); this.model.out = new ScilabDouble([-1]); this.model.ipar = new ScilabDouble(this.sgn); this.model.blocktype = new ScilabString(["c"]); this.model.dep_ut = new ScilabBoolean([true,false]); var exprs = sci2exp(this.sgn); var gr_i = new ScilabString(["xstringb(orig(1),orig(2),\"PRODUCT\",sz(1),sz(2));"]); this.x = new standard_define(new ScilabDouble([2,3]),this.model,new ScilabString([exprs]),gr_i); return new Product(this.x); } PRODUCT.prototype.details = function PRODUCT() { return this.x; } PRODUCT.prototype.get = function PRODUCT() { var options = { sgn:["Number of inputs or sign vector",this.sgn.toString().replace(/,/g," ")], } return options; } PRODUCT.prototype.set = function PRODUCT() { var exprs = this.graphics.exprs; while (true) { var ok = true; this.sgn = inverse(arguments[0]["sgn"]); if (!ok) { break; } this.sgn = this.sgn.slice(); if (size(this.sgn,1)==1) { if (this.sgn<1) { message("Number of inputs must be > 0"); throw "user error"; var ok = false; } else if (this.sgn==1) { var in1 = -1; this.sgn = []; var nout = 1; } else { var in1 = -ones(this.sgn,1); this.sgn = ones(this.sgn,1); var nout = -1; } } else { if (!and(abs(this.sgn)==1)) { message("Signs can only be +1 or -1"); throw "user error"; var ok = false; } else { var in1 = -ones(size(this.sgn,1),1); var nout = -1; } } if (ok) { var tmpvar0 = check_io(this.model,this.graphics,in1,nout,[],[]); this.model = tmpvar0[0]; this.graphics = tmpvar0[1]; var ok = tmpvar0[2]; } if (ok) { this.model.ipar = new ScilabDouble([this.sgn]); this.graphics.exprs = new ScilabDouble([exprs]); this.x.graphics = this.graphics; this.x.model = this.model; break; } } return new Product(this.x); } PRODUCT.prototype.get_popup_title = function PRODUCT() { var set_param_popup_title = " Set multiplication block parameters"; return set_param_popup_title; } }