Files
MicrochipFor32/Doc/xml/bsp___calculus_8cpp.xml

117 lines
18 KiB
XML
Raw Normal View History

2022-11-24 23:56:57 +08:00
<?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.9.5" xml:lang="zh">
<compounddef id="bsp___calculus_8cpp" kind="file" language="C++">
<compoundname>bsp_Calculus.cpp</compoundname>
<includes refid="bsp___calculus_8h" local="yes">bsp_Calculus.h</includes>
<incdepgraph>
<node id="1">
<label>D:/gitt/MicrochipFor32/bsp_Device/bsp_Calculus.cpp</label>
<link refid="bsp___calculus_8cpp"/>
<childnode refid="2" relation="include">
</childnode>
</node>
<node id="2">
<label>bsp_Calculus.h</label>
<link refid="bsp___calculus_8h"/>
<childnode refid="3" relation="include">
</childnode>
<childnode refid="4" relation="include">
</childnode>
</node>
<node id="4">
<label>varint.h</label>
<link refid="varint_8h"/>
<childnode refid="5" relation="include">
</childnode>
</node>
<node id="5">
<label>stdint.h</label>
</node>
<node id="3">
<label>stdlib.h</label>
</node>
</incdepgraph>
<briefdescription>
<para>离散微积分 </para>
</briefdescription>
<detaileddescription>
</detaileddescription>
<programlisting>
<codeline lineno="1"><highlight class="comment">/*----------------------------------------------------------------------------------------------------</highlight></codeline>
<codeline lineno="2"><highlight class="comment"><sp/>#</highlight></codeline>
<codeline lineno="3"><highlight class="comment"><sp/>#<sp/><sp/>Copyright<sp/>(c)<sp/>2022<sp/>Yuankang<sp/>Liang(XerolySkinner)</highlight></codeline>
<codeline lineno="4"><highlight class="comment"><sp/>#</highlight></codeline>
<codeline lineno="5"><highlight class="comment"><sp/>#<sp/><sp/>本软件按原样提供,无任何明示或暗示</highlight></codeline>
<codeline lineno="6"><highlight class="comment"><sp/>#<sp/><sp/>在任何情况下,作者都不承担任何损害赔偿责任</highlight></codeline>
<codeline lineno="7"><highlight class="comment"><sp/>#</highlight></codeline>
<codeline lineno="8"><highlight class="comment"><sp/>#<sp/><sp/>使用的许可声明:</highlight></codeline>
<codeline lineno="9"><highlight class="comment"><sp/>#<sp/><sp/>1.<sp/><sp/>不得歪曲本软件的来源,你不能声称你编写了原始软件.</highlight></codeline>
<codeline lineno="10"><highlight class="comment"><sp/>#<sp/><sp/>2.<sp/><sp/>免费授予以任何目的,前提是版权声明出现在所有副本中.</highlight></codeline>
<codeline lineno="11"><highlight class="comment"><sp/>#<sp/><sp/><sp/><sp/><sp/><sp/>并且版权声明和许可声明同时出现.</highlight></codeline>
<codeline lineno="12"><highlight class="comment"><sp/>#<sp/><sp/>3.<sp/><sp/>你有使用,复制,修改,分发,和销售本软件的许可.</highlight></codeline>
<codeline lineno="13"><highlight class="comment"><sp/>#<sp/><sp/>4.<sp/><sp/>如果你在产品中使用,产品文档中的声明是赞赏的但不是必须的.</highlight></codeline>
<codeline lineno="14"><highlight class="comment"><sp/>#<sp/><sp/>5.<sp/><sp/>本通知不得从任何来源删除或更改.</highlight></codeline>
<codeline lineno="15"><highlight class="comment"><sp/>#</highlight></codeline>
<codeline lineno="16"><highlight class="comment"><sp/>#<sp/><sp/>Yuankang<sp/>Liang(XerolySkinner)</highlight></codeline>
<codeline lineno="17"><highlight class="comment"><sp/>#<sp/><sp/><sp/><sp/><sp/><sp/>E-mail:zabbcccbbaz@163.com</highlight></codeline>
<codeline lineno="18"><highlight class="comment"><sp/>#<sp/><sp/><sp/><sp/><sp/><sp/>QQ:2715099320</highlight></codeline>
<codeline lineno="19"><highlight class="comment"><sp/>#<sp/><sp/><sp/><sp/><sp/><sp/>Mobile<sp/>Phone:13005636215</highlight></codeline>
<codeline lineno="20"><highlight class="comment"><sp/>#</highlight></codeline>
<codeline lineno="21"><highlight class="comment"><sp/>#<sp/><sp/>All<sp/>rights<sp/>reserved.</highlight></codeline>
<codeline lineno="22"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="23"><highlight class="normal"></highlight></codeline>
<codeline lineno="35"><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="36"><highlight class="normal"></highlight><highlight class="comment">//<sp/><sp/>头文件</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="37"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/>&quot;<ref refid="bsp___calculus_8h" kindref="compound">bsp_Calculus.h</ref>&quot;</highlight></codeline>
<codeline lineno="39"><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="40"><highlight class="normal"></highlight><highlight class="comment">//<sp/><sp/>类函数</highlight></codeline>
<codeline lineno="46" refid="classbsp___differential_1a46536b15be29d856b09dd7d261a12ab1" refkind="member"><highlight class="comment"></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/><ref refid="classbsp___differential_1a46536b15be29d856b09dd7d261a12ab1" kindref="member">bsp_Differential::Differential</ref>(</highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>var)<sp/>{</highlight></codeline>
<codeline lineno="47"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>old=var;</highlight></codeline>
<codeline lineno="48"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>result=<sp/>(var<sp/>-<sp/>old)<sp/>/<sp/><ref refid="classbsp___differential_1ab25588868059974b8356e975c6e96992" kindref="member">dt</ref>;</highlight></codeline>
<codeline lineno="49"><highlight class="normal"><sp/><sp/><sp/><sp/>old<sp/>=<sp/>var;</highlight></codeline>
<codeline lineno="50"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>result;}</highlight></codeline>
<codeline lineno="52"><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="53"><highlight class="normal"></highlight><highlight class="comment">//<sp/><sp/>类函数</highlight></codeline>
<codeline lineno="59" refid="classbsp___integral_1ade46f89bfdc6dd778c045a51c76c1839" refkind="member"><highlight class="comment"></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/><ref refid="classbsp___integral_1ade46f89bfdc6dd778c045a51c76c1839" kindref="member">bsp_Integral::Integral</ref>(</highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>var)<sp/>{</highlight></codeline>
<codeline lineno="60"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___integral_1a910f1f3faa2b4963e00718472b8389bc" kindref="member">results</ref><sp/>+=<sp/>var<sp/>*<sp/><ref refid="classbsp___integral_1a4494cf9fc2873d457ed3bf8618b68045" kindref="member">dt</ref>;</highlight></codeline>
<codeline lineno="61"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="classbsp___integral_1a910f1f3faa2b4963e00718472b8389bc" kindref="member">results</ref>;}</highlight></codeline>
<codeline lineno="62"><highlight class="normal"></highlight><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight></codeline>
<codeline lineno="67" refid="classbsp___integral_1aaf7474301ed76ca9ce2b1884ae870019" refkind="member"><highlight class="comment"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classbsp___integral_1aaf7474301ed76ca9ce2b1884ae870019" kindref="member">bsp_Integral::Integral_set</ref>(</highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>results)<sp/>{</highlight></codeline>
<codeline lineno="68"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___integral_1a910f1f3faa2b4963e00718472b8389bc" kindref="member">bsp_Integral::results</ref><sp/>=<sp/><ref refid="classbsp___integral_1a910f1f3faa2b4963e00718472b8389bc" kindref="member">results</ref>;}</highlight></codeline>
<codeline lineno="69"><highlight class="normal"></highlight><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight></codeline>
<codeline lineno="75" refid="classbsp___integral_1a86d9e02d1146744fe80ebab69070abb4" refkind="member"><highlight class="comment"></highlight><highlight class="normal"><ref refid="varint_8h_1afaa62991928fb9fb18ff0db62a040aba" kindref="member">u32</ref><sp/><ref refid="classbsp___integral_1a86d9e02d1146744fe80ebab69070abb4" kindref="member">bsp_Integral::Integral_makelist</ref>(<ref refid="varint_8h_1afaa62991928fb9fb18ff0db62a040aba" kindref="member">u32</ref><sp/>len)<sp/>{</highlight></codeline>
<codeline lineno="76"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___integral_1a656d90c5a713abf0665f1dcbf1a5101a" kindref="member">result_list</ref><sp/>=<sp/>(</highlight><highlight class="keywordtype">float</highlight><highlight class="normal">*)malloc(</highlight><highlight class="keyword">sizeof</highlight><highlight class="normal">(</highlight><highlight class="keywordtype">float</highlight><highlight class="normal">)*<sp/>len);</highlight></codeline>
<codeline lineno="77"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___integral_1a662c735b9432a46e48a642ebb9c0e8fa" kindref="member">result_len</ref><sp/>=<sp/>len;</highlight></codeline>
<codeline lineno="78"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___integral_1aae2b6143ca39861a83b77befc131bf5e" kindref="member">Integral_clslist</ref>();</highlight></codeline>
<codeline lineno="79"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>(<ref refid="varint_8h_1afaa62991928fb9fb18ff0db62a040aba" kindref="member">u32</ref>)<ref refid="classbsp___integral_1a656d90c5a713abf0665f1dcbf1a5101a" kindref="member">result_list</ref>;}</highlight></codeline>
<codeline lineno="80"><highlight class="normal"></highlight><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight></codeline>
<codeline lineno="86" refid="classbsp___integral_1a80693e18b9b9509bdec0ebfd72f84072" refkind="member"><highlight class="comment"></highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/><ref refid="classbsp___integral_1a80693e18b9b9509bdec0ebfd72f84072" kindref="member">bsp_Integral::Integral_list</ref>(</highlight><highlight class="keywordtype">float</highlight><highlight class="normal"><sp/>var)<sp/>{</highlight></codeline>
<codeline lineno="87"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static</highlight><highlight class="normal"><sp/><ref refid="varint_8h_1afaa62991928fb9fb18ff0db62a040aba" kindref="member">u32</ref><sp/>len=0;</highlight></codeline>
<codeline lineno="88"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___integral_1a910f1f3faa2b4963e00718472b8389bc" kindref="member">results</ref><sp/>+=<sp/>var<sp/>*<sp/><ref refid="classbsp___integral_1a4494cf9fc2873d457ed3bf8618b68045" kindref="member">dt</ref>;</highlight></codeline>
<codeline lineno="89"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/><sp/>保存历史</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="90"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___integral_1a656d90c5a713abf0665f1dcbf1a5101a" kindref="member">result_list</ref>[len]<sp/>=<sp/>var<sp/>*<sp/><ref refid="classbsp___integral_1a4494cf9fc2873d457ed3bf8618b68045" kindref="member">dt</ref>;</highlight></codeline>
<codeline lineno="91"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/><sp/>轮盘转</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="92"><highlight class="normal"><sp/><sp/><sp/><sp/>++len;</highlight></codeline>
<codeline lineno="93"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(len<sp/>==<sp/><ref refid="classbsp___integral_1a662c735b9432a46e48a642ebb9c0e8fa" kindref="member">result_len</ref>)len<sp/>=<sp/>0;</highlight></codeline>
<codeline lineno="94"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/><sp/>去除尾值</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="95"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(len<sp/>&lt;<sp/><ref refid="classbsp___integral_1a662c735b9432a46e48a642ebb9c0e8fa" kindref="member">result_len</ref><sp/>-<sp/>1)</highlight></codeline>
<codeline lineno="96"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classbsp___integral_1a910f1f3faa2b4963e00718472b8389bc" kindref="member">results</ref><sp/>-=<sp/><ref refid="classbsp___integral_1a656d90c5a713abf0665f1dcbf1a5101a" kindref="member">result_list</ref>[len<sp/>+<sp/>1];</highlight></codeline>
<codeline lineno="97"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="98"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classbsp___integral_1a910f1f3faa2b4963e00718472b8389bc" kindref="member">results</ref><sp/>-=<sp/><ref refid="classbsp___integral_1a656d90c5a713abf0665f1dcbf1a5101a" kindref="member">result_list</ref>[0];</highlight></codeline>
<codeline lineno="99"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/><sp/></highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="100"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="classbsp___integral_1a910f1f3faa2b4963e00718472b8389bc" kindref="member">results</ref>;}</highlight></codeline>
<codeline lineno="101"><highlight class="normal"></highlight><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight></codeline>
<codeline lineno="105" refid="classbsp___integral_1a47307ddf418d2686245b118dcf61a199" refkind="member"><highlight class="comment"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classbsp___integral_1a47307ddf418d2686245b118dcf61a199" kindref="member">bsp_Integral::Integral_dellist</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
<codeline lineno="106"><highlight class="normal"><sp/><sp/><sp/><sp/>free(<ref refid="classbsp___integral_1a656d90c5a713abf0665f1dcbf1a5101a" kindref="member">result_list</ref>);</highlight></codeline>
<codeline lineno="107"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___integral_1a662c735b9432a46e48a642ebb9c0e8fa" kindref="member">result_len</ref><sp/>=<sp/>0;</highlight></codeline>
<codeline lineno="108"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classbsp___integral_1a656d90c5a713abf0665f1dcbf1a5101a" kindref="member">result_list</ref><sp/>=<sp/>NULL;}</highlight></codeline>
<codeline lineno="109"><highlight class="normal"></highlight><highlight class="comment">//----------------------------------------------------------------------------------------------------</highlight></codeline>
<codeline lineno="113" refid="classbsp___integral_1aae2b6143ca39861a83b77befc131bf5e" refkind="member"><highlight class="comment"></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classbsp___integral_1aae2b6143ca39861a83b77befc131bf5e" kindref="member">bsp_Integral::Integral_clslist</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
<codeline lineno="114"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="classbsp___integral_1a656d90c5a713abf0665f1dcbf1a5101a" kindref="member">result_list</ref><sp/>==<sp/>NULL)</highlight><highlight class="keywordflow">return</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="115"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(<ref refid="varint_8h_1afaa62991928fb9fb18ff0db62a040aba" kindref="member">u32</ref><sp/>i<sp/>=<sp/>0;<sp/>i<sp/>&lt;<sp/><ref refid="classbsp___integral_1a662c735b9432a46e48a642ebb9c0e8fa" kindref="member">result_len</ref>;<sp/>i++)</highlight></codeline>
<codeline lineno="116"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classbsp___integral_1a656d90c5a713abf0665f1dcbf1a5101a" kindref="member">result_list</ref>[i]<sp/>=<sp/>0;}</highlight></codeline>
</programlisting>
<location file="D:/gitt/MicrochipFor32/bsp_Device/bsp_Calculus.cpp"/>
</compounddef>
</doxygen>