Documentation for 8476290081

This commit is contained in:
github-actions
2020-06-24 22:53:44 +00:00
parent 49f2865ffd
commit 87398be5d8
547 changed files with 9502 additions and 7787 deletions

View File

@@ -116,7 +116,7 @@ Public Member Functions</h2></td></tr>
<tr class="separator:a10119a83839e65962621b73df46a5337"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af4598f1f2794b5e17e10c25e0501e41a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d82/classlarge__number.html#af4598f1f2794b5e17e10c25e0501e41a">large_number</a> (int n)</td></tr>
<tr class="separator:af4598f1f2794b5e17e10c25e0501e41a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0b1efd203274e38a67b78937dfb9b872"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d82/classlarge__number.html#a0b1efd203274e38a67b78937dfb9b872">large_number</a> (const <a class="el" href="../../db/d82/classlarge__number.html">large_number</a> &amp;<a class="el" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9ecd98ce0064e2f7f97bb6a92f58ee72">a</a>)</td></tr>
<tr class="memitem:a0b1efd203274e38a67b78937dfb9b872"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d82/classlarge__number.html#a0b1efd203274e38a67b78937dfb9b872">large_number</a> (const <a class="el" href="../../db/d82/classlarge__number.html">large_number</a> &amp;a)</td></tr>
<tr class="separator:a0b1efd203274e38a67b78937dfb9b872"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a76ddf1ed1b00fb8c107ea56f7f91e42f"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d82/classlarge__number.html#a76ddf1ed1b00fb8c107ea56f7f91e42f">large_number</a> (<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; unsigned char &gt; &amp;vec)</td></tr>
<tr class="separator:a76ddf1ed1b00fb8c107ea56f7f91e42f"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -167,14 +167,14 @@ Private Attributes</h2></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
Friends</h2></td></tr>
<tr class="memitem:a778428c4761b6ea5e7770743f0eab5ab"><td class="memItemLeft" align="right" valign="top"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::ostream</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d82/classlarge__number.html#a778428c4761b6ea5e7770743f0eab5ab">operator&lt;&lt;</a> (<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::ostream</a> &amp;out, const <a class="el" href="../../db/d82/classlarge__number.html">large_number</a> &amp;<a class="el" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9ecd98ce0064e2f7f97bb6a92f58ee72">a</a>)</td></tr>
<tr class="memitem:a778428c4761b6ea5e7770743f0eab5ab"><td class="memItemLeft" align="right" valign="top"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::ostream</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d82/classlarge__number.html#a778428c4761b6ea5e7770743f0eab5ab">operator&lt;&lt;</a> (<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::ostream</a> &amp;out, const <a class="el" href="../../db/d82/classlarge__number.html">large_number</a> &amp;a)</td></tr>
<tr class="separator:a778428c4761b6ea5e7770743f0eab5ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ba872b9a3ce1f3da6c06c5409663cca"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d82/classlarge__number.html#a7ba872b9a3ce1f3da6c06c5409663cca">operator==</a> (<a class="el" href="../../db/d82/classlarge__number.html">large_number</a> const &amp;<a class="el" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9ecd98ce0064e2f7f97bb6a92f58ee72">a</a>, <a class="el" href="../../db/d82/classlarge__number.html">large_number</a> const &amp;b)</td></tr>
<tr class="memitem:a7ba872b9a3ce1f3da6c06c5409663cca"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d82/classlarge__number.html#a7ba872b9a3ce1f3da6c06c5409663cca">operator==</a> (<a class="el" href="../../db/d82/classlarge__number.html">large_number</a> const &amp;a, <a class="el" href="../../db/d82/classlarge__number.html">large_number</a> const &amp;b)</td></tr>
<tr class="separator:a7ba872b9a3ce1f3da6c06c5409663cca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a72ae1ef050c4c28c50952ecab22d4b94"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d82/classlarge__number.html#a72ae1ef050c4c28c50952ecab22d4b94">operator!=</a> (<a class="el" href="../../db/d82/classlarge__number.html">large_number</a> const &amp;<a class="el" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9ecd98ce0064e2f7f97bb6a92f58ee72">a</a>, <a class="el" href="../../db/d82/classlarge__number.html">large_number</a> const &amp;b)</td></tr>
<tr class="memitem:a72ae1ef050c4c28c50952ecab22d4b94"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d82/classlarge__number.html#a72ae1ef050c4c28c50952ecab22d4b94">operator!=</a> (<a class="el" href="../../db/d82/classlarge__number.html">large_number</a> const &amp;a, <a class="el" href="../../db/d82/classlarge__number.html">large_number</a> const &amp;b)</td></tr>
<tr class="separator:a72ae1ef050c4c28c50952ecab22d4b94"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a70d23d67535e67030db570e56c00e16d"><td class="memTemplParams" colspan="2">template&lt;class T &gt; </td></tr>
<tr class="memitem:a70d23d67535e67030db570e56c00e16d"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="../../db/d82/classlarge__number.html">large_number</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../db/d82/classlarge__number.html#a70d23d67535e67030db570e56c00e16d">operator+</a> (const <a class="el" href="../../db/d82/classlarge__number.html">large_number</a> &amp;<a class="el" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9ecd98ce0064e2f7f97bb6a92f58ee72">a</a>, const T &amp;b)</td></tr>
<tr class="memitem:a70d23d67535e67030db570e56c00e16d"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="../../db/d82/classlarge__number.html">large_number</a> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../db/d82/classlarge__number.html#a70d23d67535e67030db570e56c00e16d">operator+</a> (const <a class="el" href="../../db/d82/classlarge__number.html">large_number</a> &amp;a, const T &amp;b)</td></tr>
<tr class="separator:a70d23d67535e67030db570e56c00e16d"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
@@ -617,7 +617,13 @@ Here is the call graph for this function:</div>
<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>&#160; }</div>
<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>&#160; <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; }</div>
</div><!-- fragment -->
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="../../db/d82/classlarge__number_ac27b399ed872731758ec33ebb102730e_cgraph.svg" width="603" height="139"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
</div>
</div>
<a id="aeb22d2aae39d1b1e0bd39c7f47b333eb"></a>
@@ -705,46 +711,46 @@ Here is the call graph for this function:</div>
<div class="fragment"><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; {</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;------ Checking `large_number` class implementations\t&quot;</span></div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <a class="code" href="../../db/d82/classlarge__number.html">large_number</a> <a class="code" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9ecd98ce0064e2f7f97bb6a92f58ee72">a</a>(40);</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <a class="code" href="../../db/d82/classlarge__number.html">large_number</a> a(40);</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="comment">// 1. test multiplication</span></div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <a class="code" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9ecd98ce0064e2f7f97bb6a92f58ee72">a</a> *= 10;</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9ecd98ce0064e2f7f97bb6a92f58ee72">a</a> != <a class="code" href="../../db/d82/classlarge__number.html#a10119a83839e65962621b73df46a5337">large_number</a>(400)) {</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cerr</a> &lt;&lt; <span class="stringliteral">&quot;\tFailed 1/6 (&quot;</span> &lt;&lt; <a class="code" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9ecd98ce0064e2f7f97bb6a92f58ee72">a</a> &lt;&lt; <span class="stringliteral">&quot;!=400)&quot;</span> &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; a *= 10;</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keywordflow">if</span> (a != <a class="code" href="../../db/d82/classlarge__number.html#a10119a83839e65962621b73df46a5337">large_number</a>(400)) {</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cerr</a> &lt;&lt; <span class="stringliteral">&quot;\tFailed 1/6 (&quot;</span> &lt;&lt; a &lt;&lt; <span class="stringliteral">&quot;!=400)&quot;</span> &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; }</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;\tPassed 1/6...&quot;</span>;</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="comment">// 2. test compound addition with integer</span></div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <a class="code" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9ecd98ce0064e2f7f97bb6a92f58ee72">a</a> += 120;</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9ecd98ce0064e2f7f97bb6a92f58ee72">a</a> != <a class="code" href="../../db/d82/classlarge__number.html#a10119a83839e65962621b73df46a5337">large_number</a>(520)) {</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cerr</a> &lt;&lt; <span class="stringliteral">&quot;\tFailed 2/6 (&quot;</span> &lt;&lt; <a class="code" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9ecd98ce0064e2f7f97bb6a92f58ee72">a</a> &lt;&lt; <span class="stringliteral">&quot;!=520)&quot;</span> &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; a += 120;</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="keywordflow">if</span> (a != <a class="code" href="../../db/d82/classlarge__number.html#a10119a83839e65962621b73df46a5337">large_number</a>(520)) {</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cerr</a> &lt;&lt; <span class="stringliteral">&quot;\tFailed 2/6 (&quot;</span> &lt;&lt; a &lt;&lt; <span class="stringliteral">&quot;!=520)&quot;</span> &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; }</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;\tPassed 2/6...&quot;</span>;</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="comment">// 3. test compound multiplication again</span></div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <a class="code" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9ecd98ce0064e2f7f97bb6a92f58ee72">a</a> *= 10;</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9ecd98ce0064e2f7f97bb6a92f58ee72">a</a> != <a class="code" href="../../db/d82/classlarge__number.html#a10119a83839e65962621b73df46a5337">large_number</a>(5200)) {</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cerr</a> &lt;&lt; <span class="stringliteral">&quot;\tFailed 3/6 (&quot;</span> &lt;&lt; <a class="code" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9ecd98ce0064e2f7f97bb6a92f58ee72">a</a> &lt;&lt; <span class="stringliteral">&quot;!=5200)&quot;</span> &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; a *= 10;</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keywordflow">if</span> (a != <a class="code" href="../../db/d82/classlarge__number.html#a10119a83839e65962621b73df46a5337">large_number</a>(5200)) {</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cerr</a> &lt;&lt; <span class="stringliteral">&quot;\tFailed 3/6 (&quot;</span> &lt;&lt; a &lt;&lt; <span class="stringliteral">&quot;!=5200)&quot;</span> &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; }</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;\tPassed 3/6...&quot;</span>;</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="comment">// 4. test increment (prefix)</span></div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; ++<a class="code" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9ecd98ce0064e2f7f97bb6a92f58ee72">a</a>;</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9ecd98ce0064e2f7f97bb6a92f58ee72">a</a> != <a class="code" href="../../db/d82/classlarge__number.html#a10119a83839e65962621b73df46a5337">large_number</a>(5201)) {</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cerr</a> &lt;&lt; <span class="stringliteral">&quot;\tFailed 4/6 (&quot;</span> &lt;&lt; <a class="code" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9ecd98ce0064e2f7f97bb6a92f58ee72">a</a> &lt;&lt; <span class="stringliteral">&quot;!=5201)&quot;</span> &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; ++a;</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="keywordflow">if</span> (a != <a class="code" href="../../db/d82/classlarge__number.html#a10119a83839e65962621b73df46a5337">large_number</a>(5201)) {</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cerr</a> &lt;&lt; <span class="stringliteral">&quot;\tFailed 4/6 (&quot;</span> &lt;&lt; a &lt;&lt; <span class="stringliteral">&quot;!=5201)&quot;</span> &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; }</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;\tPassed 4/6...&quot;</span>;</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="comment">// 5. test increment (postfix)</span></div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <a class="code" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9ecd98ce0064e2f7f97bb6a92f58ee72">a</a>++;</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9ecd98ce0064e2f7f97bb6a92f58ee72">a</a> != <a class="code" href="../../db/d82/classlarge__number.html#a10119a83839e65962621b73df46a5337">large_number</a>(5202)) {</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cerr</a> &lt;&lt; <span class="stringliteral">&quot;\tFailed 5/6 (&quot;</span> &lt;&lt; <a class="code" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9ecd98ce0064e2f7f97bb6a92f58ee72">a</a> &lt;&lt; <span class="stringliteral">&quot;!=5202)&quot;</span> &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; a++;</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <span class="keywordflow">if</span> (a != <a class="code" href="../../db/d82/classlarge__number.html#a10119a83839e65962621b73df46a5337">large_number</a>(5202)) {</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cerr</a> &lt;&lt; <span class="stringliteral">&quot;\tFailed 5/6 (&quot;</span> &lt;&lt; a &lt;&lt; <span class="stringliteral">&quot;!=5202)&quot;</span> &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; }</div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;\tPassed 5/6...&quot;</span>;</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="comment">// 6. test addition with another large number</span></div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <a class="code" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9ecd98ce0064e2f7f97bb6a92f58ee72">a</a> = <a class="code" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9ecd98ce0064e2f7f97bb6a92f58ee72">a</a> + <a class="code" href="../../db/d82/classlarge__number.html#a10119a83839e65962621b73df46a5337">large_number</a>(<span class="stringliteral">&quot;7000000000000000000000000000000&quot;</span>);</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9ecd98ce0064e2f7f97bb6a92f58ee72">a</a> != <a class="code" href="../../db/d82/classlarge__number.html#a10119a83839e65962621b73df46a5337">large_number</a>(<span class="stringliteral">&quot;7000000000000000000000000005202&quot;</span>)) {</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cerr</a> &lt;&lt; <span class="stringliteral">&quot;\tFailed 6/6 (&quot;</span> &lt;&lt; <a class="code" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9ecd98ce0064e2f7f97bb6a92f58ee72">a</a></div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; a = a + <a class="code" href="../../db/d82/classlarge__number.html#a10119a83839e65962621b73df46a5337">large_number</a>(<span class="stringliteral">&quot;7000000000000000000000000000000&quot;</span>);</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <span class="keywordflow">if</span> (a != <a class="code" href="../../db/d82/classlarge__number.html#a10119a83839e65962621b73df46a5337">large_number</a>(<span class="stringliteral">&quot;7000000000000000000000000005202&quot;</span>)) {</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cerr</a> &lt;&lt; <span class="stringliteral">&quot;\tFailed 6/6 (&quot;</span> &lt;&lt; a</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; &lt;&lt; <span class="stringliteral">&quot;!=7000000000000000000000000005202)&quot;</span> &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; }</div>
@@ -796,7 +802,7 @@ Here is the call graph for this function:</div>
</div><div class="memdoc">
<p>operator overload to compare two numbers </p>
<div class="fragment"><div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; {</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="keywordflow">return</span> !(<a class="code" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9ecd98ce0064e2f7f97bb6a92f58ee72">a</a> == b);</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; <span class="keywordflow">return</span> !(a == b);</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; }</div>
</div><!-- fragment -->
</div>
@@ -838,7 +844,7 @@ template&lt;class T &gt; </div>
</div><div class="memdoc">
<p>operator overload to perform addition </p>
<div class="fragment"><div class="line"><a name="l00220"></a><span class="lineno"> 220</span>&#160; {</div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <span class="keyword">static</span> <a class="code" href="../../db/d82/classlarge__number.html">large_number</a> c = <a class="code" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9ecd98ce0064e2f7f97bb6a92f58ee72">a</a>;</div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; <span class="keyword">static</span> <a class="code" href="../../db/d82/classlarge__number.html">large_number</a> c = a;</div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; c += b;</div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; <span class="keywordflow">return</span> c;</div>
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; }</div>
@@ -880,8 +886,8 @@ template&lt;class T &gt; </div>
</div><div class="memdoc">
<p>operator overload to compare two numbers </p>
<div class="fragment"><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; {</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = <a class="code" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9ecd98ce0064e2f7f97bb6a92f58ee72">a</a>.num_digits(); i &gt; 0; i--)</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; out &lt;&lt; static_cast&lt;int&gt;(<a class="code" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9ecd98ce0064e2f7f97bb6a92f58ee72">a</a>[i - 1]);</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = a.num_digits(); i &gt; 0; i--)</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; out &lt;&lt; static_cast&lt;int&gt;(a[i - 1]);</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <span class="keywordflow">return</span> out;</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; }</div>
</div><!-- fragment -->
@@ -922,11 +928,11 @@ template&lt;class T &gt; </div>
</div><div class="memdoc">
<p>operator overload to compare two numbers </p>
<div class="fragment"><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; {</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="keywordtype">size_t</span> N = <a class="code" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9ecd98ce0064e2f7f97bb6a92f58ee72">a</a>.num_digits();</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160; <span class="keywordtype">size_t</span> N = a.num_digits();</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <span class="keywordflow">if</span> (N != b.num_digits())</div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = 0; i &lt; N; i++)</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9ecd98ce0064e2f7f97bb6a92f58ee72">a</a>[i] != b[i])</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <span class="keywordflow">if</span> (a[i] != b[i])</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160; }</div>
@@ -972,7 +978,6 @@ template&lt;class T &gt; </div>
<div class="ttc" id="aclasslarge__number_html_a2f5571e66305cf68bb8283e4aeda58bc"><div class="ttname"><a href="../../db/d82/classlarge__number.html#a2f5571e66305cf68bb8283e4aeda58bc">large_number::multiply</a></div><div class="ttdeci">void multiply(const T n)</div><div class="ttdef"><b>Definition:</b> large_number.h:258</div></div>
<div class="ttc" id="aclasslarge__number_html_af2b3ec9c35842d3a46ac7326f268af57"><div class="ttname"><a href="../../db/d82/classlarge__number.html#af2b3ec9c35842d3a46ac7326f268af57">large_number::_digits</a></div><div class="ttdeci">std::vector&lt; unsigned char &gt; _digits</div><div class="ttdef"><b>Definition:</b> large_number.h:285</div></div>
<div class="ttc" id="ais_integral_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/types/is_integral.html">std::is_integral</a></div></div>
<div class="ttc" id="amatrix__exponentiation_8cpp_html_a9ecd98ce0064e2f7f97bb6a92f58ee72"><div class="ttname"><a href="../../d7/d35/matrix__exponentiation_8cpp.html#a9ecd98ce0064e2f7f97bb6a92f58ee72">a</a></div><div class="ttdeci">vector&lt; ll &gt; a</div><div class="ttdef"><b>Definition:</b> matrix_exponentiation.cpp:53</div></div>
<div class="ttc" id="aendl_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a></div><div class="ttdeci">T endl(T... args)</div></div>
<div class="ttc" id="amax_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/algorithm/max.html">std::max</a></div><div class="ttdeci">T max(T... args)</div></div>
<div class="ttc" id="aexit_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/utility/program/exit.html">std::exit</a></div><div class="ttdeci">T exit(T... args)</div></div>
@@ -980,7 +985,7 @@ template&lt;class T &gt; </div>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../db/d82/classlarge__number.html">large_number</a></li>
<li class="footer">Generated on Wed Jun 24 2020 22:45:09 for Algorithms_in_C++ by
<li class="footer">Generated on Wed Jun 24 2020 22:52:57 for Algorithms_in_C++ by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.18 </li>
</ul>

