📄 class_integer.html
字号:
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="567c89aa176b354143c99d558d05a5fb"></a><!-- doxytag: member="Integer::Divide" ref="567c89aa176b354143c99d558d05a5fb" args="(Integer &r, Integer &q, const Integer &a, const Integer &d)" -->static void __cdecl </td><td class="memItemRight" valign="bottom"><a class="el" href="class_integer.html#567c89aa176b354143c99d558d05a5fb">Divide</a> (<a class="el" href="class_integer.html">Integer</a> &r, <a class="el" href="class_integer.html">Integer</a> &q, const <a class="el" href="class_integer.html">Integer</a> &a, const <a class="el" href="class_integer.html">Integer</a> &d)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">calculate r and q such that (a == d*q + r) && (0 <= r < abs(d)) <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="1849c5a8af28ab4f3a70d9690924f249"></a><!-- doxytag: member="Integer::Divide" ref="1849c5a8af28ab4f3a70d9690924f249" args="(word &r, Integer &q, const Integer &a, word d)" -->static void __cdecl </td><td class="memItemRight" valign="bottom"><a class="el" href="class_integer.html#1849c5a8af28ab4f3a70d9690924f249">Divide</a> (word &r, <a class="el" href="class_integer.html">Integer</a> &q, const <a class="el" href="class_integer.html">Integer</a> &a, word d)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">use a faster division algorithm when divisor is short <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bf2934a6172b4cb5317874f0c993a420"></a><!-- doxytag: member="Integer::DivideByPowerOf2" ref="bf2934a6172b4cb5317874f0c993a420" args="(Integer &r, Integer &q, const Integer &a, unsigned int n)" -->static void __cdecl </td><td class="memItemRight" valign="bottom"><a class="el" href="class_integer.html#bf2934a6172b4cb5317874f0c993a420">DivideByPowerOf2</a> (<a class="el" href="class_integer.html">Integer</a> &r, <a class="el" href="class_integer.html">Integer</a> &q, const <a class="el" href="class_integer.html">Integer</a> &a, unsigned int n)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">returns same result as Divide(r, q, a, Power2(n)), but faster <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2d4d29937f8ef666717530b30f137c37"></a><!-- doxytag: member="Integer::Gcd" ref="2d4d29937f8ef666717530b30f137c37" args="(const Integer &a, const Integer &n)" -->static <a class="el" href="class_integer.html">Integer</a> __cdecl </td><td class="memItemRight" valign="bottom"><a class="el" href="class_integer.html#2d4d29937f8ef666717530b30f137c37">Gcd</a> (const <a class="el" href="class_integer.html">Integer</a> &a, const <a class="el" href="class_integer.html">Integer</a> &n)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">greatest common divisor <br></td></tr><tr><td colspan="2"><br><h2>INPUT/OUTPUT</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="98f06f69fc1e81254df74408c184eb7e"></a><!-- doxytag: member="Integer::operator>>" ref="98f06f69fc1e81254df74408c184eb7e" args="(std::istream &in, Integer &a)" -->std::istream &__cdecl </td><td class="memItemRight" valign="bottom"><a class="el" href="class_integer.html#98f06f69fc1e81254df74408c184eb7e">operator>></a> (std::istream &in, <a class="el" href="class_integer.html">Integer</a> &a)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="84ed49a91b4e00f5e3454de276e8452f"></a><!-- doxytag: member="Integer::operator<<" ref="84ed49a91b4e00f5e3454de276e8452f" args="(std::ostream &out, const Integer &a)" -->std::ostream &__cdecl </td><td class="memItemRight" valign="bottom"><a class="el" href="class_integer.html#84ed49a91b4e00f5e3454de276e8452f">operator<<</a> (std::ostream &out, const <a class="el" href="class_integer.html">Integer</a> &a)</td></tr><tr><td colspan="2"><br><h2>CREATORS</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7fcab0564d7270017ebcca55bae1a17a"></a><!-- doxytag: member="Integer::Integer" ref="7fcab0564d7270017ebcca55bae1a17a" args="()" --> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_integer.html#7fcab0564d7270017ebcca55bae1a17a">Integer</a> ()</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">creates the zero integer <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9e86175b4b1fb79321736974846fce70"></a><!-- doxytag: member="Integer::Integer" ref="9e86175b4b1fb79321736974846fce70" args="(const Integer &t)" --> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_integer.html#9e86175b4b1fb79321736974846fce70">Integer</a> (const <a class="el" href="class_integer.html">Integer</a> &t)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">copy constructor <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="b0536c16f441f1b5abcb2019f7d52e17"></a><!-- doxytag: member="Integer::Integer" ref="b0536c16f441f1b5abcb2019f7d52e17" args="(signed long value)" --> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_integer.html#b0536c16f441f1b5abcb2019f7d52e17">Integer</a> (signed long value)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">convert from signed long <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="15a70886677caedd35492b495c5290e6"></a><!-- doxytag: member="Integer::Integer" ref="15a70886677caedd35492b495c5290e6" args="(Sign s, lword value)" --> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_integer.html#15a70886677caedd35492b495c5290e6">Integer</a> (<a class="el" href="class_integer.html#e0d4d9975fb6ab7667aab6f7ab8612d2">Sign</a> s, lword value)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">convert from lword <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="834c31dcb78213e008b342c97764fd5d"></a><!-- doxytag: member="Integer::Integer" ref="834c31dcb78213e008b342c97764fd5d" args="(Sign s, word highWord, word lowWord)" --> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_integer.html#834c31dcb78213e008b342c97764fd5d">Integer</a> (<a class="el" href="class_integer.html#e0d4d9975fb6ab7667aab6f7ab8612d2">Sign</a> s, word highWord, word lowWord)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">convert from two words <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_integer.html#9e8bf8c72458dff4ceb5d6cdf9e5c97a">Integer</a> (const char *str)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">convert from string <a href="#9e8bf8c72458dff4ceb5d6cdf9e5c97a"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6931189bb0b2e68d04bef63bc6f172b3"></a><!-- doxytag: member="Integer::Integer" ref="6931189bb0b2e68d04bef63bc6f172b3" args="(const wchar_t *str)" --> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_integer.html#6931189bb0b2e68d04bef63bc6f172b3">Integer</a> (const wchar_t *str)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="19c0d3273fcc216a5849527c7ba759d8"></a><!-- doxytag: member="Integer::Integer" ref="19c0d3273fcc216a5849527c7ba759d8" args="(const byte *encodedInteger, size_t byteCount, Signedness s=UNSIGNED)" --> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_integer.html#19c0d3273fcc216a5849527c7ba759d8">Integer</a> (const byte *encodedInteger, size_t byteCount, <a class="el" href="class_integer.html#a9712040ccab541e30c00e0f3ae39926">Signedness</a> s=UNSIGNED)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">convert from big-endian byte array <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="39fee8047d003a1d6044da4b5025f3ce"></a><!-- doxytag: member="Integer::Integer" ref="39fee8047d003a1d6044da4b5025f3ce" args="(BufferedTransformation &bt, size_t byteCount, Signedness s=UNSIGNED)" --> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_integer.html#39fee8047d003a1d6044da4b5025f3ce">Integer</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &bt, size_t byteCount, <a class="el" href="class_integer.html#a9712040ccab541e30c00e0f3ae39926">Signedness</a> s=UNSIGNED)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">convert from big-endian form stored in a <a class="el" href="class_buffered_transformation.html" title="interface for buffered transformations">BufferedTransformation</a> <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="81d3973655b9f9d358de31ca4d0215c1"></a><!-- doxytag: member="Integer::Integer" ref="81d3973655b9f9d358de31ca4d0215c1" args="(BufferedTransformation &bt)" --> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_integer.html#81d3973655b9f9d358de31ca4d0215c1">Integer</a> (<a class="el" href="class_buffered_transformation.html">BufferedTransformation</a> &bt)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">convert from BER encoded byte array stored in a <a class="el" href="class_buffered_transformation.html" title="interface for buffered transformations">BufferedTransformation</a> object <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_integer.html#eb4abb834e9e897a28850d2081f3fa63">Integer</a> (<a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> &rng, size_t bitcount)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">create a random integer <a href="#eb4abb834e9e897a28850d2081f3fa63"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="class_integer.html#88a110cb9f89a8810c228ad00cea18c2">Integer</a> (<a class="el" href="class_random_number_generator.html">RandomNumberGenerator</a> &rng, const <a class="el" href="class_integer.html">Integer</a> &min, const <a class="el" href="class_integer.html">Integer</a> &max, <a class="el" href="class_integer.html#9b4088ac01abf76b9ba60060abccb7a3">RandomNumberType</a> rnType=ANY, const <a class="el" href="class_integer.html">Integer</a> &equiv=Zero(), const <a class="el" href="class_integer.html">Integer</a> &mod=One())</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">create a random integer of special type <a href="#88a110cb9f89a8810c228ad00cea18c2"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="19b7e6d48b1b57bd4846160ea2928175"></a><!-- doxytag: member="Integer::Zero" ref="19b7e6d48b1b57bd4846160ea2928175" args="()" -->static const <a class="el" href="class_integer.html">Integer</a> &__cdecl </td><td class="memItemRight" valign="bottom"><a class="el" href="class_integer.html#19b7e6d48b1b57bd4846160ea2928175">Zero</a> ()</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">avoid calling constructors for these frequently used integers <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="8c070592581bf6c2f928c72bfa1c1638"></a><!-- doxytag: member="Integer::One" ref="8c070592581bf6c2f928c72bfa1c1638" args="()" -->static const <a class="el" href="class_integer.html">Integer</a> &__cdecl </td><td class="memItemRight" valign="bottom"><a class="el" href="class_integer.html#8c070592581bf6c2f928c72bfa1c1638">One</a> ()</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">avoid calling constructors for these frequently used integers <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f0cb74a45a48e677952166bdac9d82d7"></a><!-- doxytag: member="Integer::Two" ref="f0cb74a45a48e677952166bdac9d82d7" args="()" -->static const <a class="el" href="class_integer.html">Integer</a> &__cdecl </td><td class="memItemRight" valign="bottom"><a class="el" href="class_integer.html#f0cb74a45a48e677952166bdac9d82d7">Two</a> ()</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">avoid calling constructors for these frequently used integers <br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="de53248f5dbb520273a70856b975417c"></a><!-- doxytag: member="Integer::Power2" ref="de53248f5dbb520273a70856b975417c" args="(size_t e)" -->static <a class="el" href="class_integer.html">Integer</a> __cdecl </td><td class="memItemRight" valign="bottom"><a class="el" href="class_integer.html#de53248f5dbb520273a70856b975417c">Power2</a> (size_t e)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">return the integer 2**e <br></td></tr><tr><td colspan="2"><br><h2>ENCODE/DECODE</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="class_integer.html#3b269bbf8a91faf217c0dd76222182bb">MinEncodedSize</a> (<a class="el" href="class_integer.html#a9712040ccab541e30c00e0f3ae39926">Signedness</a>=UNSIGNED) const </td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">minimum number of bytes to encode this integer <a href="#3b269bbf8a91faf217c0dd76222182bb"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="class_integer.html#c12ea467de9a609b86ec03d8cb8837e4">Encode</a> (byte *output, size_t outputLen, <a class="el" href="class_integer.html#a9712040ccab541e30c00e0f3ae39926">Signedness</a>=UNSIGNED) const </td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">encode in big-endian format <a href="#c12ea467de9a609b86ec03d8cb8837e4"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="18a664f00df5dcfb979b2e804e7418ce"></a><!-- doxytag: member="Integer::Encode" ref="18a664f00df5dcfb979b2e804e7418ce" args="(BufferedTransformation &bt, size_t outputLen, Signedness=UNSIGNED) const " -->
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -