加入BMP库,加入常见位操作

This commit is contained in:
XerolySkinner
2022-11-24 23:56:57 +08:00
parent f6b6ac1329
commit 01324e987e
709 changed files with 17019 additions and 2341 deletions

View File

@@ -49,5 +49,29 @@
<anchor xml:id="_varint_8h_source_1l00056"/><link linkend="_varint_8h_1ab1725f18a2ec2964f4bc0499527e4c5d">00056</link> <emphasis role="keyword">typedef</emphasis>&#32;<emphasis role="keyword">volatile</emphasis>&#32;<link linkend="_varint_8h_1ad309dbcaeea13aa602d686964156ea0b">i16</link>&#32;&#32;&#32;&#32;<link linkend="_varint_8h_1ab1725f18a2ec2964f4bc0499527e4c5d">vi16</link>;&#32;&#32;&#32;
<anchor xml:id="_varint_8h_source_1l00057"/><link linkend="_varint_8h_1a8b81ac6660e74bec836c0a4e0a0b6450">00057</link> <emphasis role="keyword">typedef</emphasis>&#32;<emphasis role="keyword">volatile</emphasis>&#32;<link linkend="_varint_8h_1a48d6cd8e4135fb2ff7e7f2dac84089ec">i32</link>&#32;&#32;&#32;&#32;<link linkend="_varint_8h_1a8b81ac6660e74bec836c0a4e0a0b6450">vi32</link>;&#32;&#32;&#32;
<anchor xml:id="_varint_8h_source_1l00058"/><link linkend="_varint_8h_1aeffd8dafd889cdd80398ffcbb37cd7ef">00058</link> <emphasis role="keyword">typedef</emphasis>&#32;<emphasis role="keyword">volatile</emphasis>&#32;<link linkend="_varint_8h_1a85cb35fbe5bf2961d7ad5f26814a91a2">i64</link>&#32;&#32;&#32;&#32;<link linkend="_varint_8h_1aeffd8dafd889cdd80398ffcbb37cd7ef">vi64</link>;&#32;&#32;&#32;
<anchor xml:id="_varint_8h_source_1l00060"/>00060
<anchor xml:id="_varint_8h_source_1l00060"/>00060 <emphasis role="comment">//----------------------------------------------------------------------------------------------------</emphasis>
<anchor xml:id="_varint_8h_source_1l00061"/>00061 <emphasis role="comment">//&#32;&#32;位宏</emphasis>
<anchor xml:id="_varint_8h_source_1l00062"/><link linkend="_varint_8h_1ad35af1fbc60fcc217f7e3c6bae2ba656">00062</link> <emphasis role="preprocessor">#define&#32;P8(x)&#32;&#32;&#32;&#32;&#32;&#32;&#32;((u8*)(&amp;(x)))&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;</emphasis>
<anchor xml:id="_varint_8h_source_1l00063"/><link linkend="_varint_8h_1a71e9586b24447c7ca7bc353aa86da852">00063</link> <emphasis role="preprocessor">#define&#32;Pn8(x,y)&#32;&#32;&#32;&#32;(((u8*)(&amp;(x)))[y])&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;</emphasis>
<anchor xml:id="_varint_8h_source_1l00064"/><link linkend="_varint_8h_1a90e13f6172ebc6d6b8df6ed9a443491f">00064</link> <emphasis role="preprocessor">#define&#32;P16(x)&#32;&#32;&#32;&#32;&#32;&#32;((u16*)(&amp;(x)))&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;</emphasis>
<anchor xml:id="_varint_8h_source_1l00065"/><link linkend="_varint_8h_1aff980abb3664242448c35e7c94df9457">00065</link> <emphasis role="preprocessor">#define&#32;Pn16(x,y)&#32;&#32;&#32;(((u16*)(&amp;(x)))[y])&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;</emphasis>
<anchor xml:id="_varint_8h_source_1l00066"/><link linkend="_varint_8h_1a495d48b6b1b59a2ad797b10d9da431ff">00066</link> <emphasis role="preprocessor">#define&#32;P32(x)&#32;&#32;&#32;&#32;&#32;&#32;((u32*)(&amp;(x)))&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;</emphasis>
<anchor xml:id="_varint_8h_source_1l00067"/><link linkend="_varint_8h_1adc92d7430c7b945896332c2e2540a52a">00067</link> <emphasis role="preprocessor">#define&#32;Pn32(x,y)&#32;&#32;&#32;(((u32*)(&amp;(x)))[y])&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;</emphasis>
<anchor xml:id="_varint_8h_source_1l00068"/>00068
<anchor xml:id="_varint_8h_source_1l00069"/><link linkend="_varint_8h_1ada574ddd6b3c52cf691b29e6efc7a817">00069</link> <emphasis role="preprocessor">#define&#32;DelLb(x)&#32;&#32;&#32;&#32;(x&#32;&amp;&#32;(x&#32;-&#32;1))&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;</emphasis>
<anchor xml:id="_varint_8h_source_1l00070"/><link linkend="_varint_8h_1a4130fb740c8bd3c4986b2fe496c74d78">00070</link> <emphasis role="preprocessor">#define&#32;qDelLb(x)&#32;&#32;&#32;(x=(x&#32;&amp;&#32;(x&#32;-&#32;1)))&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;</emphasis>
<anchor xml:id="_varint_8h_source_1l00071"/>00071
<anchor xml:id="_varint_8h_source_1l00072"/><link linkend="_varint_8h_1a338f1c6d28b8ee314ea8b33df5c6052e">00072</link> <emphasis role="preprocessor">#define&#32;toBool(x)&#32;&#32;&#32;(x!=0)&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;</emphasis>
<anchor xml:id="_varint_8h_source_1l00073"/><link linkend="_varint_8h_1af88c9f4171df59e6e0aa2db71bf9f250">00073</link> <emphasis role="preprocessor">#define&#32;uBit(x,y)&#32;&#32;&#32;(x&amp;(1&lt;&lt;y))&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;</emphasis>
<anchor xml:id="_varint_8h_source_1l00074"/><link linkend="_varint_8h_1ac123183daf1150b8b675c96cfeae4314">00074</link> <emphasis role="preprocessor">#define&#32;tBit(x,y)&#32;&#32;&#32;(toBool(uBit(x,y)))&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;</emphasis>
<anchor xml:id="_varint_8h_source_1l00075"/>00075
<anchor xml:id="_varint_8h_source_1l00076"/><link linkend="_varint_8h_1aa1b4c6a5140aae5adbc14792ed9cbaf5">00076</link> <emphasis role="preprocessor">#define&#32;sBit(x,y)&#32;&#32;&#32;(x|(1&lt;&lt;y))&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;</emphasis>
<anchor xml:id="_varint_8h_source_1l00077"/><link linkend="_varint_8h_1a6c0c97a8768383af5f921a0496bb7e6c">00077</link> <emphasis role="preprocessor">#define&#32;rBit(x,y)&#32;&#32;&#32;(x&amp;(~(1&lt;&lt;y)))&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;</emphasis>
<anchor xml:id="_varint_8h_source_1l00078"/><link linkend="_varint_8h_1a5cce0b9aa61d54efc42512f4c7796455">00078</link> <emphasis role="preprocessor">#define&#32;mBit(x,y,z)&#32;((z)?sBit(x,y):rBit(x,y))&#32;&#32;&#32;</emphasis>
<anchor xml:id="_varint_8h_source_1l00079"/>00079
<anchor xml:id="_varint_8h_source_1l00080"/><link linkend="_varint_8h_1a7ae6889c9eb9c27afb4395ef1d06eec7">00080</link> <emphasis role="preprocessor">#define&#32;LpAdd(x,y)&#32;&#32;((x+1)&lt;y?x+1:0)&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;</emphasis>
<anchor xml:id="_varint_8h_source_1l00081"/><link linkend="_varint_8h_1af8c84f28a4c47bc30bbecb56d1469fd2">00081</link> <emphasis role="preprocessor">#define&#32;LpDec(x,y)&#32;&#32;(x&gt;0?x-1:y-1)&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;</emphasis>
<anchor xml:id="_varint_8h_source_1l00082"/><link linkend="_varint_8h_1ac5268cd1ab382ef2574c21c40590d6bc">00082</link> <emphasis role="preprocessor">#define&#32;qLpAdd(x,y)&#32;(x=(x+1)&lt;y?x+1:0)&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;</emphasis>
<anchor xml:id="_varint_8h_source_1l00083"/>00083 <emphasis role="preprocessor">#define&#32;qLpDec(x,y)&#32;(x=x&gt;0?x-1:y-1)&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;&#32;</emphasis>
<anchor xml:id="_varint_8h_source_1l00085"/>00085
</programlisting></section>