146 | | <a name="l00119"></a>00119 vec <a class="code" href="classbdm_1_1bilinfn.html#e36a16e72e7f9fedf3cb18d2d5505a24" title="Evaluates .">eval</a> ( <span class="keyword">const</span> vec &x0, <span class="keyword">const</span> vec &u0 ); |
147 | | <a name="l00120"></a><a class="code" href="classbdm_1_1bilinfn.html#33066f1054dd259df2ec5fafae4b46e6">00120</a> <span class="keywordtype">void</span> <a class="code" href="classbdm_1_1bilinfn.html#33066f1054dd259df2ec5fafae4b46e6" title="Evaluates and writes result into A .">dfdx_cond</a> ( <span class="keyword">const</span> vec &x0, <span class="keyword">const</span> vec &u0, mat &F, <span class="keywordtype">bool</span> full ) |
148 | | <a name="l00121"></a>00121 { |
149 | | <a name="l00122"></a>00122 it_assert_debug ( ( F.cols() ==A.cols() ) & ( F.rows() ==A.rows() ),<span class="stringliteral">"Allocated F is not compatible."</span> ); |
150 | | <a name="l00123"></a>00123 <span class="keywordflow">if</span> ( full ) F=A; <span class="comment">//else : nothing has changed no need to regenerate</span> |
| 146 | <a name="l00119"></a><a class="code" href="classbdm_1_1bilinfn.html#846c21e8e8d41555eb7c075f5ff86ffd">00119</a> <span class="keyword">inline</span> vec <a class="code" href="classbdm_1_1bilinfn.html#846c21e8e8d41555eb7c075f5ff86ffd" title="Evaluates .">eval</a> ( <span class="keyword">const</span> vec &x0, <span class="keyword">const</span> vec &u0 ) |
| 147 | <a name="l00120"></a>00120 { |
| 148 | <a name="l00121"></a>00121 it_assert_debug ( x0.length() ==<a class="code" href="classbdm_1_1diffbifn.html#a193aa2c4a500139c0c4b669691e588e" title="cache for rvx.count()">dimx</a>, <span class="stringliteral">"linfn::eval Wrong xcond."</span> ); |
| 149 | <a name="l00122"></a>00122 it_assert_debug ( u0.length() ==<a class="code" href="classbdm_1_1diffbifn.html#30c45617eec89adeb4ebaa763d093fb0" title="cache for rvu.count()">dimu</a>, <span class="stringliteral">"linfn::eval Wrong ucond."</span> ); |
| 150 | <a name="l00123"></a>00123 <span class="keywordflow">return</span> A*x0+B*u0; |
157 | | <a name="l00132"></a>00132 }; |
158 | | <a name="l00133"></a>00133 |
159 | | <a name="l00134"></a>00134 } <span class="comment">//namespace</span> |
160 | | <a name="l00135"></a>00135 <span class="preprocessor">#endif // FN_H</span> |
| 158 | <a name="l00132"></a><a class="code" href="classbdm_1_1bilinfn.html#9cfe2f1c115ba7c3c75849a10a4f2c08">00132</a> <span class="keywordtype">void</span> <a class="code" href="classbdm_1_1bilinfn.html#9cfe2f1c115ba7c3c75849a10a4f2c08" title="Evaluates and writes result into A .">dfdu_cond</a> ( <span class="keyword">const</span> vec &x0, <span class="keyword">const</span> vec &u0, mat &F, <span class="keywordtype">bool</span> full=<span class="keyword">true</span> ) |
| 159 | <a name="l00133"></a>00133 { |
| 160 | <a name="l00134"></a>00134 it_assert_debug ( ( F.cols() ==B.cols() ) & ( F.rows() ==B.rows() ),<span class="stringliteral">"Allocated F is not compatible."</span> ); |
| 161 | <a name="l00135"></a>00135 <span class="keywordflow">if</span> ( full ) F=B; <span class="comment">//else : nothing has changed no need to regenerate</span> |
| 162 | <a name="l00136"></a>00136 } |
| 163 | <a name="l00138"></a>00138 }; |
| 164 | <a name="l00139"></a>00139 |
| 165 | <a name="l00140"></a>00140 } <span class="comment">//namespace</span> |
| 166 | <a name="l00141"></a>00141 <span class="preprocessor">#endif // FN_H</span> |