%% File: sb1varpoly.tlc %% Abstract: %% This block defines a polynomial in one variable or a set of polynomials %% teach described by one variable. %% %% %% Initial coding by A S Bozin %% Copyright 1997-2000 The MathWorks, Inc. %% $Revision: 1.1 $ $Date: 2000/06/14 16:13:25 $ %% %implements sb1varpoly "C" %% Function: Outputs ========================================================== %% Abstract: %% %function Outputs(block, system) Output %assign sfcnName = ParamSettings.FunctionName /* Polynomail in 1 Var Block */ /* % Block: (%): % */ { %assign mode = SFcnParamSettings.pMode %assign lenPoly = SFcnParamSettings.pOrder %assign numOutputs = SFcnParamSettings.pOutputs %assign pptr = LibBlockParameterAddr(pCoeff,"0", "", "") real_T *p = %; int_T j; %assign rollVars = ["Y"] %roll idx = RollRegions, lcv = RollThreshold, block, "Roller", rollVars %assign y = LibBlockOutputSignal(0, "", lcv, "%%") % = 0.0; %endroll %switch(mode) %case 1 { real_T ui = %0", "", "")>; %assign yi = LibBlockOutputSignal(0, "0", "", "") for (j = 0; j < %; ++j) % = % * ui + *p++; } } %break %case 2 { real_T pj; for (j = 0, pj = *p; j < %; ++j, pj = *(++p)) { %assign rollVars = ["U","Y"] %roll idx = RollRegions, lcv = RollThreshold, block, "Roller", rollVars %assign ui = LibBlockInputSignal(0, "", lcv, "%%") %assign yi = LibBlockOutputSignal(0, "", lcv, "%%") % = % * % + pj; %endroll } } %break %case 3 { real_T ui = %0", "", "")>; int_T i; for (j = 0; j < %; ++j) { %assign rollVars = ["Y"] %roll idx = RollRegions, lcv = RollThreshold, block, "Roller", rollVars %assign yi = LibBlockOutputSignal(0, "", lcv, "%%") % = % * ui + *p++; %endroll } } %break %case 4 for (j = 0; j < %; ++j) { %assign rollVars = ["U","Y"] %roll idx = RollRegions, lcv = RollThreshold, block, "Roller", rollVars %assign ui = LibBlockInputSignal(0, "", lcv, "%%") %assign yi = LibBlockOutputSignal(0, "", lcv, "%%") % = % * % + *p++; %endroll } %break %default %endswitch } %endfunction %% Outputs %% [EOF] sb1varpoly.tlc