<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.5.6">
  <compounddef id="libFN_8h" kind="file">
    <compoundname>libFN.h</compoundname>
    <includes local="no">itpp/itbase.h</includes>
    <includes refid="libBM_8h" local="yes">libBM.h</includes>
    <includedby refid="arx_8h" local="yes">work/git/mixpp/bdm/estim/arx.h</includedby>
    <includedby refid="libKF_8h" local="yes">work/git/mixpp/bdm/estim/libKF.h</includedby>
    <includedby refid="libFN_8cpp" local="yes">work/git/mixpp/bdm/stat/libFN.cpp</includedby>
    <includedby refid="pmsm_8h" local="no">work/git/mixpp/pmsm/pmsm.h</includedby>
    <includedby refid="pmsm__mix_8cpp" local="no">work/git/mixpp/pmsm/pmsm_mix.cpp</includedby>
    <includedby refid="pmsm__sim_8cpp" local="no">work/git/mixpp/pmsm/pmsm_sim.cpp</includedby>
    <includedby refid="pmsm__sim2_8cpp" local="no">work/git/mixpp/pmsm/pmsm_sim2.cpp</includedby>
    <includedby refid="pmsm__sim3_8cpp" local="no">work/git/mixpp/pmsm/pmsm_sim3.cpp</includedby>
    <includedby refid="pmsm__unkQ_8cpp" local="no">work/git/mixpp/pmsm/pmsm_unkQ.cpp</includedby>
    <includedby refid="pmsm__unkQpf_8cpp" local="no">work/git/mixpp/pmsm/pmsm_unkQpf.cpp</includedby>
    <includedby refid="sim__var_8cpp" local="no">work/git/mixpp/pmsm/sim_var.cpp</includedby>
    <incdepgraph>
      <node id="414">
        <label>libBM.h</label>
        <link refid="libBM_8h"/>
        <childnode refid="413" relation="include">
        </childnode>
      </node>
      <node id="412">
        <label>work/git/mixpp/bdm/stat/libFN.h</label>
        <link refid="libFN.h"/>
        <childnode refid="413" relation="include">
        </childnode>
        <childnode refid="414" relation="include">
        </childnode>
      </node>
      <node id="413">
        <label>itpp/itbase.h</label>
      </node>
    </incdepgraph>
    <invincdepgraph>
      <node id="423">
        <label>work/git/mixpp/pmsm/pmsm.h</label>
        <link refid="pmsm_8h-source"/>
        <childnode refid="420" relation="include">
        </childnode>
        <childnode refid="421" relation="include">
        </childnode>
      </node>
      <node id="419">
        <label>work/git/mixpp/bdm/estim/ekf_templ.h</label>
        <link refid="ekf__templ_8h"/>
        <childnode refid="420" relation="include">
        </childnode>
      </node>
      <node id="416">
        <label>work/git/mixpp/bdm/estim/arx.h</label>
        <link refid="arx_8h"/>
        <childnode refid="417" relation="include">
        </childnode>
      </node>
      <node id="415">
        <label>work/git/mixpp/bdm/stat/libFN.h</label>
        <link refid="libFN.h"/>
        <childnode refid="416" relation="include">
        </childnode>
        <childnode refid="418" relation="include">
        </childnode>
        <childnode refid="423" relation="include">
        </childnode>
        <childnode refid="420" relation="include">
        </childnode>
        <childnode refid="421" relation="include">
        </childnode>
      </node>
      <node id="417">
        <label>work/git/mixpp/pmsm/sim_var_arx.cpp</label>
        <link refid="sim__var__arx_8cpp"/>
      </node>
      <node id="421">
        <label>work/git/mixpp/pmsm/sim_var.cpp</label>
        <link refid="sim__var_8cpp"/>
      </node>
      <node id="418">
        <label>work/git/mixpp/bdm/estim/libKF.h</label>
        <link refid="libKF_8h"/>
        <childnode refid="419" relation="include">
        </childnode>
        <childnode refid="421" relation="include">
        </childnode>
        <childnode refid="422" relation="include">
        </childnode>
      </node>
      <node id="422">
        <label>work/git/mixpp/pmsm/simulator_zdenek/ekf_example/ekf_obj.h</label>
        <link refid="ekf__obj_8h"/>
      </node>
      <node id="420">
        <label>work/git/mixpp/pmsm/pmsm_mix.cpp</label>
        <link refid="pmsm__mix_8cpp"/>
      </node>
    </invincdepgraph>
    <innerclass refid="classconstfn" prot="public">constfn</innerclass>
    <innerclass refid="classlinfn" prot="public">linfn</innerclass>
    <innerclass refid="classdiffbifn" prot="public">diffbifn</innerclass>
    <innerclass refid="classbilinfn" prot="public">bilinfn</innerclass>
    <briefdescription>
    </briefdescription>
    <detaileddescription>
    </detaileddescription>
    <programlisting>