View File

@@ -0,0 +1,8 @@
<map id="large_number::operator+=" name="large_number::operator+=">
<area shape="rect" id="node1" title=" " alt="" coords="5,56,176,83"/>
<area shape="rect" id="node2" href="$db/d82/classlarge__number.html#a60c436d1a1c5e3795d6177d3815ad615" title=" " alt="" coords="229,5,389,32"/>
<area shape="rect" id="node4" href="/Users/runner/runners/2.263.0/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/algorithm/max.html#" title=" " alt="" coords="273,56,346,83"/>
<area shape="rect" id="node5" href="$db/d82/classlarge__number.html#ac09a05ec4aafb4d9e0b4440d6f0e2a93" title=" " alt="" coords="224,107,395,133"/>
<area shape="rect" id="node3" href="/Users/runner/runners/2.263.0/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/push_back.html#" title=" " alt="" coords="443,5,597,32"/>
<area shape="rect" id="node6" href="/Users/runner/runners/2.263.0/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/size.html#" title=" " alt="" coords="462,107,578,133"/>
</map>

View File

@@ -0,0 +1 @@
4f435bbb5100993a772bfe3175e7432c

View File

@@ -0,0 +1,97 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.44.0 (20200408.0750)
-->
<!-- Title: large_number::operator+= Pages: 1 -->
<svg width="452pt" height="104pt"
viewBox="0.00 0.00 452.00 104.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 100)">
<title>large_number::operator+=</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-100 448,-100 448,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title=" ">
<polygon fill="#bfbfbf" stroke="black" points="0,-38.5 0,-57.5 128,-57.5 128,-38.5 0,-38.5"/>
<text text-anchor="middle" x="64" y="-45.5" font-family="Helvetica,sans-Serif" font-size="10.00">large_number::operator+=</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a xlink:href="../../db/d82/classlarge__number.html#a60c436d1a1c5e3795d6177d3815ad615" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="168,-76.5 168,-95.5 288,-95.5 288,-76.5 168,-76.5"/>
<text text-anchor="middle" x="228" y="-83.5" font-family="Helvetica,sans-Serif" font-size="10.00">large_number::add_digit</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<title>Node1&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M105.88,-57.59C127.35,-62.63 153.86,-68.84 176.6,-74.18"/>
<polygon fill="midnightblue" stroke="midnightblue" points="175.88,-77.6 186.41,-76.48 177.48,-70.79 175.88,-77.6"/>
</g>
<!-- Node4 -->
<g id="node4" class="node">
<title>Node4</title>
<g id="a_node4"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/algorithm/max.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="200.5,-38.5 200.5,-57.5 255.5,-57.5 255.5,-38.5 200.5,-38.5"/>
<text text-anchor="middle" x="228" y="-45.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::max</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node4 -->
<g id="edge3" class="edge">
<title>Node1&#45;&gt;Node4</title>
<path fill="none" stroke="midnightblue" d="M128.1,-48C149.04,-48 171.66,-48 189.98,-48"/>
<polygon fill="midnightblue" stroke="midnightblue" points="190.22,-51.5 200.22,-48 190.22,-44.5 190.22,-51.5"/>
</g>
<!-- Node5 -->
<g id="node5" class="node">
<title>Node5</title>
<g id="a_node5"><a xlink:href="../../db/d82/classlarge__number.html#ac09a05ec4aafb4d9e0b4440d6f0e2a93" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="164,-0.5 164,-19.5 292,-19.5 292,-0.5 164,-0.5"/>
<text text-anchor="middle" x="228" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">large_number::num_digits</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node5 -->
<g id="edge4" class="edge">
<title>Node1&#45;&gt;Node5</title>
<path fill="none" stroke="midnightblue" d="M105.88,-38.41C127.35,-33.37 153.86,-27.16 176.6,-21.82"/>
<polygon fill="midnightblue" stroke="midnightblue" points="177.48,-25.21 186.41,-19.52 175.88,-18.4 177.48,-25.21"/>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<title>Node3</title>
<g id="a_node3"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/push_back.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="328,-76.5 328,-95.5 444,-95.5 444,-76.5 328,-76.5"/>
<text text-anchor="middle" x="386" y="-83.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::push_back</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<title>Node2&#45;&gt;Node3</title>
<path fill="none" stroke="midnightblue" d="M288.42,-86C298.01,-86 307.99,-86 317.75,-86"/>
<polygon fill="midnightblue" stroke="midnightblue" points="317.8,-89.5 327.8,-86 317.8,-82.5 317.8,-89.5"/>
</g>
<!-- Node6 -->
<g id="node6" class="node">
<title>Node6</title>
<g id="a_node6"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/size.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="342.5,-0.5 342.5,-19.5 429.5,-19.5 429.5,-0.5 342.5,-0.5"/>
<text text-anchor="middle" x="386" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::size</text>
</a>
</g>
</g>
<!-- Node5&#45;&gt;Node6 -->
<g id="edge5" class="edge">
<title>Node5&#45;&gt;Node6</title>
<path fill="none" stroke="midnightblue" d="M292,-10C305.35,-10 319.3,-10 332.22,-10"/>
<polygon fill="midnightblue" stroke="midnightblue" points="332.33,-13.5 342.33,-10 332.33,-6.5 332.33,-13.5"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 4.5 KiB