<codeline lineno="1"><highlight class="comment">//</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="2"><highlight class="normal"></highlight><highlight class="comment">//<sp/>C++<sp/>Interface:<sp/>itpp_ext</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="3"><highlight class="normal"></highlight><highlight class="comment">//</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="4"><highlight class="normal"></highlight><highlight class="comment">//<sp/>Description:</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="5"><highlight class="normal"></highlight><highlight class="comment">//</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="6"><highlight class="normal"></highlight><highlight class="comment">//</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="7"><highlight class="normal"></highlight><highlight class="comment">//<sp/>Author:<sp/>smidl<sp/>&lt;smidl@utia.cas.cz&gt;,<sp/>(C)<sp/>2008</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="8"><highlight class="normal"></highlight><highlight class="comment">//</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="9"><highlight class="normal"></highlight><highlight class="comment">//<sp/>Copyright:<sp/>See<sp/>COPYING<sp/>file<sp/>that<sp/>comes<sp/>with<sp/>this<sp/>distribution</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="10"><highlight class="normal"></highlight><highlight class="comment">//</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="11"><highlight class="normal"></highlight><highlight class="comment">//</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="12"><highlight class="normal"></highlight><highlight class="preprocessor">#ifndef<sp/>FN_H</highlight></codeline>
<codeline lineno="13"><highlight class="preprocessor"></highlight><highlight class="preprocessor">#define<sp/>FN_H</highlight></codeline>
<codeline lineno="14"><highlight class="preprocessor"></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="15"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&lt;itpp/itbase.h&gt;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="16"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;<ref refid="libBM_8h" kindref="compound" tooltip="Bayesian Models (bm) that use Bayes rule to learn from observations.">libBM.h</ref>&quot;</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="17"><highlight class="normal"></highlight></codeline>
<codeline lineno="18"><highlight class="normal"></highlight><highlight class="keyword">using<sp/>namespace<sp/></highlight><highlight class="normal">itpp;</highlight></codeline>
<codeline lineno="19"><highlight class="normal"></highlight></codeline>
<codeline lineno="21" refid="classconstfn" refkind="compound"><highlight class="keyword">class<sp/></highlight><highlight class="normal"><ref refid="classconstfn" kindref="compound" tooltip="class representing function , here rv is empty">constfn</ref><sp/>:<sp/></highlight><highlight class="keyword">public</highlight><highlight class="normal"><sp/><ref refid="classfnc" kindref="compound" tooltip="Class representing function  of variable  represented by rv.">fnc</ref></highlight></codeline>
<codeline lineno="22"><highlight class="normal">{</highlight></codeline>
<codeline lineno="24"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>vec<sp/>val;</highlight></codeline>
<codeline lineno="25"><highlight class="normal"></highlight></codeline>
<codeline lineno="26"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">public</highlight><highlight class="normal">:</highlight></codeline>
<codeline lineno="27"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//vec<sp/>eval()<sp/>{return<sp/>val;};</highlight></codeline>
<codeline lineno="29" refid="classconstfn_10411f603cbf675f2bc04a8f85e4e3b52" refkind="member"><highlight class="comment"></highlight><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>vec<sp/><ref refid="classconstfn_10411f603cbf675f2bc04a8f85e4e3b52" kindref="member" tooltip="inherited">eval</ref><sp/>(<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>vec<sp/>&amp;cond<sp/>)<sp/>{</highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>val;};</highlight></codeline>
<codeline lineno="31" refid="classconstfn_1d08acd7fac0ef3edfa59bbe48403f2bc" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classconstfn_1d08acd7fac0ef3edfa59bbe48403f2bc" kindref="member" tooltip="Default constructor.">constfn</ref><sp/>(<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>vec<sp/>&amp;val0<sp/>)<sp/>:<ref refid="classfnc" kindref="compound" tooltip="Class representing function  of variable  represented by rv.">fnc</ref>(val0.length()),<sp/>val<sp/>(<sp/>val0<sp/>)<sp/>{};</highlight></codeline>
<codeline lineno="32"><highlight class="normal">};</highlight></codeline>
<codeline lineno="33"><highlight class="normal"></highlight></codeline>
<codeline lineno="35" refid="classlinfn" refkind="compound"><highlight class="keyword">class<sp/></highlight><highlight class="normal"><ref refid="classlinfn" kindref="compound" tooltip="Class representing function .">linfn</ref>:<sp/></highlight><highlight class="keyword">public</highlight><highlight class="normal"><sp/><ref refid="classfnc" kindref="compound" tooltip="Class representing function  of variable  represented by rv.">fnc</ref></highlight></codeline>
<codeline lineno="36"><highlight class="normal">{</highlight></codeline>
<codeline lineno="38"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classRV" kindref="compound" tooltip="Class representing variables, most often random variables.">RV</ref><sp/>rv;</highlight></codeline>
<codeline lineno="40"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>mat<sp/>A;</highlight></codeline>
<codeline lineno="42"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>vec<sp/>B;</highlight></codeline>
<codeline lineno="43"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">public</highlight><highlight class="normal"><sp/>:</highlight></codeline>
<codeline lineno="44" refid="classlinfn_1fac0e56701f4c7beaf1c91f9b2a55f0b" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>vec<sp/><ref refid="classlinfn_1fac0e56701f4c7beaf1c91f9b2a55f0b" kindref="member" tooltip="function evaluates numerical value of  at  cond ">eval</ref><sp/>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>vec<sp/>&amp;cond<sp/>)<sp/>{it_assert_debug<sp/>(<sp/>cond.length()<sp/>==rv.<ref refid="classRV_1f5c7b8bd589eef09ccdf3329a0addea0" kindref="member" tooltip="Return number of scalars in the RV.">count</ref>(),<sp/></highlight><highlight class="stringliteral">&quot;linfn::eval<sp/>Wrong<sp/>cond.&quot;</highlight><highlight class="normal"><sp/>);</highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>A*cond+B;};</highlight></codeline>
<codeline lineno="45"><highlight class="normal"></highlight></codeline>
<codeline lineno="46"><highlight class="normal"></highlight><highlight class="comment">//<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>linfn<sp/>evalsome<sp/>(<sp/>ivec<sp/>&amp;rvind<sp/>);</highlight></codeline>
<codeline lineno="48" refid="classlinfn_101c70122a7783ddb0d87e6a82685adcb" refkind="member"><highlight class="comment"></highlight><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classlinfn_101c70122a7783ddb0d87e6a82685adcb" kindref="member" tooltip="default constructor">linfn</ref><sp/>(<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classRV" kindref="compound" tooltip="Class representing variables, most often random variables.">RV</ref><sp/>&amp;rv0<sp/>)<sp/>:<sp/><ref refid="classfnc" kindref="compound" tooltip="Class representing function  of variable  represented by rv.">fnc</ref>(rv0.count()),<sp/>rv<sp/>(<sp/>rv0<sp/>),A<sp/>(<sp/>eye<sp/>(<sp/>rv0.count()<sp/>)<sp/>),B<sp/>(<sp/>zeros<sp/>(<sp/>rv0.count()<sp/>)<sp/>)<sp/>{<sp/>};</highlight></codeline>
<codeline lineno="50" refid="classlinfn_115eb81f2141984a61706b7ad5b411505" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classlinfn_115eb81f2141984a61706b7ad5b411505" kindref="member" tooltip="Set values of A and B.">set_parameters</ref><sp/>(<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>mat<sp/>&amp;A0<sp/>,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>vec<sp/>&amp;B0<sp/>)<sp/>{A=A0;<sp/>B=B0;};</highlight></codeline>
<codeline lineno="51"><highlight class="normal">};</highlight></codeline>
<codeline lineno="52"><highlight class="normal"></highlight></codeline>
<codeline lineno="53"><highlight class="normal"></highlight></codeline>
<codeline lineno="63" refid="classdiffbifn" refkind="compound"><highlight class="keyword">class<sp/></highlight><highlight class="normal"><ref refid="classdiffbifn" kindref="compound" tooltip="Class representing a differentiable function of two variables .">diffbifn</ref>:<sp/></highlight><highlight class="keyword">public</highlight><highlight class="normal"><sp/><ref refid="classfnc" kindref="compound" tooltip="Class representing function  of variable  represented by rv.">fnc</ref></highlight></codeline>
<codeline lineno="64"><highlight class="normal">{</highlight></codeline>
<codeline lineno="65"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">protected</highlight><highlight class="normal">:</highlight></codeline>
<codeline lineno="67" refid="classdiffbifn_1bcf96b86250c3cbd465ba5ee62474b75" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classRV" kindref="compound" tooltip="Class representing variables, most often random variables.">RV</ref><sp/><ref refid="classdiffbifn_1bcf96b86250c3cbd465ba5ee62474b75" kindref="member" tooltip="Indentifier of the first rv.">rvx</ref>;</highlight></codeline>
<codeline lineno="69" refid="classdiffbifn_1c41c74c7942dba51ef0b0bfed963447d" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classRV" kindref="compound" tooltip="Class representing variables, most often random variables.">RV</ref><sp/><ref refid="classdiffbifn_1c41c74c7942dba51ef0b0bfed963447d" kindref="member" tooltip="Indentifier of the second rv.">rvu</ref>;</highlight></codeline>
<codeline lineno="71" refid="classdiffbifn_1f6918bc0a9dad656b4cddc028137eb78" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="classdiffbifn_1f6918bc0a9dad656b4cddc028137eb78" kindref="member" tooltip="cache for rvx.count()">dimx</ref>;</highlight></codeline>
<codeline lineno="73" refid="classdiffbifn_12e07ce491e973f03d763e37624d0fe79" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="classdiffbifn_12e07ce491e973f03d763e37624d0fe79" kindref="member" tooltip="cache for rvu.count()">dimu</ref>;</highlight></codeline>
<codeline lineno="74"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">public</highlight><highlight class="normal">:</highlight></codeline>
<codeline lineno="76" refid="classdiffbifn_1ad7673e16aa1a046b131b24c731c4632" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>vec<sp/><ref refid="classdiffbifn_1ad7673e16aa1a046b131b24c731c4632" kindref="member" tooltip="Evaluates  (VS: Do we really need common eval? ).">eval</ref><sp/>(<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>vec<sp/>&amp;cond<sp/>)</highlight></codeline>
<codeline lineno="77"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>{</highlight></codeline>
<codeline lineno="78"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>it_assert_debug<sp/>(<sp/>cond.length()<sp/>==<sp/>(<sp/><ref refid="classdiffbifn_1f6918bc0a9dad656b4cddc028137eb78" kindref="member" tooltip="cache for rvx.count()">dimx</ref>+<ref refid="classdiffbifn_12e07ce491e973f03d763e37624d0fe79" kindref="member" tooltip="cache for rvu.count()">dimu</ref><sp/>),<sp/></highlight><highlight class="stringliteral">&quot;linfn::eval<sp/>Wrong<sp/>cond.&quot;</highlight><highlight class="normal"><sp/>);</highlight></codeline>
<codeline lineno="79"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="classdiffbifn_1ad7673e16aa1a046b131b24c731c4632" kindref="member" tooltip="Evaluates  (VS: Do we really need common eval? ).">eval</ref><sp/>(<sp/>cond<sp/>(<sp/>0,<ref refid="classdiffbifn_1f6918bc0a9dad656b4cddc028137eb78" kindref="member" tooltip="cache for rvx.count()">dimx</ref>-1<sp/>),cond<sp/>(<sp/><ref refid="classdiffbifn_1f6918bc0a9dad656b4cddc028137eb78" kindref="member" tooltip="cache for rvx.count()">dimx</ref>,<ref refid="classdiffbifn_1f6918bc0a9dad656b4cddc028137eb78" kindref="member" tooltip="cache for rvx.count()">dimx</ref>+<ref refid="classdiffbifn_12e07ce491e973f03d763e37624d0fe79" kindref="member" tooltip="cache for rvu.count()">dimu</ref><sp/>)<sp/>);</highlight><highlight class="comment">//-1<sp/>=<sp/>end<sp/>(in<sp/>matlab)</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="80"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>};</highlight></codeline>
<codeline lineno="81"><highlight class="normal"></highlight></codeline>
<codeline lineno="83" refid="classdiffbifn_140d8a7eee45acc55cda33d43282faa03" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">virtual</highlight><highlight class="normal"><sp/>vec<sp/><ref refid="classdiffbifn_1ad7673e16aa1a046b131b24c731c4632" kindref="member" tooltip="Evaluates  (VS: Do we really need common eval? ).">eval</ref><sp/>(<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>vec<sp/>&amp;x0,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>vec<sp/>&amp;u0<sp/>)<sp/>{</highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>zeros<sp/>(<sp/><ref refid="classfnc_122d51d10a7901331167f64f80d1af8e9" kindref="member" tooltip="Length of the output vector.">dimy</ref><sp/>);};</highlight></codeline>
<codeline lineno="85" refid="classdiffbifn_16d217a02d4fa13931258d4bebdd0feb4" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">virtual</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classdiffbifn_16d217a02d4fa13931258d4bebdd0feb4" kindref="member" tooltip="Evaluates  and writes result into A .">dfdx_cond</ref><sp/>(<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>vec<sp/>&amp;x0,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>vec<sp/>&amp;u0,<sp/>mat<sp/>&amp;A<sp/>,<sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/>full=</highlight><highlight class="keyword">true</highlight><highlight class="normal"><sp/>)<sp/>{};</highlight></codeline>
<codeline lineno="87" refid="classdiffbifn_11978bafd7909d15c139a08c495c24aa0" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">virtual</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classdiffbifn_11978bafd7909d15c139a08c495c24aa0" kindref="member" tooltip="Evaluates  and writes result into A .">dfdu_cond</ref><sp/>(<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>vec<sp/>&amp;x0,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>vec<sp/>&amp;u0,<sp/>mat<sp/>&amp;A,<sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/>full=</highlight><highlight class="keyword">true</highlight><highlight class="normal"><sp/>)<sp/>{};</highlight></codeline>
<codeline lineno="89" refid="classdiffbifn_1797772c0d5aab8ddccec19dfe4bb2d77" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classdiffbifn_1797772c0d5aab8ddccec19dfe4bb2d77" kindref="member" tooltip="Default constructor (dimy is not set!).">diffbifn</ref><sp/>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="classfnc_122d51d10a7901331167f64f80d1af8e9" kindref="member" tooltip="Length of the output vector.">dimy</ref>,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classRV" kindref="compound" tooltip="Class representing variables, most often random variables.">RV</ref><sp/>rvx0,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classRV" kindref="compound" tooltip="Class representing variables, most often random variables.">RV</ref><sp/>rvu0<sp/>)<sp/>:<sp/><ref refid="classfnc" kindref="compound" tooltip="Class representing function  of variable  represented by rv.">fnc</ref>(dimy),<sp/><ref refid="classdiffbifn_1bcf96b86250c3cbd465ba5ee62474b75" kindref="member" tooltip="Indentifier of the first rv.">rvx</ref><sp/>(<sp/>rvx0<sp/>),<ref refid="classdiffbifn_1c41c74c7942dba51ef0b0bfed963447d" kindref="member" tooltip="Indentifier of the second rv.">rvu</ref><sp/>(<sp/>rvu0<sp/>)<sp/>{<ref refid="classdiffbifn_1f6918bc0a9dad656b4cddc028137eb78" kindref="member" tooltip="cache for rvx.count()">dimx</ref>=<ref refid="classdiffbifn_1bcf96b86250c3cbd465ba5ee62474b75" kindref="member" tooltip="Indentifier of the first rv.">rvx</ref>.<ref refid="classRV_1f5c7b8bd589eef09ccdf3329a0addea0" kindref="member" tooltip="Return number of scalars in the RV.">count</ref>();<ref refid="classdiffbifn_12e07ce491e973f03d763e37624d0fe79" kindref="member" tooltip="cache for rvu.count()">dimu</ref>=<ref refid="classdiffbifn_1c41c74c7942dba51ef0b0bfed963447d" kindref="member" tooltip="Indentifier of the second rv.">rvu</ref>.<ref refid="classRV_1f5c7b8bd589eef09ccdf3329a0addea0" kindref="member" tooltip="Return number of scalars in the RV.">count</ref>();};</highlight></codeline>
<codeline lineno="91" refid="classdiffbifn_1436de7a7301ea9eac7d6081b893bbf57" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="classdiffbifn_1436de7a7301ea9eac7d6081b893bbf57" kindref="member" tooltip="access function">_dimx</ref>()</highlight><highlight class="keyword"><sp/>const</highlight><highlight class="normal">{</highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="classdiffbifn_1f6918bc0a9dad656b4cddc028137eb78" kindref="member" tooltip="cache for rvx.count()">dimx</ref>;}</highlight></codeline>
<codeline lineno="93" refid="classdiffbifn_1fc8779acbff170611aff0ee70cee3879" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="classdiffbifn_1fc8779acbff170611aff0ee70cee3879" kindref="member" tooltip="access function">_dimu</ref>()</highlight><highlight class="keyword"><sp/>const</highlight><highlight class="normal">{</highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="classdiffbifn_12e07ce491e973f03d763e37624d0fe79" kindref="member" tooltip="cache for rvu.count()">dimu</ref>;}</highlight></codeline>
<codeline lineno="94"><highlight class="normal">};</highlight></codeline>
<codeline lineno="95"><highlight class="normal"></highlight></codeline>
<codeline lineno="97"><highlight class="comment">//TODO<sp/>can<sp/>be<sp/>generalized<sp/>into<sp/>multilinear<sp/>form!</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="98" refid="classbilinfn" refkind="compound"><highlight class="normal"></highlight><highlight class="keyword">class<sp/></highlight><highlight class="normal"><ref refid="classbilinfn" kindref="compound" tooltip="Class representing function .">bilinfn</ref>:<sp/></highlight><highlight class="keyword">public</highlight><highlight class="normal"><sp/><ref refid="classdiffbifn" kindref="compound" tooltip="Class representing a differentiable function of two variables .">diffbifn</ref></highlight></codeline>
<codeline lineno="99"><highlight class="normal">{</highlight></codeline>
<codeline lineno="100"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>mat<sp/>A;</highlight></codeline>
<codeline lineno="101"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>mat<sp/>B;</highlight></codeline>
<codeline lineno="102"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">public</highlight><highlight class="normal"><sp/>:</highlight></codeline>
<codeline lineno="103"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>vec<sp/><ref refid="classbilinfn_1e36a16e72e7f9fedf3cb18d2d5505a24" kindref="member" tooltip="Evaluates .">eval</ref><sp/>(<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><sp/>vec<sp/>&amp;x0,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>vec<sp/>&amp;u0<sp/>);</highlight></codeline>
<codeline lineno="104"><highlight class="normal"></highlight></codeline>
<codeline lineno="106" refid="classbilinfn_1af9f36282730d910a41b95f4d1fb8221" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classbilinfn_1af9f36282730d910a41b95f4d1fb8221" kindref="member" tooltip="Default constructor.">bilinfn</ref><sp/>(<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classRV" kindref="compound" tooltip="Class representing variables, most often random variables.">RV</ref><sp/>&amp;rvx0,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classRV" kindref="compound" tooltip="Class representing variables, most often random variables.">RV</ref><sp/>&amp;rvu0<sp/>)<sp/>:<sp/><ref refid="classdiffbifn" kindref="compound" tooltip="Class representing a differentiable function of two variables .">diffbifn</ref><sp/>(<ref refid="classdiffbifn_1f6918bc0a9dad656b4cddc028137eb78" kindref="member" tooltip="cache for rvx.count()">dimx</ref>,<sp/>rvx0,rvu0<sp/>)<sp/>,A<sp/>(<sp/>eye<sp/>(<sp/><ref refid="classdiffbifn_1f6918bc0a9dad656b4cddc028137eb78" kindref="member" tooltip="cache for rvx.count()">dimx</ref><sp/>)<sp/>),B<sp/>(<sp/>zeros<sp/>(<sp/><ref refid="classdiffbifn_1f6918bc0a9dad656b4cddc028137eb78" kindref="member" tooltip="cache for rvx.count()">dimx</ref>,<ref refid="classdiffbifn_12e07ce491e973f03d763e37624d0fe79" kindref="member" tooltip="cache for rvu.count()">dimu</ref><sp/>)<sp/>)<sp/><sp/>{};</highlight></codeline>
<codeline lineno="108"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classbilinfn_1af9f36282730d910a41b95f4d1fb8221" kindref="member" tooltip="Default constructor.">bilinfn</ref><sp/>(<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classRV" kindref="compound" tooltip="Class representing variables, most often random variables.">RV</ref><sp/>&amp;rvx0,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classRV" kindref="compound" tooltip="Class representing variables, most often random variables.">RV</ref><sp/>&amp;rvu0,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>mat<sp/>&amp;A0,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>mat<sp/>&amp;B0<sp/>);</highlight></codeline>
<codeline lineno="110" refid="classbilinfn_179c022de8dbe2b054bb9cc49345f3ef5" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classbilinfn_179c022de8dbe2b054bb9cc49345f3ef5" kindref="member" tooltip="Evaluates  and writes result into A .">dfdx_cond</ref><sp/>(<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>vec<sp/>&amp;x0,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>vec<sp/>&amp;u0,<sp/>mat<sp/>&amp;F,<sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/>full<sp/>)</highlight></codeline>
<codeline lineno="111"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>{</highlight></codeline>
<codeline lineno="112"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>it_assert_debug<sp/>(<sp/>(<sp/>F.cols()<sp/>==A.cols()<sp/>)<sp/>&amp;<sp/>(<sp/>F.rows()<sp/>==A.rows()<sp/>),</highlight><highlight class="stringliteral">&quot;Allocated<sp/>F<sp/>is<sp/>not<sp/>compatible.&quot;</highlight><highlight class="normal"><sp/>);</highlight></codeline>
<codeline lineno="113"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<sp/>full<sp/>)<sp/>F=A;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//else<sp/>:<sp/>nothing<sp/>has<sp/>changed<sp/>no<sp/>need<sp/>to<sp/>regenerate</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="114"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="116" refid="classbilinfn_190f2b15612b14883d6ed2b0e295cb82b" refkind="member"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classbilinfn_190f2b15612b14883d6ed2b0e295cb82b" kindref="member" tooltip="Evaluates  and writes result into A .">dfdu_cond</ref><sp/>(<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>vec<sp/>&amp;x0,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/>vec<sp/>&amp;u0,<sp/>mat<sp/>&amp;F,<sp/><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/>full=</highlight><highlight class="keyword">true</highlight><highlight class="normal"><sp/>)</highlight></codeline>
<codeline lineno="117"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>{</highlight></codeline>
<codeline lineno="118"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>it_assert_debug<sp/>(<sp/>(<sp/>F.cols()<sp/>==B.cols()<sp/>)<sp/>&amp;<sp/>(<sp/>F.rows()<sp/>==B.rows()<sp/>),</highlight><highlight class="stringliteral">&quot;Allocated<sp/>F<sp/>is<sp/>not<sp/>compatible.&quot;</highlight><highlight class="normal"><sp/>);</highlight></codeline>
<codeline lineno="119"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<sp/>full<sp/>)<sp/>F=B;<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//else<sp/>:<sp/>nothing<sp/>has<sp/>changed<sp/>no<sp/>need<sp/>to<sp/>regenerate</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="120"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
<codeline lineno="121"><highlight class="normal">};</highlight></codeline>
<codeline lineno="122"><highlight class="normal"></highlight></codeline>
<codeline lineno="123"><highlight class="normal"></highlight><highlight class="preprocessor">#endif<sp/>//<sp/>FN_H</highlight></codeline>
    </programlisting>
    <location file="/home/smidl/work/git/mixpp/bdm/stat/libFN.h"/>
  </compounddef>
</doxygen>
