Documentation for 341ed50da8

This commit is contained in:
github-actions
2021-09-03 19:56:17 +00:00
parent 52d0c55145
commit 08e8eb037e
3432 changed files with 71392 additions and 72953 deletions

View File

@@ -2,8 +2,8 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Algorithms_in_C++: graph::is_graph_bipartite::Graph Class Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
@@ -17,9 +17,9 @@
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
@@ -32,8 +32,7 @@
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Algorithms_in_C++
&#160;<span id="projectnumber">1.0.0</span>
<div id="projectname">Algorithms_in_C++<span id="projectnumber">&#160;1.0.0</span>
</div>
<div id="projectbrief">Set of algorithms implemented in C++.</div>
</td>
@@ -42,21 +41,22 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<!-- Generated by Doxygen 1.9.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "../../search",false,'Search','.html');
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -70,7 +70,7 @@ $(function() {
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html','../../'); initResizable(); });
/* @license-end */
</script>
@@ -94,21 +94,14 @@ $(document).ready(function(){initNavTree('de/d00/classgraph_1_1is__graph__bipart
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pri-attribs">Private Attributes</a> &#124;
<a href="../../dc/d67/classgraph_1_1is__graph__bipartite_1_1_graph-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">graph::is_graph_bipartite::Graph Class Reference</div> </div>
<div class="headertitle"><div class="title">graph::is_graph_bipartite::Graph Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Class for representing graph as an adjacency list.
<a href="../../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#details">More...</a></p>
<div class="dynheader">
Collaboration diagram for graph::is_graph_bipartite::Graph:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="../../df/db7/classgraph_1_1is__graph__bipartite_1_1_graph__coll__graph.svg" width="262" height="246"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="../../graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a6aef65b40347c4606662cad4dd2e14d3"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#a6aef65b40347c4606662cad4dd2e14d3">Graph</a> (int size)</td></tr>
<tr class="memdesc:a6aef65b40347c4606662cad4dd2e14d3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor that initializes the graph on creation. <a href="../../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#a6aef65b40347c4606662cad4dd2e14d3">More...</a><br /></td></tr>
@@ -120,25 +113,25 @@ Public Member Functions</h2></td></tr>
<tr class="memdesc:a9b0c6400693a5cfff971f768dd5ca5ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">function to add edges to our graph <a href="../../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#a9b0c6400693a5cfff971f768dd5ca5ca">More...</a><br /></td></tr>
<tr class="separator:a9b0c6400693a5cfff971f768dd5ca5ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-attribs"></a>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-attribs" name="pri-attribs"></a>
Private Attributes</h2></td></tr>
<tr class="memitem:aefea7ee87a708298c486d5a38ac628ef"><td class="memItemLeft" align="right" valign="top"><a id="aefea7ee87a708298c486d5a38ac628ef"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#aefea7ee87a708298c486d5a38ac628ef">n</a></td></tr>
<tr class="memitem:aefea7ee87a708298c486d5a38ac628ef"><td class="memItemLeft" align="right" valign="top"><a id="aefea7ee87a708298c486d5a38ac628ef" name="aefea7ee87a708298c486d5a38ac628ef"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>n</b></td></tr>
<tr class="memdesc:aefea7ee87a708298c486d5a38ac628ef"><td class="mdescLeft">&#160;</td><td class="mdescRight">size of the graph <br /></td></tr>
<tr class="separator:aefea7ee87a708298c486d5a38ac628ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab0efcfa04fff8616aff0062522d1483f"><td class="memItemLeft" align="right" valign="top"><a id="ab0efcfa04fff8616aff0062522d1483f"></a>
<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; int &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#ab0efcfa04fff8616aff0062522d1483f">adj</a></td></tr>
<tr class="memitem:ab0efcfa04fff8616aff0062522d1483f"><td class="memItemLeft" align="right" valign="top"><a id="ab0efcfa04fff8616aff0062522d1483f" name="ab0efcfa04fff8616aff0062522d1483f"></a>
<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; int &gt; &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>adj</b></td></tr>
<tr class="memdesc:ab0efcfa04fff8616aff0062522d1483f"><td class="mdescLeft">&#160;</td><td class="mdescRight">adj stores the graph as an adjacency list <br /></td></tr>
<tr class="separator:ab0efcfa04fff8616aff0062522d1483f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d10768f927baa8a4d4a5ffce295b6b6"><td class="memItemLeft" align="right" valign="top"><a id="a9d10768f927baa8a4d4a5ffce295b6b6"></a>
<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#a9d10768f927baa8a4d4a5ffce295b6b6">side</a></td></tr>
<tr class="memitem:a9d10768f927baa8a4d4a5ffce295b6b6"><td class="memItemLeft" align="right" valign="top"><a id="a9d10768f927baa8a4d4a5ffce295b6b6" name="a9d10768f927baa8a4d4a5ffce295b6b6"></a>
<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>side</b></td></tr>
<tr class="memdesc:a9d10768f927baa8a4d4a5ffce295b6b6"><td class="mdescLeft">&#160;</td><td class="mdescRight">stores the side of the vertex <br /></td></tr>
<tr class="separator:a9d10768f927baa8a4d4a5ffce295b6b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Class for representing graph as an adjacency list. </p>
<div class="textblock"><p >Class for representing graph as an adjacency list. </p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a6aef65b40347c4606662cad4dd2e14d3"></a>
<a id="a6aef65b40347c4606662cad4dd2e14d3" name="a6aef65b40347c4606662cad4dd2e14d3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6aef65b40347c4606662cad4dd2e14d3">&#9670;&nbsp;</a></span>Graph()</h2>
<div class="memitem">
@@ -169,20 +162,19 @@ int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../..
</table>
</dd>
</dl>
<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="code" href="../../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#aefea7ee87a708298c486d5a38ac628ef">n</a> = size;</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <a class="code" href="../../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#ab0efcfa04fff8616aff0062522d1483f">adj</a>.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/resize.html">resize</a>(<a class="code" href="../../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#aefea7ee87a708298c486d5a38ac628ef">n</a>);</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <a class="code" href="../../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#a9d10768f927baa8a4d4a5ffce295b6b6">side</a>.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/resize.html">resize</a>(<a class="code" href="../../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#aefea7ee87a708298c486d5a38ac628ef">n</a>, -1);</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; }</div>
<div class="fragment"><div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> {</div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> <a class="code hl_variable" href="../../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#aefea7ee87a708298c486d5a38ac628ef">n</a> = size;</div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> <a class="code hl_variable" href="../../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#ab0efcfa04fff8616aff0062522d1483f">adj</a>.resize(<a class="code hl_variable" href="../../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#aefea7ee87a708298c486d5a38ac628ef">n</a>);</div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> <a class="code hl_variable" href="../../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#a9d10768f927baa8a4d4a5ffce295b6b6">side</a>.resize(<a class="code hl_variable" href="../../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#aefea7ee87a708298c486d5a38ac628ef">n</a>, -1);</div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> }</div>
<div class="ttc" id="aclassgraph_1_1is__graph__bipartite_1_1_graph_html_a9d10768f927baa8a4d4a5ffce295b6b6"><div class="ttname"><a href="../../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#a9d10768f927baa8a4d4a5ffce295b6b6">graph::is_graph_bipartite::Graph::side</a></div><div class="ttdeci">std::vector&lt; int &gt; side</div><div class="ttdoc">stores the side of the vertex</div><div class="ttdef"><b>Definition:</b> is_graph_bipartite.cpp:58</div></div>
<div class="ttc" id="aclassgraph_1_1is__graph__bipartite_1_1_graph_html_ab0efcfa04fff8616aff0062522d1483f"><div class="ttname"><a href="../../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#ab0efcfa04fff8616aff0062522d1483f">graph::is_graph_bipartite::Graph::adj</a></div><div class="ttdeci">std::vector&lt; std::vector&lt; int &gt; &gt; adj</div><div class="ttdoc">adj stores the graph as an adjacency list</div><div class="ttdef"><b>Definition:</b> is_graph_bipartite.cpp:56</div></div>
<div class="ttc" id="aclassgraph_1_1is__graph__bipartite_1_1_graph_html_aefea7ee87a708298c486d5a38ac628ef"><div class="ttname"><a href="../../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#aefea7ee87a708298c486d5a38ac628ef">graph::is_graph_bipartite::Graph::n</a></div><div class="ttdeci">int n</div><div class="ttdoc">size of the graph</div><div class="ttdef"><b>Definition:</b> is_graph_bipartite.cpp:53</div></div>
<div class="ttc" id="aresize_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/resize.html">std::vector::resize</a></div><div class="ttdeci">T resize(T... args)</div></div>
</div><!-- fragment -->
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="ad8c10df34357b2cd865c81e0c4f0bd8c"></a>
<a id="ad8c10df34357b2cd865c81e0c4f0bd8c" name="ad8c10df34357b2cd865c81e0c4f0bd8c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad8c10df34357b2cd865c81e0c4f0bd8c">&#9670;&nbsp;</a></span>addEdge()</h2>
<div class="memitem">
@@ -216,21 +208,14 @@ int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../..
</table>
</dd>
</dl>
<div class="fragment"><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; {</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <a class="code" href="../../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#ab0efcfa04fff8616aff0062522d1483f">adj</a>[u - 1].<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">push_back</a>(v - 1);</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <a class="code" href="../../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#ab0efcfa04fff8616aff0062522d1483f">adj</a>[v - 1].<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">push_back</a>(u - 1);</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;}</div>
<div class="ttc" id="apush_back_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">std::vector::push_back</a></div><div class="ttdeci">T push_back(T... args)</div></div>
</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="../../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph_ad8c10df34357b2cd865c81e0c4f0bd8c_cgraph.svg" width="384" height="52"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
<div class="fragment"><div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> {</div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> <a class="code hl_variable" href="../../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#ab0efcfa04fff8616aff0062522d1483f">adj</a>[u - 1].push_back(v - 1);</div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> <a class="code hl_variable" href="../../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#ab0efcfa04fff8616aff0062522d1483f">adj</a>[v - 1].push_back(u - 1);</div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span>}</div>
</div><!-- fragment -->
</div>
</div>
</div>
</div>
<a id="a9b0c6400693a5cfff971f768dd5ca5ca"></a>
<a id="a9b0c6400693a5cfff971f768dd5ca5ca" name="a9b0c6400693a5cfff971f768dd5ca5ca"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9b0c6400693a5cfff971f768dd5ca5ca">&#9670;&nbsp;</a></span>is_bipartite()</h2>
<div class="memitem">
@@ -246,34 +231,34 @@ Here is the call graph for this function:</div>
</div><div class="memdoc">
<p>function to add edges to our graph </p>
<p>function that checks whether the graph is bipartite or not the function returns true if the graph is a bipartite graph the function returns false if the graph is not a bipartite graph</p>
<p>Here, side refers to the two disjoint subsets of the bipartite graph. Initially, the values of side are set to -1 which is an unassigned state. A for loop is run for every vertex of the graph. If the current edge has no side assigned to it, then a Breadth First Search operation is performed. If two neighbours have the same side then the graph will not be bipartite and the value of check becomes false. If and only if each pair of neighbours have different sides, the value of check will be true and hence the graph bipartite.</p>
<p >function that checks whether the graph is bipartite or not the function returns true if the graph is a bipartite graph the function returns false if the graph is not a bipartite graph</p>
<p >Here, side refers to the two disjoint subsets of the bipartite graph. Initially, the values of side are set to -1 which is an unassigned state. A for loop is run for every vertex of the graph. If the current edge has no side assigned to it, then a Breadth First Search operation is performed. If two neighbours have the same side then the graph will not be bipartite and the value of check becomes false. If and only if each pair of neighbours have different sides, the value of check will be true and hence the graph bipartite.</p>
<dl class="section return"><dt>Returns</dt><dd><code>true</code> if th graph is bipartite </dd>
<dd>
<code>false</code> otherwise </dd></dl>
<div class="fragment"><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; {</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="../../d3/d84/word__break_8cpp.html#a272b0f5cdb4e41fd6dee4538b808c06a">check</a> = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/queue.html">std::queue&lt;int&gt;</a> q;</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> current_edge = 0; current_edge &lt; <a class="code" href="../../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#aefea7ee87a708298c486d5a38ac628ef">n</a>; ++current_edge) {</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#a9d10768f927baa8a4d4a5ffce295b6b6">side</a>[current_edge] == -1) {</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; q.push(current_edge);</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <a class="code" href="../../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#a9d10768f927baa8a4d4a5ffce295b6b6">side</a>[current_edge] = 0;</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keywordflow">while</span> (q.size()) {</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="keywordtype">int</span> current = q.front();</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; q.pop();</div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="keywordflow">for</span> (<span class="keyword">auto</span> neighbour : <a class="code" href="../../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#ab0efcfa04fff8616aff0062522d1483f">adj</a>[current]) {</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#a9d10768f927baa8a4d4a5ffce295b6b6">side</a>[neighbour] == -1) {</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <a class="code" href="../../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#a9d10768f927baa8a4d4a5ffce295b6b6">side</a>[neighbour] = (1 ^ <a class="code" href="../../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#a9d10768f927baa8a4d4a5ffce295b6b6">side</a>[current]);</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; q.push(neighbour);</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <a class="code" href="../../d3/d84/word__break_8cpp.html#a272b0f5cdb4e41fd6dee4538b808c06a">check</a> &amp;= (<a class="code" href="../../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#a9d10768f927baa8a4d4a5ffce295b6b6">side</a>[neighbour] != <a class="code" href="../../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#a9d10768f927baa8a4d4a5ffce295b6b6">side</a>[current]);</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; }</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; }</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; }</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; }</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; }</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="keywordflow">return</span> <a class="code" href="../../d3/d84/word__break_8cpp.html#a272b0f5cdb4e41fd6dee4538b808c06a">check</a>;</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;}</div>
<div class="fragment"><div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> {</div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="../../d3/d84/word__break_8cpp.html#a272b0f5cdb4e41fd6dee4538b808c06a">check</a> = <span class="keyword">true</span>;</div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/queue.html">std::queue&lt;int&gt;</a> q;</div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> current_edge = 0; current_edge &lt; <a class="code hl_variable" href="../../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#aefea7ee87a708298c486d5a38ac628ef">n</a>; ++current_edge) {</div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="../../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#a9d10768f927baa8a4d4a5ffce295b6b6">side</a>[current_edge] == -1) {</div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> q.push(current_edge);</div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> <a class="code hl_variable" href="../../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#a9d10768f927baa8a4d4a5ffce295b6b6">side</a>[current_edge] = 0;</div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> <span class="keywordflow">while</span> (q.size()) {</div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> <span class="keywordtype">int</span> current = q.front();</div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> q.pop();</div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> <span class="keywordflow">for</span> (<span class="keyword">auto</span> neighbour : <a class="code hl_variable" href="../../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#ab0efcfa04fff8616aff0062522d1483f">adj</a>[current]) {</div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="../../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#a9d10768f927baa8a4d4a5ffce295b6b6">side</a>[neighbour] == -1) {</div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> <a class="code hl_variable" href="../../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#a9d10768f927baa8a4d4a5ffce295b6b6">side</a>[neighbour] = (1 ^ <a class="code hl_variable" href="../../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#a9d10768f927baa8a4d4a5ffce295b6b6">side</a>[current]);</div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> q.push(neighbour);</div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> <a class="code hl_function" href="../../d3/d84/word__break_8cpp.html#a272b0f5cdb4e41fd6dee4538b808c06a">check</a> &amp;= (<a class="code hl_variable" href="../../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#a9d10768f927baa8a4d4a5ffce295b6b6">side</a>[neighbour] != <a class="code hl_variable" href="../../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html#a9d10768f927baa8a4d4a5ffce295b6b6">side</a>[current]);</div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> }</div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> }</div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> }</div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> }</div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> }</div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> <span class="keywordflow">return</span> <a class="code hl_function" href="../../d3/d84/word__break_8cpp.html#a272b0f5cdb4e41fd6dee4538b808c06a">check</a>;</div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span>}</div>
<div class="ttc" id="aqueue_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/queue.html">std::queue</a></div></div>
<div class="ttc" id="aword__break_8cpp_html_a272b0f5cdb4e41fd6dee4538b808c06a"><div class="ttname"><a href="../../d3/d84/word__break_8cpp.html#a272b0f5cdb4e41fd6dee4538b808c06a">dynamic_programming::word_break::check</a></div><div class="ttdeci">bool check(const std::string &amp;s, const std::unordered_set&lt; std::string &gt; &amp;strSet, int pos, std::vector&lt; int &gt; *dp)</div><div class="ttdoc">Function that checks if the string passed in param can be segmented from position 'pos',...</div><div class="ttdef"><b>Definition:</b> word_break.cpp:80</div></div>
</div><!-- fragment -->
@@ -288,7 +273,7 @@ Here is the call graph for this function:</div>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../df/dce/namespacegraph.html">graph</a></li><li class="navelem"><b>is_graph_bipartite</b></li><li class="navelem"><a class="el" href="../../de/d00/classgraph_1_1is__graph__bipartite_1_1_graph.html">Graph</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.2 </li>
</ul>
</div>
</body>

View File

@@ -1,4 +0,0 @@
<map id="graph::is_graph_bipartite::Graph::addEdge" name="graph::is_graph_bipartite::Graph::addEdge">
<area shape="rect" id="node1" title="Function that add an edge between two nodes or vertices of graph." alt="" coords="5,5,175,47"/>
<area shape="rect" id="node2" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/push_back.html#" title=" " alt="" coords="223,13,379,39"/>
</map>

View File

@@ -1,38 +0,0 @@
<?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.48.0 (20210717.1556)
-->
<!-- Title: graph::is_graph_bipartite::Graph::addEdge Pages: 1 -->
<svg width="288pt" height="39pt"
viewBox="0.00 0.00 288.00 39.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 35)">
<title>graph::is_graph_bipartite::Graph::addEdge</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-35 284,-35 284,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="Function that add an edge between two nodes or vertices of graph.">
<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-30.5 127,-30.5 127,-0.5 0,-0.5"/>
<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">graph::is_graph_bipartite</text>
<text text-anchor="middle" x="63.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">::Graph::addEdge</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/push_back.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="163,-6 163,-25 280,-25 280,-6 163,-6"/>
<text text-anchor="middle" x="221.5" y="-13" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::push_back</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="M127.05,-15.5C135.58,-15.5 144.37,-15.5 152.98,-15.5"/>
<polygon fill="midnightblue" stroke="midnightblue" points="152.99,-19 162.99,-15.5 152.99,-12 152.99,-19"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 1.9 KiB

View File

@@ -1,7 +1,7 @@
<?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.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: backtracking/knight_tour.cpp Pages: 1 -->
<svg width="120pt" height="95pt"

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@@ -2,8 +2,8 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Algorithms_in_C++: sorting/cycle_sort.cpp File Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
@@ -17,9 +17,9 @@
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
@@ -32,8 +32,7 @@
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Algorithms_in_C++
&#160;<span id="projectnumber">1.0.0</span>
<div id="projectname">Algorithms_in_C++<span id="projectnumber">&#160;1.0.0</span>
</div>
<div id="projectbrief">Set of algorithms implemented in C++.</div>
</td>
@@ -42,21 +41,22 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<!-- Generated by Doxygen 1.9.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "../../search",false,'Search','.html');
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -70,7 +70,7 @@ $(function() {
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('de/d07/cycle__sort_8cpp.html','../../'); initResizable(); });
/* @license-end */
</script>
@@ -93,12 +93,11 @@ $(document).ready(function(){initNavTree('de/d07/cycle__sort_8cpp.html','../../'
<div class="summary">
<a href="#namespaces">Namespaces</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">cycle_sort.cpp File Reference</div> </div>
<div class="headertitle"><div class="title">cycle_sort.cpp File Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Implementation of <a href="https://en.wikipedia.org/wiki/Cycle_sort">Cycle sort</a> algorithm.
<p>Implementation of <a href="https://en.wikipedia.org/wiki/Cycle_sort" target="_blank">Cycle sort</a> algorithm.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;algorithm&gt;</code><br />
<code>#include &lt;cassert&gt;</code><br />
@@ -111,21 +110,21 @@ Include dependency graph for cycle_sort.cpp:</div>
</div>
</div>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:d5/d91/namespacesorting"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d91/namespacesorting.html">sorting</a></td></tr>
<tr class="memitem:d5/d91/namespacesorting"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d91/namespacesorting.html">sorting</a></td></tr>
<tr class="memdesc:d5/d91/namespacesorting"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sorting algorithms. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:d4/dfb/namespacecycle__sort"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/dfb/namespacecycle__sort.html">cycle_sort</a></td></tr>
<tr class="memdesc:d4/dfb/namespacecycle__sort"><td class="mdescLeft">&#160;</td><td class="mdescRight">Functions for <a href="https://en.wikipedia.org/wiki/Cycle_sort">Cycle sort</a> algorithm. <br /></td></tr>
<tr class="memitem:d4/dfb/namespacecycle__sort"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/dfb/namespacecycle__sort.html">cycle_sort</a></td></tr>
<tr class="memdesc:d4/dfb/namespacecycle__sort"><td class="mdescLeft">&#160;</td><td class="mdescRight">Functions for <a href="https://en.wikipedia.org/wiki/Cycle_sort" target="_blank">Cycle sort</a> algorithm. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ad0cfe2e54b1d3f9d0ca648265d917c6a"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ad0cfe2e54b1d3f9d0ca648265d917c6a"><td class="memTemplItemLeft" align="right" valign="top"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../de/d07/cycle__sort_8cpp.html#ad0cfe2e54b1d3f9d0ca648265d917c6a">sorting::cycle_sort::cycleSort</a> (const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; T &gt; &amp;in_arr)</td></tr>
<tr class="memdesc:ad0cfe2e54b1d3f9d0ca648265d917c6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">The main function implements cycleSort. <a href="../../de/d07/cycle__sort_8cpp.html#ad0cfe2e54b1d3f9d0ca648265d917c6a">More...</a><br /></td></tr>
<tr class="separator:ad0cfe2e54b1d3f9d0ca648265d917c6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae79a9d247691fce0d655fce75f1c04fa"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </td></tr>
<tr class="memitem:ae79a9d247691fce0d655fce75f1c04fa"><td class="memTemplItemLeft" align="right" valign="top"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; T &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../de/d07/cycle__sort_8cpp.html#ae79a9d247691fce0d655fce75f1c04fa">sorting::cycle_sort::cycleSort</a> (const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; T &gt; &amp;in_arr)</td></tr>
<tr class="memdesc:ae79a9d247691fce0d655fce75f1c04fa"><td class="mdescLeft">&#160;</td><td class="mdescRight">The main function implements cycleSort. <a href="../../de/d07/cycle__sort_8cpp.html#ae79a9d247691fce0d655fce75f1c04fa">More...</a><br /></td></tr>
<tr class="separator:ae79a9d247691fce0d655fce75f1c04fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa8dca7b867074164d5f45b0f3851269d"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d07/cycle__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">test</a> ()</td></tr>
<tr class="memdesc:aa8dca7b867074164d5f45b0f3851269d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Test implementations. <a href="../../de/d07/cycle__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">More...</a><br /></td></tr>
<tr class="separator:aa8dca7b867074164d5f45b0f3851269d"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -134,11 +133,11 @@ Functions</h2></td></tr>
<tr class="separator:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Implementation of <a href="https://en.wikipedia.org/wiki/Cycle_sort">Cycle sort</a> algorithm. </p>
<p>Cycle Sort is a sorting algorithm that works in \(O(n^2)\) time in the best case and works in \(O(n^2)\) in worst case. If a element is already at its correct position, do nothing. If a element is not at its correct position, we then need to move it to its correct position by computing the correct positions.Therefore, we should make sure the duplicate elements. </p><dl class="section author"><dt>Author</dt><dd><a href="https://github.com/dalaoqi">TsungHan Ho</a> </dd></dl>
<div class="textblock"><p >Implementation of <a href="https://en.wikipedia.org/wiki/Cycle_sort" target="_blank">Cycle sort</a> algorithm. </p>
<p >Cycle Sort is a sorting algorithm that works in \(O(n^2)\) time in the best case and works in \(O(n^2)\) in worst case. If a element is already at its correct position, do nothing. If a element is not at its correct position, we then need to move it to its correct position by computing the correct positions.Therefore, we should make sure the duplicate elements. </p><dl class="section author"><dt>Author</dt><dd><a href="https://github.com/dalaoqi" target="_blank">TsungHan Ho</a> </dd></dl>
</div><h2 class="groupheader">Function Documentation</h2>
<a id="ad0cfe2e54b1d3f9d0ca648265d917c6a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad0cfe2e54b1d3f9d0ca648265d917c6a">&#9670;&nbsp;</a></span>cycleSort()</h2>
<a id="ae79a9d247691fce0d655fce75f1c04fa" name="ae79a9d247691fce0d655fce75f1c04fa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae79a9d247691fce0d655fce75f1c04fa">&#9670;&nbsp;</a></span>cycleSort()</h2>
<div class="memitem">
<div class="memproto">
@@ -146,7 +145,7 @@ Functions</h2></td></tr>
template&lt;typename T &gt; </div>
<table class="memname">
<tr>
<td class="memname"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt;T&gt; sorting::cycle_sort::cycleSort </td>
<td class="memname"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; T &gt; sorting::cycle_sort::cycleSort </td>
<td>(</td>
<td class="paramtype">const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; T &gt; &amp;&#160;</td>
<td class="paramname"><em>in_arr</em></td><td>)</td>
@@ -169,65 +168,65 @@ template&lt;typename T &gt; </div>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>
<div class="fragment"><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; {</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;T&gt;</a> arr(in_arr);</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> cycle_start = 0; cycle_start &lt;= arr.size() - 1; cycle_start++) {</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="comment">// initialize item</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; T item = arr[cycle_start];</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; </div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <span class="comment">// Count the number of elements smaller than item, this number is the</span></div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <span class="comment">// correct index of item.</span></div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <span class="keywordtype">int</span> pos = cycle_start;</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = cycle_start + 1; i &lt; arr.size(); i++) {</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <span class="keywordflow">if</span> (arr[i] &lt; item) {</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; pos++;</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; }</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; }</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; </div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="comment">// item is already in correct position</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keywordflow">if</span> (pos == cycle_start) {</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="keywordflow">continue</span>;</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; }</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; </div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="comment">// duplicate elements</span></div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keywordflow">while</span> (item == arr[pos]) pos += 1;</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keywordflow">if</span> (pos == cycle_start) {</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="keywordflow">continue</span>;</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/swap.html">std::swap</a>(item, arr[pos]);</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; }</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="comment">// Rest of the elements</span></div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="keywordflow">while</span> (pos != cycle_start) {</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; pos = cycle_start;</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="comment">// Find position where we put the element</span></div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = cycle_start + 1; i &lt; arr.size(); i++) {</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keywordflow">if</span> (arr[i] &lt; item) {</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; pos += 1;</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; }</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; }</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="comment">// duplicate elements</span></div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keywordflow">while</span> (item == arr[pos]) pos += 1;</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keywordflow">if</span> (item == arr[pos]) {</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="keywordflow">continue</span>;</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/swap.html">std::swap</a>(item, arr[pos]);</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; }</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; }</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; <span class="keywordflow">return</span> arr;</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;}</div>
<div class="fragment"><div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> {</div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;T&gt;</a> arr(in_arr);</div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> cycle_start = 0; cycle_start &lt;= arr.size() - 1; cycle_start++) {</div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> <span class="comment">// initialize item</span></div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> T item = arr[cycle_start];</div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> </div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> <span class="comment">// Count the number of elements smaller than item, this number is the</span></div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> <span class="comment">// correct index of item.</span></div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> <span class="keywordtype">int</span> pos = cycle_start;</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = cycle_start + 1; i &lt; arr.size(); i++) {</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> <span class="keywordflow">if</span> (arr[i] &lt; item) {</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> pos++;</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> }</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> }</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> </div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> <span class="comment">// item is already in correct position</span></div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> <span class="keywordflow">if</span> (pos == cycle_start) {</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> }</div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> </div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> <span class="comment">// duplicate elements</span></div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> <span class="keywordflow">while</span> (item == arr[pos]) pos += 1;</div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> <span class="keywordflow">if</span> (pos == cycle_start) {</div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/swap.html">std::swap</a>(item, arr[pos]);</div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> }</div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> <span class="comment">// Rest of the elements</span></div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> <span class="keywordflow">while</span> (pos != cycle_start) {</div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> pos = cycle_start;</div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> <span class="comment">// Find position where we put the element</span></div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> i = cycle_start + 1; i &lt; arr.size(); i++) {</div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> <span class="keywordflow">if</span> (arr[i] &lt; item) {</div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> pos += 1;</div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> }</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> }</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> <span class="comment">// duplicate elements</span></div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> <span class="keywordflow">while</span> (item == arr[pos]) pos += 1;</div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> <span class="keywordflow">if</span> (item == arr[pos]) {</div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> <span class="keywordflow">continue</span>;</div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/swap.html">std::swap</a>(item, arr[pos]);</div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> }</div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> }</div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> }</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> <span class="keywordflow">return</span> arr;</div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span>}</div>
<div class="ttc" id="aswap_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/algorithm/swap.html">std::swap</a></div><div class="ttdeci">T swap(T... args)</div></div>
<div class="ttc" id="avector_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a></div></div>
</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="../../de/d07/cycle__sort_8cpp_ad0cfe2e54b1d3f9d0ca648265d917c6a_cgraph.svg" width="303" height="95"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
<div class="center"><iframe scrolling="no" frameborder="0" src="../../de/d07/cycle__sort_8cpp_ae79a9d247691fce0d655fce75f1c04fa_cgraph.svg" width="303" height="95"><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="ae66f6b31b5ad750f1fe042a706a4e3d4"></a>
<a id="ae66f6b31b5ad750f1fe042a706a4e3d4" name="ae66f6b31b5ad750f1fe042a706a4e3d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae66f6b31b5ad750f1fe042a706a4e3d4">&#9670;&nbsp;</a></span>main()</h2>
<div class="memitem">
@@ -245,10 +244,10 @@ Here is the call graph for this function:</div>
<p>Main function. </p>
<dl class="section return"><dt>Returns</dt><dd>0 on exit </dd></dl>
<div class="fragment"><div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; {</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <a class="code" href="../../de/d07/cycle__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">test</a>(); <span class="comment">// execute the test</span></div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;}</div>
<div class="fragment"><div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span> {</div>
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span> <a class="code hl_function" href="../../de/d07/cycle__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">test</a>(); <span class="comment">// execute the test</span></div>
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span>}</div>
<div class="ttc" id="acycle__sort_8cpp_html_aa8dca7b867074164d5f45b0f3851269d"><div class="ttname"><a href="../../de/d07/cycle__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">test</a></div><div class="ttdeci">static void test()</div><div class="ttdoc">Test implementations.</div><div class="ttdef"><b>Definition:</b> cycle_sort.cpp:91</div></div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
@@ -259,7 +258,7 @@ Here is the call graph for this function:</div>
</div>
</div>
<a id="aa8dca7b867074164d5f45b0f3851269d"></a>
<a id="aa8dca7b867074164d5f45b0f3851269d" name="aa8dca7b867074164d5f45b0f3851269d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa8dca7b867074164d5f45b0f3851269d">&#9670;&nbsp;</a></span>test()</h2>
<div class="memitem">
@@ -284,40 +283,40 @@ Here is the call graph for this function:</div>
<p>Test implementations. </p>
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>
<div class="fragment"><div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; {</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>&#160; <span class="comment">// Test 1</span></div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; <span class="comment">// [4, 3, 2, 1] return [1, 2, 3, 4]</span></div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;uint32_t&gt;</a> array1 = {4, 3, 2, 1};</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</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;Test 1... &quot;</span>;</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/container/vector.html">std::vector&lt;uint32_t&gt;</a> arr1 = <a class="code" href="../../de/d07/cycle__sort_8cpp.html#ad0cfe2e54b1d3f9d0ca648265d917c6a">sorting::cycle_sort::cycleSort</a>(array1);</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; assert(<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/is_sorted.html">std::is_sorted</a>(<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/iterator/begin.html">std::begin</a>(arr1), <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/iterator/end.html">std::end</a>(arr1)));</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</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;passed&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="l00099"></a><span class="lineno"> 99</span>&#160; </div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="comment">// [4.3, -6.5, -7.4, 0, 2.7, 1.8] return [-7.4, -6.5, 0, 1.8, 2.7, 4.3]</span></div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;double&gt;</a> array2 = {4.3, -6.5, -7.4, 0, 2.7, 1.8};</div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</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;Test 2... &quot;</span>;</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/container/vector.html">std::vector&lt;double&gt;</a> arr2 = <a class="code" href="../../de/d07/cycle__sort_8cpp.html#ad0cfe2e54b1d3f9d0ca648265d917c6a">sorting::cycle_sort::cycleSort</a>(array2);</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; assert(<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/is_sorted.html">std::is_sorted</a>(<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/iterator/begin.html">std::begin</a>(arr2), <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/iterator/end.html">std::end</a>(arr2)));</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</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;passed&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="l00106"></a><span class="lineno"> 106</span>&#160; </div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <span class="comment">// Test 3</span></div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <span class="comment">// [3, 3, 3, 3] return [3, 3, 3, 3]</span></div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;uint32_t&gt;</a> array3 = {3, 3, 3, 3};</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</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;Test 3... &quot;</span>;</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;uint32_t&gt;</a> arr3 = <a class="code" href="../../de/d07/cycle__sort_8cpp.html#ad0cfe2e54b1d3f9d0ca648265d917c6a">sorting::cycle_sort::cycleSort</a>(array3);</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; assert(<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/is_sorted.html">std::is_sorted</a>(<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/iterator/begin.html">std::begin</a>(arr3), <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/iterator/end.html">std::end</a>(arr3)));</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</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;passed&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="l00114"></a><span class="lineno"> 114</span>&#160; </div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <span class="comment">// [9, 4, 6, 8, 14, 3] return [9, 4, 6, 8, 14, 3]</span></div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;uint32_t&gt;</a> array4 = {3, 4, 6, 8, 9, 14};</div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</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;Test 4... &quot;</span>;</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;uint32_t&gt;</a> arr4 = <a class="code" href="../../de/d07/cycle__sort_8cpp.html#ad0cfe2e54b1d3f9d0ca648265d917c6a">sorting::cycle_sort::cycleSort</a>(array4);</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; assert(<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/is_sorted.html">std::is_sorted</a>(<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/iterator/begin.html">std::begin</a>(arr4), <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/iterator/end.html">std::end</a>(arr4)));</div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</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;passed&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="l00121"></a><span class="lineno"> 121</span>&#160;}</div>
<div class="fragment"><div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> {</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> <span class="comment">// Test 1</span></div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> <span class="comment">// [4, 3, 2, 1] return [1, 2, 3, 4]</span></div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;uint32_t&gt;</a> array1 = {4, 3, 2, 1};</div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Test 1... &quot;</span>;</div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;uint32_t&gt;</a> arr1 = <a class="code hl_function" href="../../de/d07/cycle__sort_8cpp.html#ae79a9d247691fce0d655fce75f1c04fa">sorting::cycle_sort::cycleSort</a>(array1);</div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> assert(<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/is_sorted.html">std::is_sorted</a>(<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/iterator/begin.html">std::begin</a>(arr1), <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/iterator/end.html">std::end</a>(arr1)));</div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;passed&quot;</span> &lt;&lt; <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> </div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> <span class="comment">// [4.3, -6.5, -7.4, 0, 2.7, 1.8] return [-7.4, -6.5, 0, 1.8, 2.7, 4.3]</span></div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;double&gt;</a> array2 = {4.3, -6.5, -7.4, 0, 2.7, 1.8};</div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Test 2... &quot;</span>;</div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;double&gt;</a> arr2 = <a class="code hl_function" href="../../de/d07/cycle__sort_8cpp.html#ae79a9d247691fce0d655fce75f1c04fa">sorting::cycle_sort::cycleSort</a>(array2);</div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> assert(<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/is_sorted.html">std::is_sorted</a>(<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/iterator/begin.html">std::begin</a>(arr2), <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/iterator/end.html">std::end</a>(arr2)));</div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;passed&quot;</span> &lt;&lt; <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> </div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> <span class="comment">// Test 3</span></div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> <span class="comment">// [3, 3, 3, 3] return [3, 3, 3, 3]</span></div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;uint32_t&gt;</a> array3 = {3, 3, 3, 3};</div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Test 3... &quot;</span>;</div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;uint32_t&gt;</a> arr3 = <a class="code hl_function" href="../../de/d07/cycle__sort_8cpp.html#ae79a9d247691fce0d655fce75f1c04fa">sorting::cycle_sort::cycleSort</a>(array3);</div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> assert(<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/is_sorted.html">std::is_sorted</a>(<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/iterator/begin.html">std::begin</a>(arr3), <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/iterator/end.html">std::end</a>(arr3)));</div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;passed&quot;</span> &lt;&lt; <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> </div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> <span class="comment">// [9, 4, 6, 8, 14, 3] return [9, 4, 6, 8, 14, 3]</span></div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;uint32_t&gt;</a> array4 = {3, 4, 6, 8, 9, 14};</div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Test 4... &quot;</span>;</div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;uint32_t&gt;</a> arr4 = <a class="code hl_function" href="../../de/d07/cycle__sort_8cpp.html#ae79a9d247691fce0d655fce75f1c04fa">sorting::cycle_sort::cycleSort</a>(array4);</div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> assert(<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/is_sorted.html">std::is_sorted</a>(<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/iterator/begin.html">std::begin</a>(arr4), <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/iterator/end.html">std::end</a>(arr4)));</div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;passed&quot;</span> &lt;&lt; <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span>}</div>
<div class="ttc" id="abasic_ostream_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a></div></div>
<div class="ttc" id="abegin_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/iterator/begin.html">std::begin</a></div><div class="ttdeci">T begin(T... args)</div></div>
<div class="ttc" id="acycle__sort_8cpp_html_ad0cfe2e54b1d3f9d0ca648265d917c6a"><div class="ttname"><a href="../../de/d07/cycle__sort_8cpp.html#ad0cfe2e54b1d3f9d0ca648265d917c6a">sorting::cycle_sort::cycleSort</a></div><div class="ttdeci">std::vector&lt; T &gt; cycleSort(const std::vector&lt; T &gt; &amp;in_arr)</div><div class="ttdoc">The main function implements cycleSort.</div><div class="ttdef"><b>Definition:</b> cycle_sort.cpp:37</div></div>
<div class="ttc" id="acycle__sort_8cpp_html_ae79a9d247691fce0d655fce75f1c04fa"><div class="ttname"><a href="../../de/d07/cycle__sort_8cpp.html#ae79a9d247691fce0d655fce75f1c04fa">sorting::cycle_sort::cycleSort</a></div><div class="ttdeci">std::vector&lt; T &gt; cycleSort(const std::vector&lt; T &gt; &amp;in_arr)</div><div class="ttdoc">The main function implements cycleSort.</div><div class="ttdef"><b>Definition:</b> cycle_sort.cpp:37</div></div>
<div class="ttc" id="aend_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/iterator/end.html">std::end</a></div><div class="ttdeci">T end(T... args)</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="ais_sorted_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/algorithm/is_sorted.html">std::is_sorted</a></div><div class="ttdeci">T is_sorted(T... args)</div></div>
@@ -336,7 +335,7 @@ Here is the call graph for this function:</div>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_bb1b521853a9c46347182a9d10420771.html">sorting</a></li><li class="navelem"><a class="el" href="../../de/d07/cycle__sort_8cpp.html">cycle_sort.cpp</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.2 </li>
</ul>
</div>
</body>

View File

@@ -1,6 +1,6 @@
var cycle__sort_8cpp =
[
[ "cycleSort", "de/d07/cycle__sort_8cpp.html#ad0cfe2e54b1d3f9d0ca648265d917c6a", null ],
[ "cycleSort", "de/d07/cycle__sort_8cpp.html#ae79a9d247691fce0d655fce75f1c04fa", null ],
[ "main", "de/d07/cycle__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4", null ],
[ "test", "de/d07/cycle__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d", null ]
];

View File

@@ -1,7 +1,7 @@
<?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.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: test Pages: 1 -->
<svg width="153pt" height="142pt"

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

View File

@@ -1,7 +1,7 @@
<?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.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: main Pages: 1 -->
<svg width="227pt" height="142pt"

Before

Width:  |  Height:  |  Size: 4.5 KiB

After

Width:  |  Height:  |  Size: 4.5 KiB

View File

@@ -1,7 +1,7 @@
<?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.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: sorting::cycle_sort::cycleSort Pages: 1 -->
<svg width="227pt" height="71pt"

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@@ -2,8 +2,8 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Algorithms_in_C++: merge_insertion Namespace Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
@@ -17,9 +17,9 @@
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
@@ -32,8 +32,7 @@
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Algorithms_in_C++
&#160;<span id="projectnumber">1.0.0</span>
<div id="projectname">Algorithms_in_C++<span id="projectnumber">&#160;1.0.0</span>
</div>
<div id="projectbrief">Set of algorithms implemented in C++.</div>
</td>
@@ -42,21 +41,22 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<!-- Generated by Doxygen 1.9.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "../../search",false,'Search','.html');
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -70,7 +70,7 @@ $(function() {
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('de/d0a/namespacemerge__insertion.html','../../'); initResizable(); });
/* @license-end */
</script>
@@ -90,22 +90,21 @@ $(document).ready(function(){initNavTree('de/d0a/namespacemerge__insertion.html'
</div>
<div class="header">
<div class="headertitle">
<div class="title">merge_insertion Namespace Reference</div> </div>
<div class="headertitle"><div class="title">merge_insertion Namespace Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Combined Intersion-Merge sorting algorithm.
<a href="../../de/d0a/namespacemerge__insertion.html#details">More...</a></p>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Combined Intersion-Merge sorting algorithm. </p>
<div class="textblock"><p >Combined Intersion-Merge sorting algorithm. </p>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../de/d0a/namespacemerge__insertion.html">merge_insertion</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.2 </li>
</ul>
</div>
</body>

View File

@@ -2,8 +2,8 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Algorithms_in_C++: search/fibonacci_search.cpp File Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
@@ -17,9 +17,9 @@
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
@@ -32,8 +32,7 @@
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Algorithms_in_C++
&#160;<span id="projectnumber">1.0.0</span>
<div id="projectname">Algorithms_in_C++<span id="projectnumber">&#160;1.0.0</span>
</div>
<div id="projectbrief">Set of algorithms implemented in C++.</div>
</td>
@@ -42,21 +41,22 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<!-- Generated by Doxygen 1.9.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "../../search",false,'Search','.html');
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -70,7 +70,7 @@ $(function() {
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('de/d0d/fibonacci__search_8cpp.html','../../'); initResizable(); });
/* @license-end */
</script>
@@ -92,12 +92,11 @@ $(document).ready(function(){initNavTree('de/d0d/fibonacci__search_8cpp.html','.
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">fibonacci_search.cpp File Reference</div> </div>
<div class="headertitle"><div class="title">fibonacci_search.cpp File Reference</div></div>
</div><!--header-->
<div class="contents">
<p><a href="https://en.wikipedia.org/wiki/Fibonacci_search_technique">Fibonacci search algorithm</a>
<p><a href="https://en.wikipedia.org/wiki/Fibonacci_search_technique" target="_blank">Fibonacci search algorithm</a>
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;iostream&gt;</code><br />
<code>#include &lt;vector&gt;</code><br />
@@ -111,27 +110,25 @@ Include dependency graph for fibonacci_search.cpp:</div>
</div>
</div>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a0bc61b3903d9a53061bf31e5d110fe61"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d0d/fibonacci__search_8cpp.html#a0bc61b3903d9a53061bf31e5d110fe61">fibonacci_search</a> (const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; int &gt; &amp;arr, int value)</td></tr>
<tr class="memdesc:a0bc61b3903d9a53061bf31e5d110fe61"><td class="mdescLeft">&#160;</td><td class="mdescRight">using fibonacci search algorithm finds an index of a given element in a sorted array <a href="../../de/d0d/fibonacci__search_8cpp.html#a0bc61b3903d9a53061bf31e5d110fe61">More...</a><br /></td></tr>
<tr class="separator:a0bc61b3903d9a53061bf31e5d110fe61"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5e144326104e57a3808aed7eb098db0d"><td class="memItemLeft" align="right" valign="top"><a id="a5e144326104e57a3808aed7eb098db0d"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d0d/fibonacci__search_8cpp.html#a5e144326104e57a3808aed7eb098db0d">no_occurence_tests</a> ()</td></tr>
<tr class="memdesc:a5e144326104e57a3808aed7eb098db0d"><td class="mdescLeft">&#160;</td><td class="mdescRight">random tests for checking performance when an array doesn't contain an element <br /></td></tr>
<tr class="memitem:a5e144326104e57a3808aed7eb098db0d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d0d/fibonacci__search_8cpp.html#a5e144326104e57a3808aed7eb098db0d">no_occurence_tests</a> ()</td></tr>
<tr class="memdesc:a5e144326104e57a3808aed7eb098db0d"><td class="mdescLeft">&#160;</td><td class="mdescRight">random tests for checking performance when an array doesn't contain an element <a href="../../de/d0d/fibonacci__search_8cpp.html#a5e144326104e57a3808aed7eb098db0d">More...</a><br /></td></tr>
<tr class="separator:a5e144326104e57a3808aed7eb098db0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2aa09bef74ee063c1331de0883af4f4f"><td class="memItemLeft" align="right" valign="top"><a id="a2aa09bef74ee063c1331de0883af4f4f"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d0d/fibonacci__search_8cpp.html#a2aa09bef74ee063c1331de0883af4f4f">random_tests</a> ()</td></tr>
<tr class="memdesc:a2aa09bef74ee063c1331de0883af4f4f"><td class="mdescLeft">&#160;</td><td class="mdescRight">random tests which cover cases when we have one, multiple or zero occurences of the value we're looking for <br /></td></tr>
<tr class="memitem:a2aa09bef74ee063c1331de0883af4f4f"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d0d/fibonacci__search_8cpp.html#a2aa09bef74ee063c1331de0883af4f4f">random_tests</a> ()</td></tr>
<tr class="memdesc:a2aa09bef74ee063c1331de0883af4f4f"><td class="mdescLeft">&#160;</td><td class="mdescRight">random tests which cover cases when we have one, multiple or zero occurences of the value we're looking for <a href="../../de/d0d/fibonacci__search_8cpp.html#a2aa09bef74ee063c1331de0883af4f4f">More...</a><br /></td></tr>
<tr class="separator:a2aa09bef74ee063c1331de0883af4f4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d0d/fibonacci__search_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a> ()</td></tr>
<tr class="separator:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p><a href="https://en.wikipedia.org/wiki/Fibonacci_search_technique">Fibonacci search algorithm</a> </p>
<div class="textblock"><p ><a href="https://en.wikipedia.org/wiki/Fibonacci_search_technique" target="_blank">Fibonacci search algorithm</a> </p>
<dl class="section author"><dt>Author</dt><dd>sprintyaf </dd></dl>
</div><h2 class="groupheader">Function Documentation</h2>
<a id="a0bc61b3903d9a53061bf31e5d110fe61"></a>
<a id="a0bc61b3903d9a53061bf31e5d110fe61" name="a0bc61b3903d9a53061bf31e5d110fe61"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0bc61b3903d9a53061bf31e5d110fe61">&#9670;&nbsp;</a></span>fibonacci_search()</h2>
<div class="memitem">
@@ -166,51 +163,51 @@ bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../.
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>if the array contains the value, returns an index of the element. otherwise -1. </dd></dl>
<div class="fragment"><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; {</div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; <span class="comment">// initialize last and current members of Fibonacci sequence </span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; <span class="keywordtype">int</span> last = 0, current = 1;</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; <span class="keywordtype">int</span> length = arr.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>(); <span class="comment">// array size</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; <span class="comment">// next member of Fibonacci sequence which is &quot;last&quot; + &quot;current&quot;</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; <span class="keywordtype">int</span> <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/iterator/next.html">next</a> = last + current; </div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; </div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; <span class="comment">// &quot;next&quot; will store the smallest Fibonacci number greater or equal to &quot;length&quot;</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; <span class="keywordflow">while</span>(next &lt; length){</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; last = current;</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; current = <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/iterator/next.html">next</a>;</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/iterator/next.html">next</a> = last + current;</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; }</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; </div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <span class="comment">// &quot;offset&quot; is the end of eliminated range from front</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <span class="keywordtype">int</span> offset = -1, index;</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <span class="comment">// while loop until there are elements left to consider.</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="comment">// when &quot;next&quot; becomes 1, last is equal to 0, so search is done,</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <span class="comment">// because arr[offset] will already be eliminated</span></div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <span class="keywordflow">while</span>(next &gt; 1){</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <span class="comment">// check if &quot;last&quot; is valid location</span></div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; index = <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/min.html">std::min</a>(offset + last, length-1);</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <span class="comment">// if value is greater than the value at &quot;index&quot;, eliminate the subarray from offset to index</span></div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="keywordflow">if</span>(arr[index] &lt; value){</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/iterator/next.html">next</a> = current;</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; current = last;</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; last = <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/iterator/next.html">next</a> - current;</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; offset = index;</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="comment">// if value is less than the value at &quot;index&quot;, eliminate the subarray after index+1</span></div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span>(arr[index] &gt; value){</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/iterator/next.html">next</a> = last;</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; current = current - last;</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; last = <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/iterator/next.html">next</a> - current;</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="comment">// element is found</span></div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keywordflow">return</span> index;</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; }</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; }</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="comment">// comparing the last element</span></div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="keywordflow">if</span>(current &amp;&amp; !arr.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/empty.html">empty</a>() &amp;&amp; arr[offset+1] == value){</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="keywordflow">return</span> offset+1;</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; }</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="comment">// value was not found, return -1</span></div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="keywordflow">return</span> -1;</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;}</div>
<div class="fragment"><div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> {</div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> <span class="comment">// initialize last and current members of Fibonacci sequence </span></div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> <span class="keywordtype">int</span> last = 0, current = 1;</div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> <span class="keywordtype">int</span> length = arr.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>(); <span class="comment">// array size</span></div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> <span class="comment">// next member of Fibonacci sequence which is &quot;last&quot; + &quot;current&quot;</span></div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> <span class="keywordtype">int</span> <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/iterator/next.html">next</a> = last + current; </div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> </div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> <span class="comment">// &quot;next&quot; will store the smallest Fibonacci number greater or equal to &quot;length&quot;</span></div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> <span class="keywordflow">while</span>(next &lt; length){</div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> last = current;</div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> current = <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/iterator/next.html">next</a>;</div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/iterator/next.html">next</a> = last + current;</div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> }</div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> </div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> <span class="comment">// &quot;offset&quot; is the end of eliminated range from front</span></div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> <span class="keywordtype">int</span> offset = -1, index;</div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> <span class="comment">// while loop until there are elements left to consider.</span></div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> <span class="comment">// when &quot;next&quot; becomes 1, last is equal to 0, so search is done,</span></div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> <span class="comment">// because arr[offset] will already be eliminated</span></div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> <span class="keywordflow">while</span>(next &gt; 1){</div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> <span class="comment">// check if &quot;last&quot; is valid location</span></div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> index = <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/min.html">std::min</a>(offset + last, length-1);</div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> <span class="comment">// if value is greater than the value at &quot;index&quot;, eliminate the subarray from offset to index</span></div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> <span class="keywordflow">if</span>(arr[index] &lt; value){</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/iterator/next.html">next</a> = current;</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> current = last;</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> last = <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/iterator/next.html">next</a> - current;</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> offset = index;</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> <span class="comment">// if value is less than the value at &quot;index&quot;, eliminate the subarray after index+1</span></div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span>(arr[index] &gt; value){</div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/iterator/next.html">next</a> = last;</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> current = current - last;</div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> last = <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/iterator/next.html">next</a> - current;</div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> <span class="comment">// element is found</span></div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> <span class="keywordflow">return</span> index;</div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> }</div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> }</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> <span class="comment">// comparing the last element</span></div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> <span class="keywordflow">if</span>(current &amp;&amp; !arr.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/empty.html">empty</a>() &amp;&amp; arr[offset+1] == value){</div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> <span class="keywordflow">return</span> offset+1;</div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> }</div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> <span class="comment">// value was not found, return -1</span></div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> <span class="keywordflow">return</span> -1;</div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span>}</div>
<div class="ttc" id="aempty_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/empty.html">std::vector::empty</a></div><div class="ttdeci">T empty(T... args)</div></div>
<div class="ttc" id="amin_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/algorithm/min.html">std::min</a></div><div class="ttdeci">T min(T... args)</div></div>
<div class="ttc" id="anext_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/iterator/next.html">std::next</a></div><div class="ttdeci">T next(T... args)</div></div>
@@ -224,7 +221,7 @@ Here is the call graph for this function:</div>
</div>
</div>
<a id="ae66f6b31b5ad750f1fe042a706a4e3d4"></a>
<a id="ae66f6b31b5ad750f1fe042a706a4e3d4" name="ae66f6b31b5ad750f1fe042a706a4e3d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae66f6b31b5ad750f1fe042a706a4e3d4">&#9670;&nbsp;</a></span>main()</h2>
<div class="memitem">
@@ -239,12 +236,12 @@ Here is the call graph for this function:</div>
</tr>
</table>
</div><div class="memdoc">
<p>Main Function testing the algorithm </p>
<div class="fragment"><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; {</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160; assert(<a class="code" href="../../de/d0d/fibonacci__search_8cpp.html#a5e144326104e57a3808aed7eb098db0d">no_occurence_tests</a>());</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; assert(<a class="code" href="../../de/d0d/fibonacci__search_8cpp.html#a2aa09bef74ee063c1331de0883af4f4f">random_tests</a>());</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160; <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160;}</div>
<p >Main Function testing the algorithm </p>
<div class="fragment"><div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> {</div>
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> assert(<a class="code hl_function" href="../../de/d0d/fibonacci__search_8cpp.html#a5e144326104e57a3808aed7eb098db0d">no_occurence_tests</a>());</div>
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> assert(<a class="code hl_function" href="../../de/d0d/fibonacci__search_8cpp.html#a2aa09bef74ee063c1331de0883af4f4f">random_tests</a>());</div>
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span>}</div>
<div class="ttc" id="afibonacci__search_8cpp_html_a2aa09bef74ee063c1331de0883af4f4f"><div class="ttname"><a href="../../de/d0d/fibonacci__search_8cpp.html#a2aa09bef74ee063c1331de0883af4f4f">random_tests</a></div><div class="ttdeci">bool random_tests()</div><div class="ttdoc">random tests which cover cases when we have one, multiple or zero occurences of the value we're looki...</div><div class="ttdef"><b>Definition:</b> fibonacci_search.cpp:96</div></div>
<div class="ttc" id="afibonacci__search_8cpp_html_a5e144326104e57a3808aed7eb098db0d"><div class="ttname"><a href="../../de/d0d/fibonacci__search_8cpp.html#a5e144326104e57a3808aed7eb098db0d">no_occurence_tests</a></div><div class="ttdeci">bool no_occurence_tests()</div><div class="ttdoc">random tests for checking performance when an array doesn't contain an element</div><div class="ttdef"><b>Definition:</b> fibonacci_search.cpp:72</div></div>
</div><!-- fragment --><div class="dynheader">
@@ -254,6 +251,108 @@ Here is the call graph for this function:</div>
</div>
</div>
</div>
</div>
<a id="a5e144326104e57a3808aed7eb098db0d" name="a5e144326104e57a3808aed7eb098db0d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5e144326104e57a3808aed7eb098db0d">&#9670;&nbsp;</a></span>no_occurence_tests()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool no_occurence_tests </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>random tests for checking performance when an array doesn't contain an element </p>
<div class="fragment"><div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> {</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> <span class="keywordtype">bool</span> passed = <span class="keyword">true</span>;</div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> <span class="keywordtype">int</span> rand_num, rand_value, index, num_tests = 1000;</div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;int&gt;</a> arr;</div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> <span class="keywordflow">while</span>(num_tests--){</div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> arr.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/clear.html">clear</a>();</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = 0; i &lt; 100; i++){</div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> rand_num = <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/random/rand.html">std::rand</a>() % 1000;</div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> arr.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">push_back</a>(rand_num);</div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> }</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> rand_value = <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/random/rand.html">std::rand</a>() % 1000;</div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> <span class="keywordflow">while</span>(<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/find.html">std::find</a>(arr.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/begin.html">begin</a>(), arr.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/end.html">end</a>(), rand_value) != arr.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/end.html">end</a>()){</div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/remove.html">std::remove</a>(arr.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/begin.html">begin</a>(), arr.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/end.html">end</a>(), rand_value);</div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> }</div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/sort.html">sort</a>(arr.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/begin.html">begin</a>(), arr.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/end.html">end</a>());</div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> index = <a class="code hl_function" href="../../de/d0d/fibonacci__search_8cpp.html#a0bc61b3903d9a53061bf31e5d110fe61">fibonacci_search</a>(arr, rand_value);</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> passed = passed &amp;&amp; (index == -1);</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> }</div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> <span class="keywordflow">return</span> passed;</div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span>}</div>
<div class="ttc" id="abegin_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/begin.html">std::vector::begin</a></div><div class="ttdeci">T begin(T... args)</div></div>
<div class="ttc" id="aclear_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/clear.html">std::vector::clear</a></div><div class="ttdeci">T clear(T... args)</div></div>
<div class="ttc" id="aend_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/end.html">std::vector::end</a></div><div class="ttdeci">T end(T... args)</div></div>
<div class="ttc" id="afibonacci__search_8cpp_html_a0bc61b3903d9a53061bf31e5d110fe61"><div class="ttname"><a href="../../de/d0d/fibonacci__search_8cpp.html#a0bc61b3903d9a53061bf31e5d110fe61">fibonacci_search</a></div><div class="ttdeci">int fibonacci_search(const std::vector&lt; int &gt; &amp;arr, int value)</div><div class="ttdoc">using fibonacci search algorithm finds an index of a given element in a sorted array</div><div class="ttdef"><b>Definition:</b> fibonacci_search.cpp:23</div></div>
<div class="ttc" id="afind_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/algorithm/find.html">std::find</a></div><div class="ttdeci">T find(T... args)</div></div>
<div class="ttc" id="apush_back_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">std::vector::push_back</a></div><div class="ttdeci">T push_back(T... args)</div></div>
<div class="ttc" id="arand_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/numeric/random/rand.html">std::rand</a></div><div class="ttdeci">T rand(T... args)</div></div>
<div class="ttc" id="aremove_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/algorithm/remove.html">std::remove</a></div><div class="ttdeci">T remove(T... args)</div></div>
<div class="ttc" id="asort_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/algorithm/sort.html">std::sort</a></div><div class="ttdeci">T sort(T... args)</div></div>
<div class="ttc" id="avector_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a></div></div>
</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="../../de/d0d/fibonacci__search_8cpp_a5e144326104e57a3808aed7eb098db0d_cgraph.svg" width="531" height="392"><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="a2aa09bef74ee063c1331de0883af4f4f" name="a2aa09bef74ee063c1331de0883af4f4f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2aa09bef74ee063c1331de0883af4f4f">&#9670;&nbsp;</a></span>random_tests()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool random_tests </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>random tests which cover cases when we have one, multiple or zero occurences of the value we're looking for </p>
<div class="fragment"><div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> {</div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> <span class="keywordtype">bool</span> passed = <span class="keyword">true</span>;</div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> <span class="keywordtype">int</span> rand_num, rand_value, index, real_value, num_tests = 10000;</div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;int&gt;</a> arr;</div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> <span class="keywordflow">while</span>(num_tests--){</div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> arr.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/clear.html">clear</a>();</div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> <span class="keywordflow">for</span>(<span class="keywordtype">int</span> i = 0; i &lt; 100; i++){</div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> rand_num = <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/random/rand.html">std::rand</a>() % 1000;</div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> arr.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">push_back</a>(rand_num);</div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> }</div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> rand_value = <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/random/rand.html">std::rand</a>() % 1000;</div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/sort.html">std::sort</a>(arr.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/begin.html">begin</a>(), arr.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/end.html">end</a>());</div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> index = <a class="code hl_function" href="../../de/d0d/fibonacci__search_8cpp.html#a0bc61b3903d9a53061bf31e5d110fe61">fibonacci_search</a>(arr, rand_value);</div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> <span class="keywordflow">if</span>(index != -1){</div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> real_value = arr[index];</div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> passed = passed &amp;&amp; (real_value == rand_value);</div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> passed = passed &amp;&amp; (<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/find.html">std::find</a>(arr.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/begin.html">begin</a>(), arr.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/end.html">end</a>(), rand_value) == arr.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/end.html">end</a>());</div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> }</div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> }</div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> <span class="keywordflow">return</span> passed;</div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span>}</div>
</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="../../de/d0d/fibonacci__search_8cpp_a2aa09bef74ee063c1331de0883af4f4f_cgraph.svg" width="492" height="392"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
</div>
</div>
</div><!-- contents -->
@@ -262,7 +361,7 @@ Here is the call graph for this function:</div>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_19b2bf9199a15c634a08b1ede1dd896a.html">search</a></li><li class="navelem"><a class="el" href="../../de/d0d/fibonacci__search_8cpp.html">fibonacci_search.cpp</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.2 </li>
</ul>
</div>
</body>

View File

@@ -1,7 +1,7 @@
<?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.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: fibonacci_search Pages: 1 -->
<svg width="231pt" height="104pt"

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

View File

@@ -0,0 +1,14 @@
<map id="random_tests" name="random_tests">
<area shape="rect" id="node1" title="random tests which cover cases when we have one, multiple or zero occurences of the value we&#39;re looki..." alt="" coords="5,183,108,209"/>
<area shape="rect" id="node2" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/begin.html#" title=" " alt="" coords="172,5,296,32"/>
<area shape="rect" id="node3" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/clear.html#" title=" " alt="" coords="174,56,294,83"/>
<area shape="rect" id="node4" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/end.html#" title=" " alt="" coords="177,107,291,133"/>
<area shape="rect" id="node5" href="$de/d0d/fibonacci__search_8cpp.html#a0bc61b3903d9a53061bf31e5d110fe61" title="using fibonacci search algorithm finds an index of a given element in a sorted array" alt="" coords="173,157,295,184"/>
<area shape="rect" id="node9" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/algorithm/find.html#" title=" " alt="" coords="199,208,269,235"/>
<area shape="rect" id="node10" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/push_back.html#" title=" " alt="" coords="156,259,312,285"/>
<area shape="rect" id="node11" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/numeric/random/rand.html#" title=" " alt="" coords="197,309,271,336"/>
<area shape="rect" id="node12" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/algorithm/sort.html#" title=" " alt="" coords="199,360,269,387"/>
<area shape="rect" id="node6" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/empty.html#" title=" " alt="" coords="360,107,487,133"/>
<area shape="rect" id="node7" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/algorithm/min.html#" title=" " alt="" coords="389,157,458,184"/>
<area shape="rect" id="node8" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/size.html#" title=" " alt="" coords="366,208,481,235"/>
</map>

View File

@@ -0,0 +1 @@
090020658332cc4ae4bf1c5a1195a05e

View File

@@ -0,0 +1,187 @@
<?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.49.0 (20210828.1703)
-->
<!-- Title: random_tests Pages: 1 -->
<svg width="369pt" height="294pt"
viewBox="0.00 0.00 369.00 294.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 290)">
<title>random_tests</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-290 365,-290 365,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="random tests which cover cases when we have one, multiple or zero occurences of the value we&#39;re looki...">
<polygon fill="#bfbfbf" stroke="black" points="0,-133.5 0,-152.5 77,-152.5 77,-133.5 0,-133.5"/>
<text text-anchor="middle" x="38.5" y="-140.5" font-family="Helvetica,sans-Serif" font-size="10.00">random_tests</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/begin.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="125,-266.5 125,-285.5 218,-285.5 218,-266.5 125,-266.5"/>
<text text-anchor="middle" x="171.5" y="-273.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::begin</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="M43.04,-152.51C51.61,-174.27 75.57,-228.03 113,-257 115.42,-258.87 118.03,-260.56 120.75,-262.09"/>
<polygon fill="midnightblue" stroke="midnightblue" points="119.24,-265.24 129.77,-266.43 122.28,-258.94 119.24,-265.24"/>
</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/clear.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="126.5,-228.5 126.5,-247.5 216.5,-247.5 216.5,-228.5 126.5,-228.5"/>
<text text-anchor="middle" x="171.5" y="-235.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::clear</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<title>Node1&#45;&gt;Node3</title>
<path fill="none" stroke="midnightblue" d="M46.3,-152.61C58.11,-168.61 83.93,-200.75 113,-219 116.31,-221.08 119.87,-222.95 123.54,-224.64"/>
<polygon fill="midnightblue" stroke="midnightblue" points="122.23,-227.89 132.81,-228.46 124.9,-221.41 122.23,-227.89"/>
</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/container/vector/end.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="129,-190.5 129,-209.5 214,-209.5 214,-190.5 129,-190.5"/>
<text text-anchor="middle" x="171.5" y="-197.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::end</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="M56.07,-152.53C70.74,-160.73 92.87,-172.53 113,-181 118.09,-183.14 123.51,-185.2 128.91,-187.13"/>
<polygon fill="midnightblue" stroke="midnightblue" points="127.94,-190.49 138.53,-190.43 130.21,-183.87 127.94,-190.49"/>
</g>
<!-- Node5 -->
<g id="node5" class="node">
<title>Node5</title>
<g id="a_node5"><a xlink:href="../../de/d0d/fibonacci__search_8cpp.html#a0bc61b3903d9a53061bf31e5d110fe61" target="_top" xlink:title="using fibonacci search algorithm finds an index of a given element in a sorted array">
<polygon fill="white" stroke="black" points="125.5,-152.5 125.5,-171.5 217.5,-171.5 217.5,-152.5 125.5,-152.5"/>
<text text-anchor="middle" x="171.5" y="-159.5" font-family="Helvetica,sans-Serif" font-size="10.00">fibonacci_search</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="M77.04,-148.44C88.85,-150.16 102.16,-152.09 114.95,-153.94"/>
<polygon fill="midnightblue" stroke="midnightblue" points="114.65,-157.44 125.05,-155.41 115.66,-150.51 114.65,-157.44"/>
</g>
<!-- Node9 -->
<g id="node9" class="node">
<title>Node9</title>
<g id="a_node9"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/algorithm/find.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="145.5,-114.5 145.5,-133.5 197.5,-133.5 197.5,-114.5 145.5,-114.5"/>
<text text-anchor="middle" x="171.5" y="-121.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::find</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node9 -->
<g id="edge8" class="edge">
<title>Node1&#45;&gt;Node9</title>
<path fill="none" stroke="midnightblue" d="M77.04,-137.56C95.37,-134.9 117.29,-131.72 135.3,-129.11"/>
<polygon fill="midnightblue" stroke="midnightblue" points="136,-132.54 145.39,-127.64 134.99,-125.61 136,-132.54"/>
</g>
<!-- Node10 -->
<g id="node10" class="node">
<title>Node10</title>
<g id="a_node10"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/push_back.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="113,-76.5 113,-95.5 230,-95.5 230,-76.5 113,-76.5"/>
<text text-anchor="middle" x="171.5" y="-83.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::push_back</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node10 -->
<g id="edge9" class="edge">
<title>Node1&#45;&gt;Node10</title>
<path fill="none" stroke="midnightblue" d="M56.07,-133.47C70.74,-125.27 92.87,-113.47 113,-105 118.09,-102.86 123.51,-100.8 128.91,-98.87"/>
<polygon fill="midnightblue" stroke="midnightblue" points="130.21,-102.13 138.53,-95.57 127.94,-95.51 130.21,-102.13"/>
</g>
<!-- Node11 -->
<g id="node11" class="node">
<title>Node11</title>
<g id="a_node11"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/numeric/random/rand.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="144,-38.5 144,-57.5 199,-57.5 199,-38.5 144,-38.5"/>
<text text-anchor="middle" x="171.5" y="-45.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::rand</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node11 -->
<g id="edge10" class="edge">
<title>Node1&#45;&gt;Node11</title>
<path fill="none" stroke="midnightblue" d="M46.3,-133.39C58.11,-117.39 83.93,-85.25 113,-67 119.43,-62.96 126.8,-59.69 134.08,-57.08"/>
<polygon fill="midnightblue" stroke="midnightblue" points="135.41,-60.32 143.84,-53.91 133.25,-53.67 135.41,-60.32"/>
</g>
<!-- Node12 -->
<g id="node12" class="node">
<title>Node12</title>
<g id="a_node12"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/algorithm/sort.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="145.5,-0.5 145.5,-19.5 197.5,-19.5 197.5,-0.5 145.5,-0.5"/>
<text text-anchor="middle" x="171.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::sort</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node12 -->
<g id="edge11" class="edge">
<title>Node1&#45;&gt;Node12</title>
<path fill="none" stroke="midnightblue" d="M43.04,-133.49C51.61,-111.73 75.57,-57.97 113,-29 119.62,-23.88 127.69,-20.1 135.66,-17.33"/>
<polygon fill="midnightblue" stroke="midnightblue" points="136.67,-20.68 145.23,-14.43 134.64,-13.98 136.67,-20.68"/>
</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/empty.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="266,-190.5 266,-209.5 361,-209.5 361,-190.5 266,-190.5"/>
<text text-anchor="middle" x="313.5" y="-197.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::empty</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="M207.83,-171.59C225.9,-176.49 248.1,-182.52 267.39,-187.76"/>
<polygon fill="midnightblue" stroke="midnightblue" points="266.62,-191.17 277.18,-190.41 268.45,-184.42 266.62,-191.17"/>
</g>
<!-- Node7 -->
<g id="node7" class="node">
<title>Node7</title>
<g id="a_node7"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/algorithm/min.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="287.5,-152.5 287.5,-171.5 339.5,-171.5 339.5,-152.5 287.5,-152.5"/>
<text text-anchor="middle" x="313.5" y="-159.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::min</text>
</a>
</g>
</g>
<!-- Node5&#45;&gt;Node7 -->
<g id="edge6" class="edge">
<title>Node5&#45;&gt;Node7</title>
<path fill="none" stroke="midnightblue" d="M217.57,-162C236.81,-162 258.95,-162 277,-162"/>
<polygon fill="midnightblue" stroke="midnightblue" points="277.11,-165.5 287.11,-162 277.11,-158.5 277.11,-165.5"/>
</g>
<!-- Node8 -->
<g id="node8" class="node">
<title>Node8</title>
<g id="a_node8"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/size.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="270.5,-114.5 270.5,-133.5 356.5,-133.5 356.5,-114.5 270.5,-114.5"/>
<text text-anchor="middle" x="313.5" y="-121.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::size</text>
</a>
</g>
</g>
<!-- Node5&#45;&gt;Node8 -->
<g id="edge7" class="edge">
<title>Node5&#45;&gt;Node8</title>
<path fill="none" stroke="midnightblue" d="M207.83,-152.41C225.9,-147.51 248.1,-141.48 267.39,-136.24"/>
<polygon fill="midnightblue" stroke="midnightblue" points="268.45,-139.58 277.18,-133.59 266.62,-132.83 268.45,-139.58"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 9.4 KiB

View File

@@ -0,0 +1,14 @@
<map id="no_occurence_tests" name="no_occurence_tests">
<area shape="rect" id="node1" title="random tests for checking performance when an array doesn&#39;t contain an element" alt="" coords="5,183,147,209"/>
<area shape="rect" id="node2" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/begin.html#" title=" " alt="" coords="211,5,335,32"/>
<area shape="rect" id="node3" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/clear.html#" title=" " alt="" coords="213,56,333,83"/>
<area shape="rect" id="node4" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/end.html#" title=" " alt="" coords="216,107,329,133"/>
<area shape="rect" id="node5" href="$de/d0d/fibonacci__search_8cpp.html#a0bc61b3903d9a53061bf31e5d110fe61" title="using fibonacci search algorithm finds an index of a given element in a sorted array" alt="" coords="211,157,334,184"/>
<area shape="rect" id="node9" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/algorithm/find.html#" title=" " alt="" coords="238,208,307,235"/>
<area shape="rect" id="node10" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/push_back.html#" title=" " alt="" coords="195,259,351,285"/>
<area shape="rect" id="node11" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/numeric/random/rand.html#" title=" " alt="" coords="236,309,309,336"/>
<area shape="rect" id="node12" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/algorithm/remove.html#" title=" " alt="" coords="227,360,319,387"/>
<area shape="rect" id="node6" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/empty.html#" title=" " alt="" coords="399,107,525,133"/>
<area shape="rect" id="node7" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/algorithm/min.html#" title=" " alt="" coords="427,157,497,184"/>
<area shape="rect" id="node8" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/size.html#" title=" " alt="" coords="405,208,519,235"/>
</map>

View File

@@ -0,0 +1 @@
a2d632cc9344efe20fc17531568a90c0

View File

@@ -0,0 +1,187 @@
<?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.49.0 (20210828.1703)
-->
<!-- Title: no_occurence_tests Pages: 1 -->
<svg width="398pt" height="294pt"
viewBox="0.00 0.00 398.00 294.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 290)">
<title>no_occurence_tests</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-290 394,-290 394,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="random tests for checking performance when an array doesn&#39;t contain an element">
<polygon fill="#bfbfbf" stroke="black" points="0,-133.5 0,-152.5 106,-152.5 106,-133.5 0,-133.5"/>
<text text-anchor="middle" x="53" y="-140.5" font-family="Helvetica,sans-Serif" font-size="10.00">no_occurence_tests</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/begin.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="154,-266.5 154,-285.5 247,-285.5 247,-266.5 154,-266.5"/>
<text text-anchor="middle" x="200.5" y="-273.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::begin</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="M58.76,-152.5C70.13,-174.24 100.99,-227.95 142,-257 144.7,-258.91 147.61,-260.64 150.63,-262.21"/>
<polygon fill="midnightblue" stroke="midnightblue" points="149.39,-265.49 159.95,-266.41 152.27,-259.11 149.39,-265.49"/>
</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/clear.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="155.5,-228.5 155.5,-247.5 245.5,-247.5 245.5,-228.5 155.5,-228.5"/>
<text text-anchor="middle" x="200.5" y="-235.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::clear</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<title>Node1&#45;&gt;Node3</title>
<path fill="none" stroke="midnightblue" d="M62.58,-152.53C77.34,-168.41 109.16,-200.38 142,-219 145.7,-221.1 149.68,-223.01 153.74,-224.74"/>
<polygon fill="midnightblue" stroke="midnightblue" points="152.7,-228.09 163.29,-228.45 155.24,-221.57 152.7,-228.09"/>
</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/container/vector/end.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="158,-190.5 158,-209.5 243,-209.5 243,-190.5 158,-190.5"/>
<text text-anchor="middle" x="200.5" y="-197.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::end</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="M74.77,-152.59C92.47,-160.61 118.67,-172.13 142,-181 147.54,-183.11 153.43,-185.21 159.24,-187.2"/>
<polygon fill="midnightblue" stroke="midnightblue" points="158.29,-190.57 168.88,-190.44 160.52,-183.94 158.29,-190.57"/>
</g>
<!-- Node5 -->
<g id="node5" class="node">
<title>Node5</title>
<g id="a_node5"><a xlink:href="../../de/d0d/fibonacci__search_8cpp.html#a0bc61b3903d9a53061bf31e5d110fe61" target="_top" xlink:title="using fibonacci search algorithm finds an index of a given element in a sorted array">
<polygon fill="white" stroke="black" points="154.5,-152.5 154.5,-171.5 246.5,-171.5 246.5,-152.5 154.5,-152.5"/>
<text text-anchor="middle" x="200.5" y="-159.5" font-family="Helvetica,sans-Serif" font-size="10.00">fibonacci_search</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="M106.12,-149.81C118.48,-151.42 131.7,-153.15 144.2,-154.78"/>
<polygon fill="midnightblue" stroke="midnightblue" points="144.12,-158.3 154.49,-156.12 145.02,-151.36 144.12,-158.3"/>
</g>
<!-- Node9 -->
<g id="node9" class="node">
<title>Node9</title>
<g id="a_node9"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/algorithm/find.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="174.5,-114.5 174.5,-133.5 226.5,-133.5 226.5,-114.5 174.5,-114.5"/>
<text text-anchor="middle" x="200.5" y="-121.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::find</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node9 -->
<g id="edge8" class="edge">
<title>Node1&#45;&gt;Node9</title>
<path fill="none" stroke="midnightblue" d="M106.12,-136.19C125.3,-133.69 146.56,-130.91 163.94,-128.64"/>
<polygon fill="midnightblue" stroke="midnightblue" points="164.75,-132.07 174.22,-127.3 163.85,-125.13 164.75,-132.07"/>
</g>
<!-- Node10 -->
<g id="node10" class="node">
<title>Node10</title>
<g id="a_node10"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/push_back.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="142,-76.5 142,-95.5 259,-95.5 259,-76.5 142,-76.5"/>
<text text-anchor="middle" x="200.5" y="-83.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::push_back</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node10 -->
<g id="edge9" class="edge">
<title>Node1&#45;&gt;Node10</title>
<path fill="none" stroke="midnightblue" d="M74.77,-133.41C92.47,-125.39 118.67,-113.87 142,-105 147.54,-102.89 153.43,-100.79 159.24,-98.8"/>
<polygon fill="midnightblue" stroke="midnightblue" points="160.52,-102.06 168.88,-95.56 158.29,-95.43 160.52,-102.06"/>
</g>
<!-- Node11 -->
<g id="node11" class="node">
<title>Node11</title>
<g id="a_node11"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/numeric/random/rand.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="173,-38.5 173,-57.5 228,-57.5 228,-38.5 173,-38.5"/>
<text text-anchor="middle" x="200.5" y="-45.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::rand</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node11 -->
<g id="edge10" class="edge">
<title>Node1&#45;&gt;Node11</title>
<path fill="none" stroke="midnightblue" d="M62.58,-133.47C77.34,-117.59 109.16,-85.62 142,-67 148.54,-63.29 155.91,-60.17 163.14,-57.6"/>
<polygon fill="midnightblue" stroke="midnightblue" points="164.4,-60.87 172.82,-54.44 162.23,-54.22 164.4,-60.87"/>
</g>
<!-- Node12 -->
<g id="node12" class="node">
<title>Node12</title>
<g id="a_node12"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/algorithm/remove.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="166,-0.5 166,-19.5 235,-19.5 235,-0.5 166,-0.5"/>
<text text-anchor="middle" x="200.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::remove</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node12 -->
<g id="edge11" class="edge">
<title>Node1&#45;&gt;Node12</title>
<path fill="none" stroke="midnightblue" d="M58.76,-133.5C70.13,-111.76 100.99,-58.05 142,-29 146.45,-25.85 151.46,-23.19 156.62,-20.96"/>
<polygon fill="midnightblue" stroke="midnightblue" points="157.87,-24.23 165.97,-17.39 155.38,-17.69 157.87,-24.23"/>
</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/empty.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="295,-190.5 295,-209.5 390,-209.5 390,-190.5 295,-190.5"/>
<text text-anchor="middle" x="342.5" y="-197.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::empty</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="M236.83,-171.59C254.9,-176.49 277.1,-182.52 296.39,-187.76"/>
<polygon fill="midnightblue" stroke="midnightblue" points="295.62,-191.17 306.18,-190.41 297.45,-184.42 295.62,-191.17"/>
</g>
<!-- Node7 -->
<g id="node7" class="node">
<title>Node7</title>
<g id="a_node7"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/algorithm/min.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="316.5,-152.5 316.5,-171.5 368.5,-171.5 368.5,-152.5 316.5,-152.5"/>
<text text-anchor="middle" x="342.5" y="-159.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::min</text>
</a>
</g>
</g>
<!-- Node5&#45;&gt;Node7 -->
<g id="edge6" class="edge">
<title>Node5&#45;&gt;Node7</title>
<path fill="none" stroke="midnightblue" d="M246.57,-162C265.81,-162 287.95,-162 306,-162"/>
<polygon fill="midnightblue" stroke="midnightblue" points="306.11,-165.5 316.11,-162 306.11,-158.5 306.11,-165.5"/>
</g>
<!-- Node8 -->
<g id="node8" class="node">
<title>Node8</title>
<g id="a_node8"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/size.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="299.5,-114.5 299.5,-133.5 385.5,-133.5 385.5,-114.5 299.5,-114.5"/>
<text text-anchor="middle" x="342.5" y="-121.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::size</text>
</a>
</g>
</g>
<!-- Node5&#45;&gt;Node8 -->
<g id="edge7" class="edge">
<title>Node5&#45;&gt;Node8</title>
<path fill="none" stroke="midnightblue" d="M236.83,-152.41C254.9,-147.51 277.1,-141.48 296.39,-136.24"/>
<polygon fill="midnightblue" stroke="midnightblue" points="297.45,-139.58 306.18,-133.59 295.62,-132.83 297.45,-139.58"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 9.4 KiB

View File

@@ -1,7 +1,7 @@
<?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.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: main Pages: 1 -->
<svg width="472pt" height="332pt"

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

@@ -2,8 +2,8 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Algorithms_in_C++: Member List</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
@@ -17,9 +17,9 @@
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
@@ -32,8 +32,7 @@
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Algorithms_in_C++
&#160;<span id="projectnumber">1.0.0</span>
<div id="projectname">Algorithms_in_C++<span id="projectnumber">&#160;1.0.0</span>
</div>
<div id="projectbrief">Set of algorithms implemented in C++.</div>
</td>
@@ -42,21 +41,22 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<!-- Generated by Doxygen 1.9.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "../../search",false,'Search','.html');
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -70,7 +70,7 @@ $(function() {
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('d6/dc1/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p.html','../../'); initResizable(); });
/* @license-end */
</script>
@@ -90,25 +90,24 @@ $(document).ready(function(){initNavTree('d6/dc1/classmath_1_1ncr__modulo__p_1_1
</div>
<div class="header">
<div class="headertitle">
<div class="title">math::ncr_modulo_p::NCRModuloP Member List</div> </div>
<div class="headertitle"><div class="title">math::ncr_modulo_p::NCRModuloP Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../d6/dc1/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p.html">math::ncr_modulo_p::NCRModuloP</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>fac</b> (defined in <a class="el" href="../../d6/dc1/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p.html">math::ncr_modulo_p::NCRModuloP</a>)</td><td class="entry"><a class="el" href="../../d6/dc1/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p.html">math::ncr_modulo_p::NCRModuloP</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d6/dc1/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p.html#afde201f4687740454302c444f507a926">gcdExtended</a>(const uint64_t &amp;a, const uint64_t &amp;b, int64_t *x, int64_t *y)</td><td class="entry"><a class="el" href="../../d6/dc1/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p.html">math::ncr_modulo_p::NCRModuloP</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="../../d6/dc1/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p.html#afde201f4687740454302c444f507a926">gcdExtended</a>(const uint64_t &amp;a, const uint64_t &amp;b, int64_t *x, int64_t *y)</td><td class="entry"><a class="el" href="../../d6/dc1/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p.html">math::ncr_modulo_p::NCRModuloP</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d6/dc1/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p.html#a0431ec5c876e1154d8e1e5f89e1ab34a">modInverse</a>(const uint64_t &amp;a, const uint64_t &amp;m)</td><td class="entry"><a class="el" href="../../d6/dc1/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p.html">math::ncr_modulo_p::NCRModuloP</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d6/dc1/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p.html#a6b95277f5f527beacc8d0f3bc91fcd08">ncr</a>(const uint64_t &amp;n, const uint64_t &amp;r, const uint64_t &amp;p)</td><td class="entry"><a class="el" href="../../d6/dc1/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p.html">math::ncr_modulo_p::NCRModuloP</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="../../d6/dc1/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p.html#a6b95277f5f527beacc8d0f3bc91fcd08">ncr</a>(const uint64_t &amp;n, const uint64_t &amp;r, const uint64_t &amp;p)</td><td class="entry"><a class="el" href="../../d6/dc1/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p.html">math::ncr_modulo_p::NCRModuloP</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d6/dc1/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p.html#af3d41271912f9fa50b774c96c51874b9">NCRModuloP</a>(const uint64_t &amp;size, const uint64_t &amp;mod)</td><td class="entry"><a class="el" href="../../d6/dc1/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p.html">math::ncr_modulo_p::NCRModuloP</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d6/dc1/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p.html#a57c168cd6eb85718eab97da658a698ad">p</a></td><td class="entry"><a class="el" href="../../d6/dc1/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p.html">math::ncr_modulo_p::NCRModuloP</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="../../d6/dc1/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p.html#a57c168cd6eb85718eab97da658a698ad">p</a></td><td class="entry"><a class="el" href="../../d6/dc1/classmath_1_1ncr__modulo__p_1_1_n_c_r_modulo_p.html">math::ncr_modulo_p::NCRModuloP</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.2 </li>
</ul>
</div>
</body>

View File

@@ -2,8 +2,8 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Algorithms_in_C++: data_structures/disjoint_set.cpp File Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
@@ -17,9 +17,9 @@
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
@@ -32,8 +32,7 @@
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Algorithms_in_C++
&#160;<span id="projectnumber">1.0.0</span>
<div id="projectname">Algorithms_in_C++<span id="projectnumber">&#160;1.0.0</span>
</div>
<div id="projectbrief">Set of algorithms implemented in C++.</div>
</td>
@@ -42,21 +41,22 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<!-- Generated by Doxygen 1.9.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "../../search",false,'Search','.html');
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -70,7 +70,7 @@ $(function() {
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('de/d23/disjoint__set_8cpp.html','../../'); initResizable(); });
/* @license-end */
</script>
@@ -93,12 +93,11 @@ $(document).ready(function(){initNavTree('de/d23/disjoint__set_8cpp.html','../..
<div class="summary">
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a> </div>
<div class="headertitle">
<div class="title">disjoint_set.cpp File Reference</div> </div>
<div class="headertitle"><div class="title">disjoint_set.cpp File Reference</div></div>
</div><!--header-->
<div class="contents">
<p><a href="https://en.wikipedia.org/wiki/Disjoint-set_data_structure">Disjoint Sets Data Structure (Disjoint Sets)</a>
<p><a href="https://en.wikipedia.org/wiki/Disjoint-set_data_structure" target="_blank">Disjoint Sets Data Structure (Disjoint Sets)</a>
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;iostream&gt;</code><br />
<code>#include &lt;vector&gt;</code><br />
@@ -109,7 +108,7 @@ Include dependency graph for disjoint_set.cpp:</div>
</div>
</div>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a010965fc5f16cca5a62506afab24e4ec"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d23/disjoint__set_8cpp.html#a010965fc5f16cca5a62506afab24e4ec">CreateSet</a> (int n)</td></tr>
<tr class="separator:a010965fc5f16cca5a62506afab24e4ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -122,21 +121,21 @@ Functions</h2></td></tr>
<tr class="memitem:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d23/disjoint__set_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a> ()</td></tr>
<tr class="separator:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="var-members" name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:a31ade23371565792a3434bc6f2e3bdef"><td class="memItemLeft" align="right" valign="top"><a id="a31ade23371565792a3434bc6f2e3bdef"></a>
<tr class="memitem:a31ade23371565792a3434bc6f2e3bdef"><td class="memItemLeft" align="right" valign="top"><a id="a31ade23371565792a3434bc6f2e3bdef" name="a31ade23371565792a3434bc6f2e3bdef"></a>
<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">vector</a>&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>root</b></td></tr>
<tr class="separator:a31ade23371565792a3434bc6f2e3bdef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9bbf7f3dcc785986a407cfb70f54e303"><td class="memItemLeft" align="right" valign="top"><a id="a9bbf7f3dcc785986a407cfb70f54e303"></a>
<tr class="memitem:a9bbf7f3dcc785986a407cfb70f54e303"><td class="memItemLeft" align="right" valign="top"><a id="a9bbf7f3dcc785986a407cfb70f54e303" name="a9bbf7f3dcc785986a407cfb70f54e303"></a>
<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">vector</a>&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>rank</b></td></tr>
<tr class="separator:a9bbf7f3dcc785986a407cfb70f54e303"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p><a href="https://en.wikipedia.org/wiki/Disjoint-set_data_structure">Disjoint Sets Data Structure (Disjoint Sets)</a> </p>
<dl class="section author"><dt>Author</dt><dd><a href="https://github.com/leoyang429">leoyang429</a></dd></dl>
<div class="textblock"><p ><a href="https://en.wikipedia.org/wiki/Disjoint-set_data_structure" target="_blank">Disjoint Sets Data Structure (Disjoint Sets)</a> </p>
<dl class="section author"><dt>Author</dt><dd><a href="https://github.com/leoyang429" target="_blank">leoyang429</a></dd></dl>
<p>A disjoint set data structure (also called union find or merge find set) is a data structure that tracks a set of elements partitioned into a number of disjoint (non-overlapping) subsets. Some situations where disjoint sets can be used are- to find connected components of a graph, kruskal's algorithm for finding <a class="el" href="../../d4/d12/namespace_minimum.html" title="Implementation of Minimum Edit Distance algorithm.">Minimum</a> Spanning Tree etc. There are two operation which we perform on disjoint sets - 1) Union 2) Find </p>
</div><h2 class="groupheader">Function Documentation</h2>
<a id="a010965fc5f16cca5a62506afab24e4ec"></a>
<a id="a010965fc5f16cca5a62506afab24e4ec" name="a010965fc5f16cca5a62506afab24e4ec"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a010965fc5f16cca5a62506afab24e4ec">&#9670;&nbsp;</a></span>CreateSet()</h2>
<div class="memitem">
@@ -151,24 +150,24 @@ Variables</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
<p>Function to create a set </p><dl class="params"><dt>Parameters</dt><dd>
<p >Function to create a set </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">n</td><td>number of element </td></tr>
</table>
</dd>
</dl>
<div class="fragment"><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; {</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; root = <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">vector&lt;int&gt;</a>(n + 1);</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; rank = <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">vector&lt;int&gt;</a>(n + 1, 1);</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 1; i &lt;= n; ++i) {</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; root[i] = i;</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; }</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;}</div>
<div class="fragment"><div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> {</div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> root = <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">vector&lt;int&gt;</a>(n + 1);</div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> rank = <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">vector&lt;int&gt;</a>(n + 1, 1);</div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 1; i &lt;= n; ++i) {</div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> root[i] = i;</div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> }</div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span>}</div>
<div class="ttc" id="avector_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a34b9ead0608e676d9ae5188672427cc8"></a>
<a id="a34b9ead0608e676d9ae5188672427cc8" name="a34b9ead0608e676d9ae5188672427cc8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a34b9ead0608e676d9ae5188672427cc8">&#9670;&nbsp;</a></span>Find()</h2>
<div class="memitem">
@@ -183,24 +182,24 @@ Variables</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
<p>Find operation takes a number x and returns the set to which this number belongs to. </p><dl class="params"><dt>Parameters</dt><dd>
<p >Find operation takes a number x and returns the set to which this number belongs to. </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>element of some set </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>set to which x belongs to </dd></dl>
<div class="fragment"><div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; {</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; <span class="keywordflow">if</span> (root[x] == x) {</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <span class="keywordflow">return</span> x;</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; }</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="keywordflow">return</span> root[x] = <a class="code" href="../../de/d23/disjoint__set_8cpp.html#a34b9ead0608e676d9ae5188672427cc8">Find</a>(root[x]);</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;}</div>
<div class="fragment"><div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> {</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> <span class="keywordflow">if</span> (root[x] == x) {</div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> <span class="keywordflow">return</span> x;</div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> }</div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> <span class="keywordflow">return</span> root[x] = <a class="code hl_function" href="../../de/d23/disjoint__set_8cpp.html#a34b9ead0608e676d9ae5188672427cc8">Find</a>(root[x]);</div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span>}</div>
<div class="ttc" id="adisjoint__set_8cpp_html_a34b9ead0608e676d9ae5188672427cc8"><div class="ttname"><a href="../../de/d23/disjoint__set_8cpp.html#a34b9ead0608e676d9ae5188672427cc8">Find</a></div><div class="ttdeci">int Find(int x)</div><div class="ttdef"><b>Definition:</b> disjoint_set.cpp:53</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a2fb0a7cd26a477e2d48ba7e0118bc985"></a>
<a id="a2fb0a7cd26a477e2d48ba7e0118bc985" name="a2fb0a7cd26a477e2d48ba7e0118bc985"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2fb0a7cd26a477e2d48ba7e0118bc985">&#9670;&nbsp;</a></span>InSameUnion()</h2>
<div class="memitem">
@@ -225,14 +224,14 @@ Variables</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
<p>A utility function to check if x and y are from same set or not </p><dl class="params"><dt>Parameters</dt><dd>
<p >A utility function to check if x and y are from same set or not </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>element of some set </td></tr>
<tr><td class="paramname">y</td><td>element of some set </td></tr>
</table>
</dd>
</dl>
<div class="fragment"><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;{ <span class="keywordflow">return</span> <a class="code" href="../../de/d23/disjoint__set_8cpp.html#a34b9ead0608e676d9ae5188672427cc8">Find</a>(x) == <a class="code" href="../../de/d23/disjoint__set_8cpp.html#a34b9ead0608e676d9ae5188672427cc8">Find</a>(y); }</div>
<div class="fragment"><div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span>{ <span class="keywordflow">return</span> <a class="code hl_function" href="../../de/d23/disjoint__set_8cpp.html#a34b9ead0608e676d9ae5188672427cc8">Find</a>(x) == <a class="code hl_function" href="../../de/d23/disjoint__set_8cpp.html#a34b9ead0608e676d9ae5188672427cc8">Find</a>(y); }</div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
@@ -242,7 +241,7 @@ Here is the call graph for this function:</div>
</div>
</div>
<a id="ae66f6b31b5ad750f1fe042a706a4e3d4"></a>
<a id="ae66f6b31b5ad750f1fe042a706a4e3d4" name="ae66f6b31b5ad750f1fe042a706a4e3d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae66f6b31b5ad750f1fe042a706a4e3d4">&#9670;&nbsp;</a></span>main()</h2>
<div class="memitem">
@@ -257,29 +256,29 @@ Here is the call graph for this function:</div>
</tr>
</table>
</div><div class="memdoc">
<p>Main function </p>
<div class="fragment"><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; {</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="comment">// tests CreateSet &amp; Find</span></div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <span class="keywordtype">int</span> n = 100;</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160; <a class="code" href="../../de/d23/disjoint__set_8cpp.html#a010965fc5f16cca5a62506afab24e4ec">CreateSet</a>(n);</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 1; i &lt;= 100; ++i) {</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <span class="keywordflow">if</span> (root[i] != i) {</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">cout</a> &lt;&lt; <span class="stringliteral">&quot;Fail&quot;</span> &lt;&lt; <a class="code" href="../../d7/d35/matrix__exponentiation_8cpp.html#a600eaf353befc174637855795f12d258">endl</a>;</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; }</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; <span class="comment">// tests InSameUnion &amp; Union</span></div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">cout</a> &lt;&lt; <span class="stringliteral">&quot;1 and 2 are initially not in the same subset&quot;</span> &lt;&lt; <a class="code" href="../../d7/d35/matrix__exponentiation_8cpp.html#a600eaf353befc174637855795f12d258">endl</a>;</div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../de/d23/disjoint__set_8cpp.html#a2fb0a7cd26a477e2d48ba7e0118bc985">InSameUnion</a>(1, 2)) {</div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">cout</a> &lt;&lt; <span class="stringliteral">&quot;Fail&quot;</span> &lt;&lt; <a class="code" href="../../d7/d35/matrix__exponentiation_8cpp.html#a600eaf353befc174637855795f12d258">endl</a>;</div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; }</div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <a class="code" href="../../de/d23/disjoint__set_8cpp.html#a44481bb75386fbb0f958a388d4b9f757">Union</a>(1, 2);</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">cout</a> &lt;&lt; <span class="stringliteral">&quot;1 and 2 are now in the same subset&quot;</span> &lt;&lt; <a class="code" href="../../d7/d35/matrix__exponentiation_8cpp.html#a600eaf353befc174637855795f12d258">endl</a>;</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keywordflow">if</span> (!<a class="code" href="../../de/d23/disjoint__set_8cpp.html#a2fb0a7cd26a477e2d48ba7e0118bc985">InSameUnion</a>(1, 2)) {</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">cout</a> &lt;&lt; <span class="stringliteral">&quot;Fail&quot;</span> &lt;&lt; <a class="code" href="../../d7/d35/matrix__exponentiation_8cpp.html#a600eaf353befc174637855795f12d258">endl</a>;</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; }</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;}</div>
<p >Main function </p>
<div class="fragment"><div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> {</div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> <span class="comment">// tests CreateSet &amp; Find</span></div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> <span class="keywordtype">int</span> n = 100;</div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> <a class="code hl_function" href="../../de/d23/disjoint__set_8cpp.html#a010965fc5f16cca5a62506afab24e4ec">CreateSet</a>(n);</div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 1; i &lt;= 100; ++i) {</div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> <span class="keywordflow">if</span> (root[i] != i) {</div>
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">cout</a> &lt;&lt; <span class="stringliteral">&quot;Fail&quot;</span> &lt;&lt; <a class="code hl_define" href="../../d7/d35/matrix__exponentiation_8cpp.html#a600eaf353befc174637855795f12d258">endl</a>;</div>
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> <span class="keywordflow">break</span>;</div>
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span> }</div>
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span> }</div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> <span class="comment">// tests InSameUnion &amp; Union</span></div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">cout</a> &lt;&lt; <span class="stringliteral">&quot;1 and 2 are initially not in the same subset&quot;</span> &lt;&lt; <a class="code hl_define" href="../../d7/d35/matrix__exponentiation_8cpp.html#a600eaf353befc174637855795f12d258">endl</a>;</div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="../../de/d23/disjoint__set_8cpp.html#a2fb0a7cd26a477e2d48ba7e0118bc985">InSameUnion</a>(1, 2)) {</div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">cout</a> &lt;&lt; <span class="stringliteral">&quot;Fail&quot;</span> &lt;&lt; <a class="code hl_define" href="../../d7/d35/matrix__exponentiation_8cpp.html#a600eaf353befc174637855795f12d258">endl</a>;</div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> }</div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> <a class="code hl_function" href="../../de/d23/disjoint__set_8cpp.html#a44481bb75386fbb0f958a388d4b9f757">Union</a>(1, 2);</div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">cout</a> &lt;&lt; <span class="stringliteral">&quot;1 and 2 are now in the same subset&quot;</span> &lt;&lt; <a class="code hl_define" href="../../d7/d35/matrix__exponentiation_8cpp.html#a600eaf353befc174637855795f12d258">endl</a>;</div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> <span class="keywordflow">if</span> (!<a class="code hl_function" href="../../de/d23/disjoint__set_8cpp.html#a2fb0a7cd26a477e2d48ba7e0118bc985">InSameUnion</a>(1, 2)) {</div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">cout</a> &lt;&lt; <span class="stringliteral">&quot;Fail&quot;</span> &lt;&lt; <a class="code hl_define" href="../../d7/d35/matrix__exponentiation_8cpp.html#a600eaf353befc174637855795f12d258">endl</a>;</div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> }</div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span>}</div>
<div class="ttc" id="abasic_ostream_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a></div></div>
<div class="ttc" id="adisjoint__set_8cpp_html_a010965fc5f16cca5a62506afab24e4ec"><div class="ttname"><a href="../../de/d23/disjoint__set_8cpp.html#a010965fc5f16cca5a62506afab24e4ec">CreateSet</a></div><div class="ttdeci">void CreateSet(int n)</div><div class="ttdef"><b>Definition:</b> disjoint_set.cpp:37</div></div>
<div class="ttc" id="adisjoint__set_8cpp_html_a2fb0a7cd26a477e2d48ba7e0118bc985"><div class="ttname"><a href="../../de/d23/disjoint__set_8cpp.html#a2fb0a7cd26a477e2d48ba7e0118bc985">InSameUnion</a></div><div class="ttdeci">bool InSameUnion(int x, int y)</div><div class="ttdef"><b>Definition:</b> disjoint_set.cpp:67</div></div>
@@ -294,7 +293,7 @@ Here is the call graph for this function:</div>
</div>
</div>
<a id="a44481bb75386fbb0f958a388d4b9f757"></a>
<a id="a44481bb75386fbb0f958a388d4b9f757" name="a44481bb75386fbb0f958a388d4b9f757"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a44481bb75386fbb0f958a388d4b9f757">&#9670;&nbsp;</a></span>Union()</h2>
<div class="memitem">
@@ -319,26 +318,26 @@ Here is the call graph for this function:</div>
</tr>
</table>
</div><div class="memdoc">
<p>Union operation combines two disjoint sets to make a single set in this union function we pass two elements and check if they are from different sets then combine those sets </p><dl class="params"><dt>Parameters</dt><dd>
<p >Union operation combines two disjoint sets to make a single set in this union function we pass two elements and check if they are from different sets then combine those sets </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">x</td><td>element of some set </td></tr>
<tr><td class="paramname">y</td><td>element of some set </td></tr>
</table>
</dd>
</dl>
<div class="fragment"><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; {</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="keywordtype">int</span> a = <a class="code" href="../../de/d23/disjoint__set_8cpp.html#a34b9ead0608e676d9ae5188672427cc8">Find</a>(x), b = <a class="code" href="../../de/d23/disjoint__set_8cpp.html#a34b9ead0608e676d9ae5188672427cc8">Find</a>(y);</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keywordflow">if</span> (a != b) {</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="keywordflow">if</span> (rank[a] &lt; rank[b]) {</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; root[a] = b;</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (rank[a] &gt; rank[b]) {</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; root[b] = a;</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; root[a] = b;</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; ++rank[b];</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; }</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;}</div>
<div class="fragment"><div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> {</div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> <span class="keywordtype">int</span> a = <a class="code hl_function" href="../../de/d23/disjoint__set_8cpp.html#a34b9ead0608e676d9ae5188672427cc8">Find</a>(x), b = <a class="code hl_function" href="../../de/d23/disjoint__set_8cpp.html#a34b9ead0608e676d9ae5188672427cc8">Find</a>(y);</div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> <span class="keywordflow">if</span> (a != b) {</div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> <span class="keywordflow">if</span> (rank[a] &lt; rank[b]) {</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> root[a] = b;</div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (rank[a] &gt; rank[b]) {</div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> root[b] = a;</div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> root[a] = b;</div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> ++rank[b];</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> }</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> }</div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span>}</div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
@@ -354,7 +353,7 @@ Here is the call graph for this function:</div>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_2e746e9d06bf2d8ff842208bcc6ebcfc.html">data_structures</a></li><li class="navelem"><a class="el" href="../../de/d23/disjoint__set_8cpp.html">disjoint_set.cpp</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.2 </li>
</ul>
</div>
</body>

View File

@@ -4,7 +4,5 @@ var disjoint__set_8cpp =
[ "Find", "de/d23/disjoint__set_8cpp.html#a34b9ead0608e676d9ae5188672427cc8", null ],
[ "InSameUnion", "de/d23/disjoint__set_8cpp.html#a2fb0a7cd26a477e2d48ba7e0118bc985", null ],
[ "main", "de/d23/disjoint__set_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4", null ],
[ "Union", "de/d23/disjoint__set_8cpp.html#a44481bb75386fbb0f958a388d4b9f757", null ],
[ "rank", "de/d23/disjoint__set_8cpp.html#a9bbf7f3dcc785986a407cfb70f54e303", null ],
[ "root", "de/d23/disjoint__set_8cpp.html#a31ade23371565792a3434bc6f2e3bdef", null ]
[ "Union", "de/d23/disjoint__set_8cpp.html#a44481bb75386fbb0f958a388d4b9f757", null ]
];

View File

@@ -1,7 +1,7 @@
<?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.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: InSameUnion Pages: 1 -->
<svg width="157pt" height="28pt"

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@@ -1,7 +1,7 @@
<?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.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: Union Pages: 1 -->
<svg width="123pt" height="28pt"

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@@ -1,7 +1,7 @@
<?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.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: main Pages: 1 -->
<svg width="144pt" height="28pt"

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@@ -2,8 +2,8 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Algorithms_in_C++: Member List</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
@@ -17,9 +17,9 @@
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
@@ -32,8 +32,7 @@
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Algorithms_in_C++
&#160;<span id="projectnumber">1.0.0</span>
<div id="projectname">Algorithms_in_C++<span id="projectnumber">&#160;1.0.0</span>
</div>
<div id="projectbrief">Set of algorithms implemented in C++.</div>
</td>
@@ -42,21 +41,22 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<!-- Generated by Doxygen 1.9.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "../../search",false,'Search','.html');
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -70,7 +70,7 @@ $(function() {
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('dd/d91/class_fenwick_tree.html','../../'); initResizable(); });
/* @license-end */
</script>
@@ -90,27 +90,26 @@ $(document).ready(function(){initNavTree('dd/d91/class_fenwick_tree.html','../..
</div>
<div class="header">
<div class="headertitle">
<div class="title">FenwickTree Member List</div> </div>
<div class="headertitle"><div class="title">FenwickTree Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../dd/d91/class_fenwick_tree.html">FenwickTree</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>bit</b> (defined in <a class="el" href="../../dd/d91/class_fenwick_tree.html">FenwickTree</a>)</td><td class="entry"><a class="el" href="../../dd/d91/class_fenwick_tree.html">FenwickTree</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr><td class="entry"><a class="el" href="../../dd/d91/class_fenwick_tree.html#aaddab1f03d4941212a82cc647b1adb17">FenwickTree</a>(const std::vector&lt; int &gt; &amp;arr)</td><td class="entry"><a class="el" href="../../dd/d91/class_fenwick_tree.html">FenwickTree</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="../../dd/d91/class_fenwick_tree.html#aaddab1f03d4941212a82cc647b1adb17">FenwickTree</a>(const std::vector&lt; int &gt; &amp;arr)</td><td class="entry"><a class="el" href="../../dd/d91/class_fenwick_tree.html">FenwickTree</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../dd/d91/class_fenwick_tree.html#a70f8c261393ca09ec1ad716ac806ead6">FenwickTree</a>(int x)</td><td class="entry"><a class="el" href="../../dd/d91/class_fenwick_tree.html">FenwickTree</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>n</b> (defined in <a class="el" href="../../dd/d91/class_fenwick_tree.html">FenwickTree</a>)</td><td class="entry"><a class="el" href="../../dd/d91/class_fenwick_tree.html">FenwickTree</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>n</b> (defined in <a class="el" href="../../dd/d91/class_fenwick_tree.html">FenwickTree</a>)</td><td class="entry"><a class="el" href="../../dd/d91/class_fenwick_tree.html">FenwickTree</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../dd/d91/class_fenwick_tree.html#aaae15ea71455315e257baa11017cec10">offset</a>(int x)</td><td class="entry"><a class="el" href="../../dd/d91/class_fenwick_tree.html">FenwickTree</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">private</span></td></tr>
<tr><td class="entry"><a class="el" href="../../dd/d91/class_fenwick_tree.html#ade1d6a3d49af9d9df33e2fb26cab1699">sum</a>(int id)</td><td class="entry"><a class="el" href="../../dd/d91/class_fenwick_tree.html">FenwickTree</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="../../dd/d91/class_fenwick_tree.html#ade1d6a3d49af9d9df33e2fb26cab1699">sum</a>(int id)</td><td class="entry"><a class="el" href="../../dd/d91/class_fenwick_tree.html">FenwickTree</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../dd/d91/class_fenwick_tree.html#a115ff5c548b429b737ea09f75817d1f9">sum_range</a>(int l, int r)</td><td class="entry"><a class="el" href="../../dd/d91/class_fenwick_tree.html">FenwickTree</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../dd/d91/class_fenwick_tree.html#a2e9ea4fcbe0786487f4535c1cfc7aa00">update</a>(int id, int val)</td><td class="entry"><a class="el" href="../../dd/d91/class_fenwick_tree.html">FenwickTree</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="../../dd/d91/class_fenwick_tree.html#a2e9ea4fcbe0786487f4535c1cfc7aa00">update</a>(int id, int val)</td><td class="entry"><a class="el" href="../../dd/d91/class_fenwick_tree.html">FenwickTree</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.2 </li>
</ul>
</div>
</body>

View File

@@ -1,7 +1,7 @@
<?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.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: data_structures/binary_search_tree2.cpp Pages: 1 -->
<svg width="341pt" height="95pt"

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

View File

@@ -1,4 +0,0 @@
<map id="data_structures::linked_list::link" name="data_structures::linked_list::link">
<area shape="rect" id="node1" title=" " alt="" coords="5,124,161,165"/>
<area shape="rect" id="node2" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/memory/shared_ptr.html" title=" " alt="" coords="7,5,160,61"/>
</map>

View File

@@ -1 +0,0 @@
4bffc9d3c5d7e06e142e0fd23855edc7

View File

@@ -1,41 +0,0 @@
<?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.48.0 (20210717.1556)
-->
<!-- Title: data_structures::linked_list::link Pages: 1 -->
<svg width="125pt" height="128pt"
viewBox="0.00 0.00 125.00 128.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 124)">
<title>data_structures::linked_list::link</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-124 121,-124 121,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,-0.5 0,-30.5 117,-30.5 117,-0.5 0,-0.5"/>
<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::linked</text>
<text text-anchor="middle" x="58.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">_list::link</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html" xlink:title=" ">
<polygon fill="white" stroke="black" points="1,-78.5 1,-119.5 116,-119.5 116,-78.5 1,-78.5"/>
<text text-anchor="start" x="9" y="-107.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::shared_ptr&lt; data</text>
<text text-anchor="start" x="9" y="-96.5" font-family="Helvetica,sans-Serif" font-size="10.00">_structures::linked_list</text>
<text text-anchor="middle" x="58.5" y="-85.5" font-family="Helvetica,sans-Serif" font-size="10.00">::link &gt;</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node1 -->
<g id="edge1" class="edge">
<title>Node2&#45;&gt;Node1</title>
<path fill="none" stroke="#9a32cd" stroke-dasharray="5,2" d="M58.5,-68.03C58.5,-55.26 58.5,-40.97 58.5,-30.68"/>
<polygon fill="#9a32cd" stroke="#9a32cd" points="55,-68.27 58.5,-78.27 62,-68.27 55,-68.27"/>
<text text-anchor="middle" x="73" y="-52" font-family="Helvetica,sans-Serif" font-size="10.00"> psucc</text>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.1 KiB

View File

@@ -1,7 +1,7 @@
<?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.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: math/binary_exponent.cpp Pages: 1 -->
<svg width="142pt" height="84pt"

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@@ -2,8 +2,8 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Algorithms_in_C++: n_bonacci Namespace Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
@@ -17,9 +17,9 @@
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
@@ -32,8 +32,7 @@
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Algorithms_in_C++
&#160;<span id="projectnumber">1.0.0</span>
<div id="projectname">Algorithms_in_C++<span id="projectnumber">&#160;1.0.0</span>
</div>
<div id="projectbrief">Set of algorithms implemented in C++.</div>
</td>
@@ -42,21 +41,22 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<!-- Generated by Doxygen 1.9.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "../../search",false,'Search','.html');
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -70,7 +70,7 @@ $(function() {
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('de/d36/namespacen__bonacci.html','../../'); initResizable(); });
/* @license-end */
</script>
@@ -90,22 +90,21 @@ $(document).ready(function(){initNavTree('de/d36/namespacen__bonacci.html','../.
</div>
<div class="header">
<div class="headertitle">
<div class="title">n_bonacci Namespace Reference</div> </div>
<div class="headertitle"><div class="title">n_bonacci Namespace Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Functions for the <a href="http://oeis.org/wiki/N-bonacci_numbers">N-bonacci</a> implementation.
<p>Functions for the <a href="http://oeis.org/wiki/N-bonacci_numbers" target="_blank">N-bonacci</a> implementation.
<a href="../../de/d36/namespacen__bonacci.html#details">More...</a></p>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Functions for the <a href="http://oeis.org/wiki/N-bonacci_numbers">N-bonacci</a> implementation. </p>
<div class="textblock"><p >Functions for the <a href="http://oeis.org/wiki/N-bonacci_numbers" target="_blank">N-bonacci</a> implementation. </p>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../de/d36/namespacen__bonacci.html">n_bonacci</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.2 </li>
</ul>
</div>
</body>

View File

@@ -1,7 +1,7 @@
<?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.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: dynamic_programming/minimum_edit_distance.cpp Pages: 1 -->
<svg width="193pt" height="95pt"

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@@ -2,8 +2,8 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Algorithms_in_C++: karatsuba_algorithm Namespace Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
@@ -17,9 +17,9 @@
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
@@ -32,8 +32,7 @@
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Algorithms_in_C++
&#160;<span id="projectnumber">1.0.0</span>
<div id="projectname">Algorithms_in_C++<span id="projectnumber">&#160;1.0.0</span>
</div>
<div id="projectbrief">Set of algorithms implemented in C++.</div>
</td>
@@ -42,21 +41,22 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<!-- Generated by Doxygen 1.9.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "../../search",false,'Search','.html');
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -70,7 +70,7 @@ $(function() {
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('de/d41/namespacekaratsuba__algorithm.html','../../'); initResizable(); });
/* @license-end */
</script>
@@ -90,22 +90,21 @@ $(document).ready(function(){initNavTree('de/d41/namespacekaratsuba__algorithm.h
</div>
<div class="header">
<div class="headertitle">
<div class="title">karatsuba_algorithm Namespace Reference</div> </div>
<div class="headertitle"><div class="title">karatsuba_algorithm Namespace Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Functions for the <a href="https://en.wikipedia.org/wiki/Karatsuba_algorithm">Karatsuba algorithm for fast multiplication</a>
<p>Functions for the <a href="https://en.wikipedia.org/wiki/Karatsuba_algorithm" target="_blank">Karatsuba algorithm for fast multiplication</a>
<a href="../../de/d41/namespacekaratsuba__algorithm.html#details">More...</a></p>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Functions for the <a href="https://en.wikipedia.org/wiki/Karatsuba_algorithm">Karatsuba algorithm for fast multiplication</a> </p>
<div class="textblock"><p >Functions for the <a href="https://en.wikipedia.org/wiki/Karatsuba_algorithm" target="_blank">Karatsuba algorithm for fast multiplication</a> </p>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../de/d41/namespacekaratsuba__algorithm.html">karatsuba_algorithm</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.2 </li>
</ul>
</div>
</body>

View File

@@ -2,8 +2,8 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Algorithms_in_C++: math/string_fibonacci.cpp File Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
@@ -17,9 +17,9 @@
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
@@ -32,8 +32,7 @@
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Algorithms_in_C++
&#160;<span id="projectnumber">1.0.0</span>
<div id="projectname">Algorithms_in_C++<span id="projectnumber">&#160;1.0.0</span>
</div>
<div id="projectbrief">Set of algorithms implemented in C++.</div>
</td>
@@ -42,21 +41,22 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<!-- Generated by Doxygen 1.9.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "../../search",false,'Search','.html');
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -70,7 +70,7 @@ $(function() {
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('de/d47/string__fibonacci_8cpp.html','../../'); initResizable(); });
/* @license-end */
</script>
@@ -92,8 +92,7 @@ $(document).ready(function(){initNavTree('de/d47/string__fibonacci_8cpp.html','.
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">string_fibonacci.cpp File Reference</div> </div>
<div class="headertitle"><div class="title">string_fibonacci.cpp File Reference</div></div>
</div><!--header-->
<div class="contents">
@@ -108,7 +107,7 @@ Include dependency graph for string_fibonacci.cpp:</div>
</div>
</div>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a28052eee05d43c2ebc5147c52bd50c35"><td class="memItemLeft" align="right" valign="top"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d47/string__fibonacci_8cpp.html#a28052eee05d43c2ebc5147c52bd50c35">add</a> (<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> a, <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> b)</td></tr>
<tr class="separator:a28052eee05d43c2ebc5147c52bd50c35"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -118,11 +117,11 @@ Functions</h2></td></tr>
<tr class="separator:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>This Programme returns the Nth fibonacci as a string. </p>
<p>The method used is manual addition with carry and placing it in a string which is called string addition This makes it have no bounds or limits</p>
<div class="textblock"><p >This Programme returns the Nth fibonacci as a string. </p>
<p >The method used is manual addition with carry and placing it in a string which is called string addition This makes it have no bounds or limits</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="../../de/de4/fibonacci__large_8cpp.html" title="Computes N^th Fibonacci number given as input argument. Uses custom build arbitrary integers library ...">fibonacci_large.cpp</a>, <a class="el" href="../../d4/d32/fibonacci__fast_8cpp.html" title="Faster computation of Fibonacci series.">fibonacci_fast.cpp</a>, <a class="el" href="../../d9/d89/fibonacci_8cpp.html" title="Generate fibonacci sequence.">fibonacci.cpp</a> </dd></dl>
</div><h2 class="groupheader">Function Documentation</h2>
<a id="a28052eee05d43c2ebc5147c52bd50c35"></a>
<a id="a28052eee05d43c2ebc5147c52bd50c35" name="a28052eee05d43c2ebc5147c52bd50c35"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a28052eee05d43c2ebc5147c52bd50c35">&#9670;&nbsp;</a></span>add()</h2>
<div class="memitem">
@@ -147,7 +146,7 @@ Functions</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
<p>function to add two string numbers </p><dl class="params"><dt>Parameters</dt><dd>
<p >function to add two string numbers </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">a</td><td>first number in string to add </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">b</td><td>second number in string to add </td></tr>
@@ -155,46 +154,46 @@ Functions</h2></td></tr>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>sum as a <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> </dd></dl>
<div class="fragment"><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; {</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> temp = <span class="stringliteral">&quot;&quot;</span>;</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; </div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; <span class="comment">// carry flag</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; <span class="keywordtype">int</span> carry = 0;</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; </div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; <span class="comment">// fills up with zeros</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; <span class="keywordflow">while</span> (a.length() &lt; b.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string/size.html">length</a>()) {</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; a = <span class="stringliteral">&quot;0&quot;</span> + a;</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; }</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; </div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <span class="comment">// fills up with zeros</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <span class="keywordflow">while</span> (b.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string/size.html">length</a>() &lt; a.length()) {</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; b = <span class="stringliteral">&quot;0&quot;</span> + b;</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; }</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; </div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="comment">// adds the numbers a and b</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = a.length() - 1; i &gt;= 0; i--) {</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <span class="keywordtype">char</span> val = <span class="keyword">static_cast&lt;</span><span class="keywordtype">char</span><span class="keyword">&gt;</span>(((a[i] - 48) + (b[i] - 48)) + 48 + carry);</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <span class="keywordflow">if</span> (val &gt; 57) {</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; carry = 1;</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; val -= 10;</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; carry = 0;</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; }</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; temp = val + temp;</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; }</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; </div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="comment">// processes the carry flag</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keywordflow">if</span> (carry == 1) {</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; temp = <span class="stringliteral">&quot;1&quot;</span> + temp;</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; }</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; </div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="comment">// removes leading zeros.</span></div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keywordflow">while</span> (temp[0] == <span class="charliteral">&#39;0&#39;</span> &amp;&amp; temp.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string/size.html">length</a>() &gt; 1) {</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; temp = temp.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string/substr.html">substr</a>(1);</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; }</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; </div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="keywordflow">return</span> temp;</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;}</div>
<div class="fragment"><div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> {</div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> temp = <span class="stringliteral">&quot;&quot;</span>;</div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> </div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> <span class="comment">// carry flag</span></div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> <span class="keywordtype">int</span> carry = 0;</div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> </div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> <span class="comment">// fills up with zeros</span></div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> <span class="keywordflow">while</span> (a.length() &lt; b.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string/size.html">length</a>()) {</div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> a = <span class="stringliteral">&quot;0&quot;</span> + a;</div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> }</div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> </div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> <span class="comment">// fills up with zeros</span></div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> <span class="keywordflow">while</span> (b.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string/size.html">length</a>() &lt; a.length()) {</div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> b = <span class="stringliteral">&quot;0&quot;</span> + b;</div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> }</div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> </div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> <span class="comment">// adds the numbers a and b</span></div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = a.length() - 1; i &gt;= 0; i--) {</div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> <span class="keywordtype">char</span> val = <span class="keyword">static_cast&lt;</span><span class="keywordtype">char</span><span class="keyword">&gt;</span>(((a[i] - 48) + (b[i] - 48)) + 48 + carry);</div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> <span class="keywordflow">if</span> (val &gt; 57) {</div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> carry = 1;</div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> val -= 10;</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> carry = 0;</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> }</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> temp = val + temp;</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> }</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> </div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> <span class="comment">// processes the carry flag</span></div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> <span class="keywordflow">if</span> (carry == 1) {</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> temp = <span class="stringliteral">&quot;1&quot;</span> + temp;</div>
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> }</div>
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> </div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> <span class="comment">// removes leading zeros.</span></div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> <span class="keywordflow">while</span> (temp[0] == <span class="charliteral">&#39;0&#39;</span> &amp;&amp; temp.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string/size.html">length</a>() &gt; 1) {</div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> temp = temp.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string/substr.html">substr</a>(1);</div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> }</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> </div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> <span class="keywordflow">return</span> temp;</div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span>}</div>
<div class="ttc" id="abasic_string_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a></div></div>
<div class="ttc" id="asize_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/string/basic_string/size.html">std::string::length</a></div><div class="ttdeci">T length(T... args)</div></div>
<div class="ttc" id="asubstr_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/string/basic_string/substr.html">std::string::substr</a></div><div class="ttdeci">T substr(T... args)</div></div>
@@ -207,7 +206,7 @@ Here is the call graph for this function:</div>
</div>
</div>
<a id="ad8055ee368a5d5b24de01bdde6bf8fca"></a>
<a id="ad8055ee368a5d5b24de01bdde6bf8fca" name="ad8055ee368a5d5b24de01bdde6bf8fca"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad8055ee368a5d5b24de01bdde6bf8fca">&#9670;&nbsp;</a></span>fib_Accurate()</h2>
<div class="memitem">
@@ -222,23 +221,23 @@ Here is the call graph for this function:</div>
</tr>
</table>
</div><div class="memdoc">
<p>Fibonacci iterator </p><dl class="params"><dt>Parameters</dt><dd>
<p >Fibonacci iterator </p><dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">n</td><td>n^th Fibonacci number </td></tr>
</table>
</dd>
</dl>
<div class="fragment"><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; {</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> tmp = <span class="stringliteral">&quot;&quot;</span>;</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> fibMinus1 = <span class="stringliteral">&quot;1&quot;</span>;</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> fibMinus2 = <span class="stringliteral">&quot;0&quot;</span>;</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keywordflow">for</span> (uint64_t i = 0; i &lt; n; i++) {</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; tmp = <a class="code" href="../../de/d47/string__fibonacci_8cpp.html#a28052eee05d43c2ebc5147c52bd50c35">add</a>(fibMinus1, fibMinus2);</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; fibMinus2 = fibMinus1;</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; fibMinus1 = tmp;</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; }</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; fibMinus2;</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;}</div>
<div class="fragment"><div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> {</div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> tmp = <span class="stringliteral">&quot;&quot;</span>;</div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> fibMinus1 = <span class="stringliteral">&quot;1&quot;</span>;</div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> fibMinus2 = <span class="stringliteral">&quot;0&quot;</span>;</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> <span class="keywordflow">for</span> (uint64_t i = 0; i &lt; n; i++) {</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> tmp = <a class="code hl_function" href="../../de/d47/string__fibonacci_8cpp.html#a28052eee05d43c2ebc5147c52bd50c35">add</a>(fibMinus1, fibMinus2);</div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> fibMinus2 = fibMinus1;</div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> fibMinus1 = tmp;</div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> }</div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; fibMinus2;</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span>}</div>
<div class="ttc" id="abasic_ostream_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a></div></div>
<div class="ttc" id="astring__fibonacci_8cpp_html_a28052eee05d43c2ebc5147c52bd50c35"><div class="ttname"><a href="../../de/d47/string__fibonacci_8cpp.html#a28052eee05d43c2ebc5147c52bd50c35">add</a></div><div class="ttdeci">std::string add(std::string a, std::string b)</div><div class="ttdef"><b>Definition:</b> string_fibonacci.cpp:24</div></div>
</div><!-- fragment --><div class="dynheader">
@@ -250,7 +249,7 @@ Here is the call graph for this function:</div>
</div>
</div>
<a id="ae66f6b31b5ad750f1fe042a706a4e3d4"></a>
<a id="ae66f6b31b5ad750f1fe042a706a4e3d4" name="ae66f6b31b5ad750f1fe042a706a4e3d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae66f6b31b5ad750f1fe042a706a4e3d4">&#9670;&nbsp;</a></span>main()</h2>
<div class="memitem">
@@ -265,16 +264,16 @@ Here is the call graph for this function:</div>
</tr>
</table>
</div><div class="memdoc">
<p>main function </p>
<div class="fragment"><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; <span class="keywordtype">int</span> n;</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</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;Enter whatever number N you want to find the fibonacci of\n&quot;</span>;</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> &gt;&gt; n;</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; n &lt;&lt; <span class="stringliteral">&quot; th Fibonacci is \n&quot;</span>;</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <a class="code" href="../../de/d47/string__fibonacci_8cpp.html#ad8055ee368a5d5b24de01bdde6bf8fca">fib_Accurate</a>(n);</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; </div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;}</div>
<p >main function </p>
<div class="fragment"><div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> {</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> <span class="keywordtype">int</span> n;</div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Enter whatever number N you want to find the fibonacci of\n&quot;</span>;</div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> &gt;&gt; n;</div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; n &lt;&lt; <span class="stringliteral">&quot; th Fibonacci is \n&quot;</span>;</div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> <a class="code hl_function" href="../../de/d47/string__fibonacci_8cpp.html#ad8055ee368a5d5b24de01bdde6bf8fca">fib_Accurate</a>(n);</div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> </div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span>}</div>
<div class="ttc" id="abasic_istream_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a></div></div>
<div class="ttc" id="astring__fibonacci_8cpp_html_ad8055ee368a5d5b24de01bdde6bf8fca"><div class="ttname"><a href="../../de/d47/string__fibonacci_8cpp.html#ad8055ee368a5d5b24de01bdde6bf8fca">fib_Accurate</a></div><div class="ttdeci">void fib_Accurate(uint64_t n)</div><div class="ttdef"><b>Definition:</b> string_fibonacci.cpp:68</div></div>
</div><!-- fragment --><div class="dynheader">
@@ -292,7 +291,7 @@ Here is the call graph for this function:</div>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_296d53ceaeaa7e099814a6def439fe8a.html">math</a></li><li class="navelem"><a class="el" href="../../de/d47/string__fibonacci_8cpp.html">string_fibonacci.cpp</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.2 </li>
</ul>
</div>
</body>

View File

@@ -1,7 +1,7 @@
<?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.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: add Pages: 1 -->
<svg width="170pt" height="66pt"

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@@ -1,7 +1,7 @@
<?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.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: fib_Accurate Pages: 1 -->
<svg width="278pt" height="66pt"

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

@@ -1,7 +1,7 @@
<?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.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: main Pages: 1 -->
<svg width="352pt" height="66pt"

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

View File

@@ -2,8 +2,8 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Algorithms_in_C++: Trie::TrieNode Struct Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
@@ -17,9 +17,9 @@
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
@@ -32,8 +32,7 @@
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Algorithms_in_C++
&#160;<span id="projectnumber">1.0.0</span>
<div id="projectname">Algorithms_in_C++<span id="projectnumber">&#160;1.0.0</span>
</div>
<div id="projectbrief">Set of algorithms implemented in C++.</div>
</td>
@@ -42,21 +41,22 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<!-- Generated by Doxygen 1.9.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "../../search",false,'Search','.html');
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -70,7 +70,7 @@ $(function() {
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('de/d48/struct_trie_1_1_trie_node.html','../../'); initResizable(); });
/* @license-end */
</script>
@@ -93,28 +93,21 @@ $(document).ready(function(){initNavTree('de/d48/struct_trie_1_1_trie_node.html'
<div class="summary">
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="../../de/d7c/struct_trie_1_1_trie_node-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">Trie::TrieNode Struct Reference</div> </div>
<div class="headertitle"><div class="title">Trie::TrieNode Struct Reference</div></div>
</div><!--header-->
<div class="contents">
<div class="dynheader">
Collaboration diagram for Trie::TrieNode:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d4/d2c/struct_trie_1_1_trie_node__coll__graph.svg" width="155" height="142"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
<center><span class="legend">[<a target="top" href="../../graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-attribs" name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:ae13ae4b74d997d3e83d7bb51b204d99e"><td class="memItemLeft" align="right" valign="top"><a id="ae13ae4b74d997d3e83d7bb51b204d99e"></a>
<tr class="memitem:ae13ae4b74d997d3e83d7bb51b204d99e"><td class="memItemLeft" align="right" valign="top"><a id="ae13ae4b74d997d3e83d7bb51b204d99e" name="ae13ae4b74d997d3e83d7bb51b204d99e"></a>
<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>&lt; <a class="el" href="../../de/d48/struct_trie_1_1_trie_node.html">TrieNode</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>character</b> [ALPHABETS] {nullptr}</td></tr>
<tr class="separator:ae13ae4b74d997d3e83d7bb51b204d99e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a73bba435c8e304cc97fd3dc40c95d52f"><td class="memItemLeft" align="right" valign="top"><a id="a73bba435c8e304cc97fd3dc40c95d52f"></a>
<tr class="memitem:a73bba435c8e304cc97fd3dc40c95d52f"><td class="memItemLeft" align="right" valign="top"><a id="a73bba435c8e304cc97fd3dc40c95d52f" name="a73bba435c8e304cc97fd3dc40c95d52f"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>isEndOfWord</b> {false}</td></tr>
<tr class="separator:a73bba435c8e304cc97fd3dc40c95d52f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Structure of trie node. This struct doesn't need a constructor as we are initializing using intializer list which is more efficient than if we had done so with constructor. </p>
<div class="textblock"><p >Structure of trie node. This struct doesn't need a constructor as we are initializing using intializer list which is more efficient than if we had done so with constructor. </p>
</div><hr/>The documentation for this struct was generated from the following file:<ul>
<li>data_structures/<a class="el" href="../../dc/d93/trie__modern_8cpp.html">trie_modern.cpp</a></li>
</ul>
@@ -124,7 +117,7 @@ bool&#160;</td><td class="memItemRight" valign="bottom"><b>isEndOfWord</b> {fals
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dd/d2f/class_trie.html">Trie</a></li><li class="navelem"><a class="el" href="../../de/d48/struct_trie_1_1_trie_node.html">TrieNode</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.2 </li>
</ul>
</div>
</body>

View File

@@ -1,5 +0,0 @@
var struct_trie_1_1_trie_node =
[
[ "character", "de/d48/struct_trie_1_1_trie_node.html#ae13ae4b74d997d3e83d7bb51b204d99e", null ],
[ "isEndOfWord", "de/d48/struct_trie_1_1_trie_node.html#a73bba435c8e304cc97fd3dc40c95d52f", null ]
];

View File

@@ -1,8 +0,0 @@
<map id="range_queries::heavy_light_decomposition::Tree&lt; X &gt;" name="range_queries::heavy_light_decomposition::Tree&lt; X &gt;">
<area shape="rect" id="node1" title="A Basic Tree, which supports binary lifting." alt="" coords="471,88,621,144"/>
<area shape="rect" id="node2" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector.html" title=" " alt="" coords="232,67,388,109"/>
<area shape="rect" id="node3" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector.html" title=" " alt="" coords="5,23,125,49"/>
<area shape="rect" id="node4" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector.html" title=" " alt="" coords="242,133,378,174"/>
<area shape="rect" id="node5" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/list.html" title=" " alt="" coords="15,140,115,167"/>
<area shape="rect" id="node6" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector.html" title=" " alt="" coords="252,199,368,225"/>
</map>

View File

@@ -1 +0,0 @@
2a4f39d133e81c5858d19787d0ea5b3a

View File

@@ -1,114 +0,0 @@
<?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.48.0 (20210717.1556)
-->
<!-- Title: range_queries::heavy_light_decomposition::Tree&lt; X &gt; Pages: 1 -->
<svg width="470pt" height="173pt"
viewBox="0.00 0.00 470.00 173.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 169)">
<title>range_queries::heavy_light_decomposition::Tree&lt; X &gt;</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-169 466,-169 466,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="A Basic Tree, which supports binary lifting.">
<polygon fill="#bfbfbf" stroke="black" points="349,-61.5 349,-102.5 462,-102.5 462,-61.5 349,-61.5"/>
<text text-anchor="start" x="357" y="-90.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::heavy</text>
<text text-anchor="start" x="357" y="-79.5" font-family="Helvetica,sans-Serif" font-size="10.00">_light_decomposition</text>
<text text-anchor="middle" x="405.5" y="-68.5" font-family="Helvetica,sans-Serif" font-size="10.00">::Tree&lt; X &gt;</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector.html" xlink:title=" ">
<polygon fill="white" stroke="black" points="170,-88 170,-118 287,-118 287,-88 170,-88"/>
<text text-anchor="start" x="178" y="-106" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector&lt; std::vector</text>
<text text-anchor="middle" x="228.5" y="-95" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; int &gt; &gt;</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node1 -->
<g id="edge1" class="edge">
<title>Node2&#45;&gt;Node1</title>
<path fill="none" stroke="#9a32cd" stroke-dasharray="5,2" d="M297.68,-94.82C314.63,-92.78 332.59,-90.63 348.86,-88.68"/>
<polygon fill="#9a32cd" stroke="#9a32cd" points="296.8,-91.4 287.29,-96.07 297.63,-98.35 296.8,-91.4"/>
<text text-anchor="middle" x="318" y="-96" font-family="Helvetica,sans-Serif" font-size="10.00"> t_par</text>
</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.html" xlink:title=" ">
<polygon fill="white" stroke="black" points="0,-132.5 0,-151.5 90,-151.5 90,-132.5 0,-132.5"/>
<text text-anchor="middle" x="45" y="-139.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector&lt; int &gt;</text>
</a>
</g>
</g>
<!-- Node3&#45;&gt;Node1 -->
<g id="edge5" class="edge">
<title>Node3&#45;&gt;Node1</title>
<path fill="none" stroke="#9a32cd" stroke-dasharray="5,2" d="M100.35,-144.25C149.72,-145.02 224.21,-143.01 287,-128 312.04,-122.02 338.84,-111.84 360.52,-102.57"/>
<polygon fill="#9a32cd" stroke="#9a32cd" points="100.28,-140.75 90.21,-144.04 100.14,-147.74 100.28,-140.75"/>
<text text-anchor="middle" x="228.5" y="-157" font-family="Helvetica,sans-Serif" font-size="10.00"> t_depth</text>
<text text-anchor="middle" x="228.5" y="-146" font-family="Helvetica,sans-Serif" font-size="10.00">t_size</text>
</g>
<!-- Node3&#45;&gt;Node2 -->
<g id="edge2" class="edge">
<title>Node3&#45;&gt;Node2</title>
<path fill="none" stroke="#9a32cd" stroke-dasharray="5,2" d="M100.22,-130.35C122.17,-125.63 147.55,-120.18 169.83,-115.39"/>
<polygon fill="#9a32cd" stroke="#9a32cd" points="99.44,-126.94 90.4,-132.46 100.91,-133.78 99.44,-126.94"/>
<text text-anchor="middle" x="130" y="-131" font-family="Helvetica,sans-Serif" font-size="10.00"> elements</text>
</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/container/vector.html" xlink:title=" ">
<polygon fill="white" stroke="black" points="177.5,-39 177.5,-69 279.5,-69 279.5,-39 177.5,-39"/>
<text text-anchor="start" x="185.5" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector&lt; std::list</text>
<text text-anchor="middle" x="228.5" y="-46" font-family="Helvetica,sans-Serif" font-size="10.00">&lt; int &gt; &gt;</text>
</a>
</g>
</g>
<!-- Node4&#45;&gt;Node1 -->
<g id="edge3" class="edge">
<title>Node4&#45;&gt;Node1</title>
<path fill="none" stroke="#9a32cd" stroke-dasharray="5,2" d="M289.76,-63.64C308.91,-66.71 330,-70.08 348.82,-73.09"/>
<polygon fill="#9a32cd" stroke="#9a32cd" points="290.08,-60.15 279.65,-62.02 288.97,-67.06 290.08,-60.15"/>
<text text-anchor="middle" x="318" y="-72" font-family="Helvetica,sans-Serif" font-size="10.00"> t_adj</text>
</g>
<!-- Node5 -->
<g id="node5" class="node">
<title>Node5</title>
<g id="a_node5"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/list.html" xlink:title=" ">
<polygon fill="white" stroke="black" points="7.5,-44.5 7.5,-63.5 82.5,-63.5 82.5,-44.5 7.5,-44.5"/>
<text text-anchor="middle" x="45" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::list&lt; int &gt;</text>
</a>
</g>
</g>
<!-- Node5&#45;&gt;Node4 -->
<g id="edge4" class="edge">
<title>Node5&#45;&gt;Node4</title>
<path fill="none" stroke="#9a32cd" stroke-dasharray="5,2" d="M93.04,-54C118.93,-54 151.06,-54 177.41,-54"/>
<polygon fill="#9a32cd" stroke="#9a32cd" points="92.73,-50.5 82.73,-54 92.73,-57.5 92.73,-50.5"/>
<text text-anchor="middle" x="130" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00"> elements</text>
</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.html" xlink:title=" ">
<polygon fill="white" stroke="black" points="185,-0.5 185,-19.5 272,-19.5 272,-0.5 185,-0.5"/>
<text text-anchor="middle" x="228.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector&lt; X &gt;</text>
</a>
</g>
</g>
<!-- Node6&#45;&gt;Node1 -->
<g id="edge6" class="edge">
<title>Node6&#45;&gt;Node1</title>
<path fill="none" stroke="#9a32cd" stroke-dasharray="5,2" d="M269.99,-22.79C275.73,-24.77 281.54,-26.87 287,-29 312.13,-38.79 339.63,-51.1 361.71,-61.4"/>
<polygon fill="#9a32cd" stroke="#9a32cd" points="271.04,-19.45 260.45,-19.57 268.8,-26.08 271.04,-19.45"/>
<text text-anchor="middle" x="318" y="-50" font-family="Helvetica,sans-Serif" font-size="10.00"> t_val</text>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 6.3 KiB

View File

@@ -1,7 +1,7 @@
<?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.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: search/saddleback_search.cpp Pages: 1 -->
<svg width="193pt" height="84pt"

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 2.9 KiB

View File

@@ -1,7 +1,7 @@
<?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.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: math/sum_of_binomial_coefficient.cpp Pages: 1 -->
<svg width="130pt" height="95pt"

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@@ -1,7 +1,7 @@
<?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.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: math/eulers_totient_function.cpp Pages: 1 -->
<svg width="126pt" height="95pt"

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@@ -1,4 +0,0 @@
<map id="range_queries::perSegTree::Node" name="range_queries::perSegTree::Node">
<area shape="rect" id="node1" title=" " alt="" coords="5,139,189,180"/>
<area shape="rect" id="node2" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/memory/shared_ptr.html" title=" " alt="" coords="19,5,176,61"/>
</map>

View File

@@ -1 +0,0 @@
c3cd31a283f6bd33f5d197ce7a564b63

View File

@@ -1,42 +0,0 @@
<?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.48.0 (20210717.1556)
-->
<!-- Title: range_queries::perSegTree::Node Pages: 1 -->
<svg width="146pt" height="139pt"
viewBox="0.00 0.00 146.00 139.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 135)">
<title>range_queries::perSegTree::Node</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-135 142,-135 142,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,-0.5 0,-30.5 138,-30.5 138,-0.5 0,-0.5"/>
<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">range_queries::perSegTree</text>
<text text-anchor="middle" x="69" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">::Node</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html" xlink:title=" ">
<polygon fill="white" stroke="black" points="10,-89.5 10,-130.5 128,-130.5 128,-89.5 10,-89.5"/>
<text text-anchor="start" x="18" y="-118.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::shared_ptr&lt; range</text>
<text text-anchor="start" x="18" y="-107.5" font-family="Helvetica,sans-Serif" font-size="10.00">_queries::perSegTree::</text>
<text text-anchor="middle" x="69" y="-96.5" font-family="Helvetica,sans-Serif" font-size="10.00">Node &gt;</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node1 -->
<g id="edge1" class="edge">
<title>Node2&#45;&gt;Node1</title>
<path fill="none" stroke="#9a32cd" stroke-dasharray="5,2" d="M69,-79.24C69,-62.96 69,-43.54 69,-30.66"/>
<polygon fill="#9a32cd" stroke="#9a32cd" points="65.5,-79.38 69,-89.38 72.5,-79.38 65.5,-79.38"/>
<text text-anchor="middle" x="79" y="-63" font-family="Helvetica,sans-Serif" font-size="10.00"> left</text>
<text text-anchor="middle" x="79" y="-52" font-family="Helvetica,sans-Serif" font-size="10.00">right</text>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.2 KiB

View File

@@ -1,7 +1,7 @@
<?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.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: strings/knuth_morris_pratt.cpp Pages: 1 -->
<svg width="190pt" height="95pt"

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@@ -2,8 +2,8 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Algorithms_in_C++: strings/knuth_morris_pratt.cpp File Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
@@ -17,9 +17,9 @@
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
@@ -32,8 +32,7 @@
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Algorithms_in_C++
&#160;<span id="projectnumber">1.0.0</span>
<div id="projectname">Algorithms_in_C++<span id="projectnumber">&#160;1.0.0</span>
</div>
<div id="projectbrief">Set of algorithms implemented in C++.</div>
</td>
@@ -42,21 +41,22 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<!-- Generated by Doxygen 1.9.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "../../search",false,'Search','.html');
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -70,7 +70,7 @@ $(function() {
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('de/d6a/knuth__morris__pratt_8cpp.html','../../'); initResizable(); });
/* @license-end */
</script>
@@ -93,12 +93,11 @@ $(document).ready(function(){initNavTree('de/d6a/knuth__morris__pratt_8cpp.html'
<div class="summary">
<a href="#namespaces">Namespaces</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">knuth_morris_pratt.cpp File Reference</div> </div>
<div class="headertitle"><div class="title">knuth_morris_pratt.cpp File Reference</div></div>
</div><!--header-->
<div class="contents">
<p>The <a href="https://en.wikipedia.org/wiki/KnuthMorrisPratt_algorithm">Knuth-Morris-Pratt Algorithm</a> for finding a pattern within a piece of text with complexity O(n + m)
<p>The <a href="https://en.wikipedia.org/wiki/KnuthMorrisPratt_algorithm" target="_blank">Knuth-Morris-Pratt Algorithm</a> for finding a pattern within a piece of text with complexity O(n + m)
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;iostream&gt;</code><br />
<code>#include &lt;cstring&gt;</code><br />
@@ -110,29 +109,29 @@ Include dependency graph for knuth_morris_pratt.cpp:</div>
</div>
</div>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:d9/d03/namespacestring__search"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d03/namespacestring__search.html">string_search</a></td></tr>
<tr class="memitem:d9/d03/namespacestring__search"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d03/namespacestring__search.html">string_search</a></td></tr>
<tr class="memdesc:d9/d03/namespacestring__search"><td class="mdescLeft">&#160;</td><td class="mdescRight">String search algorithms. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:aa422aab133d4ed5e5d6022a7f701271f"><td class="memItemLeft" align="right" valign="top"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d03/namespacestring__search.html#aa422aab133d4ed5e5d6022a7f701271f">string_search::getFailureArray</a> (const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> &amp;pattern)</td></tr>
<tr class="separator:aa422aab133d4ed5e5d6022a7f701271f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a996573527312d5255e1495b879e8a34f"><td class="memItemLeft" align="right" valign="top"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>&lt; int &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d03/namespacestring__search.html#a996573527312d5255e1495b879e8a34f">string_search::getFailureArray</a> (const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> &amp;pattern)</td></tr>
<tr class="separator:a996573527312d5255e1495b879e8a34f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a26a58225ce7d3fa9d4c2f5349a65ed93"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d9/d03/namespacestring__search.html#a26a58225ce7d3fa9d4c2f5349a65ed93">string_search::kmp</a> (const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> &amp;pattern, const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> &amp;text)</td></tr>
<tr class="separator:a26a58225ce7d3fa9d4c2f5349a65ed93"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d6a/knuth__morris__pratt_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a> ()</td></tr>
<tr class="separator:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>The <a href="https://en.wikipedia.org/wiki/KnuthMorrisPratt_algorithm">Knuth-Morris-Pratt Algorithm</a> for finding a pattern within a piece of text with complexity O(n + m) </p>
<div class="textblock"><p >The <a href="https://en.wikipedia.org/wiki/KnuthMorrisPratt_algorithm" target="_blank">Knuth-Morris-Pratt Algorithm</a> for finding a pattern within a piece of text with complexity O(n + m) </p>
<ol type="1">
<li>Preprocess pattern to identify any suffixes that are identical to prefixes. This tells us where to continue from if we get a mismatch between a character in our pattern and the text.</li>
<li>Step through the text one character at a time and compare it to a character in the pattern updating our location within the pattern if necessary </li>
</ol>
</div><h2 class="groupheader">Function Documentation</h2>
<a id="ae66f6b31b5ad750f1fe042a706a4e3d4"></a>
<a id="ae66f6b31b5ad750f1fe042a706a4e3d4" name="ae66f6b31b5ad750f1fe042a706a4e3d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae66f6b31b5ad750f1fe042a706a4e3d4">&#9670;&nbsp;</a></span>main()</h2>
<div class="memitem">
@@ -147,27 +146,27 @@ Functions</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
<p>Main function </p>
<div class="fragment"><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; {</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> text = <span class="stringliteral">&quot;alskfjaldsabc1abc1abc12k23adsfabcabc&quot;</span>;</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> pattern = <span class="stringliteral">&quot;abc1abc12l&quot;</span>;</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; </div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../d9/d03/namespacestring__search.html#a26a58225ce7d3fa9d4c2f5349a65ed93">kmp</a>(pattern, text) == <span class="keyword">true</span>) {</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</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;Found&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="l00082"></a><span class="lineno"> 82</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</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;Not Found&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; }</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; </div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; text = <span class="stringliteral">&quot;abcabc&quot;</span>;</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; pattern = <span class="stringliteral">&quot;bca&quot;</span>;</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../d9/d03/namespacestring__search.html#a26a58225ce7d3fa9d4c2f5349a65ed93">kmp</a>(pattern, text) == <span class="keyword">true</span>) {</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;Found&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="l00090"></a><span class="lineno"> 90</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</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;Not Found&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="l00092"></a><span class="lineno"> 92</span>&#160; }</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160; </div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;}</div>
<p >Main function </p>
<div class="fragment"><div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> {</div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> text = <span class="stringliteral">&quot;alskfjaldsabc1abc1abc12k23adsfabcabc&quot;</span>;</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> pattern = <span class="stringliteral">&quot;abc1abc12l&quot;</span>;</div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> </div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="../../d9/d03/namespacestring__search.html#a26a58225ce7d3fa9d4c2f5349a65ed93">kmp</a>(pattern, text) == <span class="keyword">true</span>) {</div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Found&quot;</span> &lt;&lt; <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Not Found&quot;</span> &lt;&lt; <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> }</div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> </div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> text = <span class="stringliteral">&quot;abcabc&quot;</span>;</div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> pattern = <span class="stringliteral">&quot;bca&quot;</span>;</div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="../../d9/d03/namespacestring__search.html#a26a58225ce7d3fa9d4c2f5349a65ed93">kmp</a>(pattern, text) == <span class="keyword">true</span>) {</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Found&quot;</span> &lt;&lt; <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Not Found&quot;</span> &lt;&lt; <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> }</div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> </div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span>}</div>
<div class="ttc" id="abasic_ostream_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a></div></div>
<div class="ttc" id="abasic_string_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a></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>
@@ -187,7 +186,7 @@ Here is the call graph for this function:</div>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_73a3cc5065b223eb41b02873c0e19f0e.html">strings</a></li><li class="navelem"><a class="el" href="../../de/d6a/knuth__morris__pratt_8cpp.html">knuth_morris_pratt.cpp</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.2 </li>
</ul>
</div>
</body>

View File

@@ -1,6 +1,6 @@
var knuth__morris__pratt_8cpp =
[
[ "getFailureArray", "de/d6a/knuth__morris__pratt_8cpp.html#aa422aab133d4ed5e5d6022a7f701271f", null ],
[ "getFailureArray", "de/d6a/knuth__morris__pratt_8cpp.html#a996573527312d5255e1495b879e8a34f", null ],
[ "kmp", "de/d6a/knuth__morris__pratt_8cpp.html#a26a58225ce7d3fa9d4c2f5349a65ed93", null ],
[ "main", "de/d6a/knuth__morris__pratt_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4", null ]
];

View File

@@ -2,6 +2,6 @@
<area shape="rect" id="node1" title=" " alt="" coords="5,31,56,57"/>
<area shape="rect" id="node2" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/io/manip/endl.html#" title=" " alt="" coords="135,5,207,32"/>
<area shape="rect" id="node3" href="$d9/d03/namespacestring__search.html#a26a58225ce7d3fa9d4c2f5349a65ed93" title=" " alt="" coords="104,56,239,83"/>
<area shape="rect" id="node4" href="$d9/d03/namespacestring__search.html#aa422aab133d4ed5e5d6022a7f701271f" title=" " alt="" coords="287,19,456,61"/>
<area shape="rect" id="node4" href="$d9/d03/namespacestring__search.html#a996573527312d5255e1495b879e8a34f" title=" " alt="" coords="287,19,456,61"/>
<area shape="rect" id="node5" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/string/basic_string/size.html#" title=" " alt="" coords="504,56,615,83"/>
</map>

View File

@@ -1 +1 @@
cf61d89bb2bba39920c8cb7f03b911d5
b3f68c98ba2d13ce39ebca157fab69ae

View File

@@ -1,7 +1,7 @@
<?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.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: main Pages: 1 -->
<svg width="465pt" height="66pt"
@@ -51,7 +51,7 @@
<!-- Node4 -->
<g id="node4" class="node">
<title>Node4</title>
<g id="a_node4"><a xlink:href="../../d9/d03/namespacestring__search.html#aa422aab133d4ed5e5d6022a7f701271f" target="_top" xlink:title=" ">
<g id="a_node4"><a xlink:href="../../d9/d03/namespacestring__search.html#a996573527312d5255e1495b879e8a34f" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="211,-17 211,-47 338,-47 338,-17 211,-17"/>
<text text-anchor="start" x="219" y="-35" font-family="Helvetica,sans-Serif" font-size="10.00">string_search::getFailure</text>
<text text-anchor="middle" x="274.5" y="-24" font-family="Helvetica,sans-Serif" font-size="10.00">Array</text>

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

View File

@@ -2,8 +2,8 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Algorithms_in_C++: random_pivot_quick_sort Namespace Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
@@ -17,9 +17,9 @@
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
@@ -32,8 +32,7 @@
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Algorithms_in_C++
&#160;<span id="projectnumber">1.0.0</span>
<div id="projectname">Algorithms_in_C++<span id="projectnumber">&#160;1.0.0</span>
</div>
<div id="projectbrief">Set of algorithms implemented in C++.</div>
</td>
@@ -42,21 +41,22 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<!-- Generated by Doxygen 1.9.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "../../search",false,'Search','.html');
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -70,7 +70,7 @@ $(function() {
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('de/d6b/namespacerandom__pivot__quick__sort.html','../../'); initResizable(); });
/* @license-end */
</script>
@@ -90,22 +90,21 @@ $(document).ready(function(){initNavTree('de/d6b/namespacerandom__pivot__quick__
</div>
<div class="header">
<div class="headertitle">
<div class="title">random_pivot_quick_sort Namespace Reference</div> </div>
<div class="headertitle"><div class="title">random_pivot_quick_sort Namespace Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Functions for the <a href="https://www.sanfoundry.com/cpp-program-implement-quick-sort-using-randomisation">Random Pivot Quick Sort</a> implementation.
<p>Functions for the <a href="https://www.sanfoundry.com/cpp-program-implement-quick-sort-using-randomisation" target="_blank">Random Pivot Quick Sort</a> implementation.
<a href="../../de/d6b/namespacerandom__pivot__quick__sort.html#details">More...</a></p>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Functions for the <a href="https://www.sanfoundry.com/cpp-program-implement-quick-sort-using-randomisation">Random Pivot Quick Sort</a> implementation. </p>
<div class="textblock"><p >Functions for the <a href="https://www.sanfoundry.com/cpp-program-implement-quick-sort-using-randomisation" target="_blank">Random Pivot Quick Sort</a> implementation. </p>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../de/d6b/namespacerandom__pivot__quick__sort.html">random_pivot_quick_sort</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.2 </li>
</ul>
</div>
</body>

View File

@@ -1,7 +1,7 @@
<?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.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: others/palindrome_of_number.cpp Pages: 1 -->
<svg width="204pt" height="95pt"

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@@ -2,8 +2,8 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Algorithms_in_C++: numerical_methods/qr_eigen_values.cpp File Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
@@ -17,9 +17,9 @@
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
@@ -32,8 +32,7 @@
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Algorithms_in_C++
&#160;<span id="projectnumber">1.0.0</span>
<div id="projectname">Algorithms_in_C++<span id="projectnumber">&#160;1.0.0</span>
</div>
<div id="projectbrief">Set of algorithms implemented in C++.</div>
</td>
@@ -42,21 +41,22 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<!-- Generated by Doxygen 1.9.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "../../search",false,'Search','.html');
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -70,7 +70,7 @@ $(function() {
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('de/d75/qr__eigen__values_8cpp.html','../../'); initResizable(); });
/* @license-end */
</script>
@@ -94,12 +94,11 @@ $(document).ready(function(){initNavTree('de/d75/qr__eigen__values_8cpp.html','.
<a href="#namespaces">Namespaces</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">qr_eigen_values.cpp File Reference</div> </div>
<div class="headertitle"><div class="title">qr_eigen_values.cpp File Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Compute real eigen values and eigen vectors of a symmetric matrix using <a href="https://en.wikipedia.org/wiki/QR_decomposition">QR decomposition</a> method.
<p>Compute real eigen values and eigen vectors of a symmetric matrix using <a href="https://en.wikipedia.org/wiki/QR_decomposition" target="_blank">QR decomposition</a> method.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;cassert&gt;</code><br />
<code>#include &lt;cmath&gt;</code><br />
@@ -114,25 +113,25 @@ Include dependency graph for qr_eigen_values.cpp:</div>
</div>
</div>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:d2/d3b/namespaceqr__algorithm"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d3b/namespaceqr__algorithm.html">qr_algorithm</a></td></tr>
<tr class="memdesc:d2/d3b/namespaceqr__algorithm"><td class="mdescLeft">&#160;</td><td class="mdescRight">Functions to compute <a href="https://en.wikipedia.org/wiki/QR_decomposition">QR decomposition</a> of any rectangular matrix. <br /></td></tr>
<tr class="memitem:d2/d3b/namespaceqr__algorithm"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d3b/namespaceqr__algorithm.html">qr_algorithm</a></td></tr>
<tr class="memdesc:d2/d3b/namespaceqr__algorithm"><td class="mdescLeft">&#160;</td><td class="mdescRight">Functions to compute <a href="https://en.wikipedia.org/wiki/QR_decomposition" target="_blank">QR decomposition</a> of any rectangular matrix. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="define-members" name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:aee57a411f07599034f5ceb8cc7d65b40"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d75/qr__eigen__values_8cpp.html#aee57a411f07599034f5ceb8cc7d65b40">LIMS</a>&#160;&#160;&#160;9</td></tr>
<tr class="separator:aee57a411f07599034f5ceb8cc7d65b40"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a33cb0a68c36aa26fd599c7c66da86ed7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d75/qr__eigen__values_8cpp.html#a33cb0a68c36aa26fd599c7c66da86ed7">create_matrix</a> (<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>&lt; double &gt;&gt; *A)</td></tr>
<tr class="separator:a33cb0a68c36aa26fd599c7c66da86ed7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7558fd7779bf207157ced66f275951a0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d75/qr__eigen__values_8cpp.html#a7558fd7779bf207157ced66f275951a0">mat_mul</a> (const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>&lt; double &gt;&gt; &amp;A, const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>&lt; double &gt;&gt; &amp;B, <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>&lt; double &gt;&gt; *OUT)</td></tr>
<tr class="separator:a7558fd7779bf207157ced66f275951a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a763896dbb4a7e95c4a1e614ac0819d66"><td class="memItemLeft" align="right" valign="top"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>&lt; double &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d3b/namespaceqr__algorithm.html#a763896dbb4a7e95c4a1e614ac0819d66">qr_algorithm::eigen_values</a> (<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>&lt; double &gt;&gt; *A, bool print_intermediates=false)</td></tr>
<tr class="separator:a763896dbb4a7e95c4a1e614ac0819d66"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9bbf469d5525a816b0d6ca812119093d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d75/qr__eigen__values_8cpp.html#a9bbf469d5525a816b0d6ca812119093d">create_matrix</a> (<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>&lt; double &gt; &gt; *A)</td></tr>
<tr class="separator:a9bbf469d5525a816b0d6ca812119093d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb8bf4c55e10685a5eb2ad3797fde1ae"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d75/qr__eigen__values_8cpp.html#abb8bf4c55e10685a5eb2ad3797fde1ae">mat_mul</a> (const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>&lt; double &gt; &gt; &amp;A, const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>&lt; double &gt; &gt; &amp;B, <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>&lt; double &gt; &gt; *OUT)</td></tr>
<tr class="separator:abb8bf4c55e10685a5eb2ad3797fde1ae"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a28e2fa3e803abaea6c568dc45d69d8cc"><td class="memItemLeft" align="right" valign="top"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>&lt; double &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/d3b/namespaceqr__algorithm.html#a28e2fa3e803abaea6c568dc45d69d8cc">qr_algorithm::eigen_values</a> (<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>&lt; double &gt; &gt; *A, bool print_intermediates=false)</td></tr>
<tr class="separator:a28e2fa3e803abaea6c568dc45d69d8cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1440a7779ac56f47a3f355ce4a8c7da0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d75/qr__eigen__values_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0">test1</a> ()</td></tr>
<tr class="separator:a1440a7779ac56f47a3f355ce4a8c7da0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0283886819c7c140a023582b7269e2d0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d75/qr__eigen__values_8cpp.html#a0283886819c7c140a023582b7269e2d0">test2</a> ()</td></tr>
@@ -141,10 +140,10 @@ Functions</h2></td></tr>
<tr class="separator:a3c04138a5bfe5d72780bb7e82a18e627"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Compute real eigen values and eigen vectors of a symmetric matrix using <a href="https://en.wikipedia.org/wiki/QR_decomposition">QR decomposition</a> method. </p>
<dl class="section author"><dt>Author</dt><dd><a href="https://github.com/kvedala">Krishna Vedala</a> </dd></dl>
<div class="textblock"><p >Compute real eigen values and eigen vectors of a symmetric matrix using <a href="https://en.wikipedia.org/wiki/QR_decomposition" target="_blank">QR decomposition</a> method. </p>
<dl class="section author"><dt>Author</dt><dd><a href="https://github.com/kvedala" target="_blank">Krishna Vedala</a> </dd></dl>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a id="aee57a411f07599034f5ceb8cc7d65b40"></a>
<a id="aee57a411f07599034f5ceb8cc7d65b40" name="aee57a411f07599034f5ceb8cc7d65b40"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aee57a411f07599034f5ceb8cc7d65b40">&#9670;&nbsp;</a></span>LIMS</h2>
<div class="memitem">
@@ -155,13 +154,13 @@ Functions</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
<p>limit of range of matrix values </p>
<p >limit of range of matrix values </p>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="a33cb0a68c36aa26fd599c7c66da86ed7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a33cb0a68c36aa26fd599c7c66da86ed7">&#9670;&nbsp;</a></span>create_matrix()</h2>
<a id="a9bbf469d5525a816b0d6ca812119093d" name="a9bbf469d5525a816b0d6ca812119093d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9bbf469d5525a816b0d6ca812119093d">&#9670;&nbsp;</a></span>create_matrix()</h2>
<div class="memitem">
<div class="memproto">
@@ -169,48 +168,48 @@ Functions</h2></td></tr>
<tr>
<td class="memname">void create_matrix </td>
<td>(</td>
<td class="paramtype"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>&lt; double &gt;&gt; *&#160;</td>
<td class="paramtype"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>&lt; double &gt; &gt; *&#160;</td>
<td class="paramname"><em>A</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>create a symmetric square matrix of given size with random elements. A symmetric square matrix will <em>always</em> have real eigen values.</p>
<p >create a symmetric square matrix of given size with random elements. A symmetric square matrix will <em>always</em> have real eigen values.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[out]</td><td class="paramname">A</td><td>matrix to create (must be pre-allocated in memory) </td></tr>
</table>
</dd>
</dl>
<div class="fragment"><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; {</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; <span class="keywordtype">int</span> i, j, tmp, lim2 = <a class="code" href="../../de/d75/qr__eigen__values_8cpp.html#aee57a411f07599034f5ceb8cc7d65b40">LIMS</a> &gt;&gt; 1;</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; <span class="keywordtype">int</span> <a class="code" href="../../d6/d42/data__structures_2sparse__table_8cpp.html#a10f3ffb3f6f7e1b83d556b9c8de89a5d">N</a> = A-&gt;size();</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; </div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="preprocessor">#ifdef _OPENMP</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="preprocessor">#pragma omp for</span></div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <span class="keywordflow">for</span> (i = 0; i &lt; <a class="code" href="../../d6/d42/data__structures_2sparse__table_8cpp.html#a10f3ffb3f6f7e1b83d556b9c8de89a5d">N</a>; i++) {</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; A[0][i][i] = (<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/random/rand.html">std::rand</a>() % <a class="code" href="../../de/d75/qr__eigen__values_8cpp.html#aee57a411f07599034f5ceb8cc7d65b40">LIMS</a>) - lim2;</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <span class="keywordflow">for</span> (j = i + 1; j &lt; <a class="code" href="../../d6/d42/data__structures_2sparse__table_8cpp.html#a10f3ffb3f6f7e1b83d556b9c8de89a5d">N</a>; j++) {</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; tmp = (<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/random/rand.html">std::rand</a>() % <a class="code" href="../../de/d75/qr__eigen__values_8cpp.html#aee57a411f07599034f5ceb8cc7d65b40">LIMS</a>) - lim2;</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; A[0][i][j] = tmp; <span class="comment">// summetrically distribute random values</span></div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; A[0][j][i] = tmp;</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; }</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; }</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;}</div>
<div class="fragment"><div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> {</div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> <span class="keywordtype">int</span> i, j, tmp, lim2 = <a class="code hl_define" href="../../de/d75/qr__eigen__values_8cpp.html#aee57a411f07599034f5ceb8cc7d65b40">LIMS</a> &gt;&gt; 1;</div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> <span class="keywordtype">int</span> <a class="code hl_variable" href="../../d6/d42/data__structures_2sparse__table_8cpp.html#a10f3ffb3f6f7e1b83d556b9c8de89a5d">N</a> = A-&gt;size();</div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> </div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="preprocessor">#ifdef _OPENMP</span></div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span><span class="preprocessor">#pragma omp for</span></div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> <span class="keywordflow">for</span> (i = 0; i &lt; <a class="code hl_variable" href="../../d6/d42/data__structures_2sparse__table_8cpp.html#a10f3ffb3f6f7e1b83d556b9c8de89a5d">N</a>; i++) {</div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> A[0][i][i] = (<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/random/rand.html">std::rand</a>() % <a class="code hl_define" href="../../de/d75/qr__eigen__values_8cpp.html#aee57a411f07599034f5ceb8cc7d65b40">LIMS</a>) - lim2;</div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> <span class="keywordflow">for</span> (j = i + 1; j &lt; <a class="code hl_variable" href="../../d6/d42/data__structures_2sparse__table_8cpp.html#a10f3ffb3f6f7e1b83d556b9c8de89a5d">N</a>; j++) {</div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> tmp = (<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/random/rand.html">std::rand</a>() % <a class="code hl_define" href="../../de/d75/qr__eigen__values_8cpp.html#aee57a411f07599034f5ceb8cc7d65b40">LIMS</a>) - lim2;</div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> A[0][i][j] = tmp; <span class="comment">// summetrically distribute random values</span></div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> A[0][j][i] = tmp;</div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> }</div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> }</div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span>}</div>
<div class="ttc" id="adata__structures_2sparse__table_8cpp_html_a10f3ffb3f6f7e1b83d556b9c8de89a5d"><div class="ttname"><a href="../../d6/d42/data__structures_2sparse__table_8cpp.html#a10f3ffb3f6f7e1b83d556b9c8de89a5d">data_structures::sparse_table::N</a></div><div class="ttdeci">constexpr uint32_t N</div><div class="ttdoc">A struct to represent sparse table for min() as their invariant function, for the given array A....</div><div class="ttdef"><b>Definition:</b> sparse_table.cpp:47</div></div>
<div class="ttc" id="aqr__eigen__values_8cpp_html_aee57a411f07599034f5ceb8cc7d65b40"><div class="ttname"><a href="../../de/d75/qr__eigen__values_8cpp.html#aee57a411f07599034f5ceb8cc7d65b40">LIMS</a></div><div class="ttdeci">#define LIMS</div><div class="ttdef"><b>Definition:</b> qr_eigen_values.cpp:20</div></div>
<div class="ttc" id="arand_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/numeric/random/rand.html">std::rand</a></div><div class="ttdeci">T rand(T... args)</div></div>
</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="../../de/d75/qr__eigen__values_8cpp_a33cb0a68c36aa26fd599c7c66da86ed7_cgraph.svg" width="235" height="38"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
<div class="center"><iframe scrolling="no" frameborder="0" src="../../de/d75/qr__eigen__values_8cpp_a9bbf469d5525a816b0d6ca812119093d_cgraph.svg" width="235" height="38"><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="a3c04138a5bfe5d72780bb7e82a18e627"></a>
<a id="a3c04138a5bfe5d72780bb7e82a18e627" name="a3c04138a5bfe5d72780bb7e82a18e627"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3c04138a5bfe5d72780bb7e82a18e627">&#9670;&nbsp;</a></span>main()</h2>
<div class="memitem">
@@ -235,58 +234,58 @@ Here is the call graph for this function:</div>
</tr>
</table>
</div><div class="memdoc">
<p>main function </p>
<div class="fragment"><div class="line"><a name="l00243"></a><span class="lineno"> 243</span>&#160; {</div>
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>&#160; <span class="keywordtype">int</span> <a class="code" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a> = 5;</div>
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>&#160; <span class="keywordflow">if</span> (argc == 2) {</div>
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>&#160; <a class="code" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a> = <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/byte/atoi.html">atoi</a>(argv[1]);</div>
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>&#160; } <span class="keywordflow">else</span> { <span class="comment">// if invalid input argument is given run tests</span></div>
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>&#160; <a class="code" href="../../de/d75/qr__eigen__values_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0">test1</a>();</div>
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>&#160; <a class="code" href="../../de/d75/qr__eigen__values_8cpp.html#a0283886819c7c140a023582b7269e2d0">test2</a>();</div>
<div class="line"><a name="l00250"></a><span class="lineno"> 250</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;Usage: ./qr_eigen_values [mat_size]\n&quot;</span>;</div>
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>&#160; <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>&#160; }</div>
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>&#160; </div>
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a> &lt; 2) {</div>
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/c/fprintf.html">fprintf</a>(stderr, <span class="stringliteral">&quot;Matrix size should be &gt; 2\n&quot;</span>);</div>
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>&#160; <span class="keywordflow">return</span> -1;</div>
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>&#160; }</div>
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>&#160; </div>
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>&#160; <span class="comment">// initialize random number generator</span></div>
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/random/srand.html">std::srand</a>(<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/chrono/c/time.html">std::time</a>(<span class="keyword">nullptr</span>));</div>
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>&#160; </div>
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>&#160; <span class="keywordtype">int</span> i, rows = <a class="code" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a>, columns = <a class="code" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a>;</div>
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>&#160; </div>
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray&lt;std::valarray&lt;double&gt;</a>&gt; A(rows);</div>
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>&#160; </div>
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; rows; i++) {</div>
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>&#160; A[i] = <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray&lt;double&gt;</a>(columns);</div>
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>&#160; }</div>
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>&#160; </div>
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>&#160; <span class="comment">/* create a random matrix */</span></div>
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>&#160; <a class="code" href="../../de/d75/qr__eigen__values_8cpp.html#a33cb0a68c36aa26fd599c7c66da86ed7">create_matrix</a>(&amp;A);</div>
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>&#160; </div>
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; A &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>&#160; </div>
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>&#160; clock_t t1 = <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/chrono/c/clock.html">clock</a>();</div>
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray&lt;double&gt;</a> eigen_vals = <a class="code" href="../../d2/d3b/namespaceqr__algorithm.html#a763896dbb4a7e95c4a1e614ac0819d66">qr_algorithm::eigen_values</a>(&amp;A);</div>
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>&#160; <span class="keywordtype">double</span> dtime = <span class="keyword">static_cast&lt;</span><span class="keywordtype">double</span><span class="keyword">&gt;</span>(<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/chrono/c/clock.html">clock</a>() - t1) / CLOCKS_PER_SEC;</div>
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>&#160; </div>
<div class="line"><a name="l00279"></a><span class="lineno"> 279</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;Eigen vals: &quot;</span>;</div>
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>&#160; <span class="keywordflow">for</span> (i = 0; i &lt; <a class="code" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a>; i++) <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; eigen_vals[i] &lt;&lt; <span class="stringliteral">&quot;\t&quot;</span>;</div>
<div class="line"><a name="l00281"></a><span class="lineno"> 281</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;\nTime taken to compute: &quot;</span> &lt;&lt; dtime &lt;&lt; <span class="stringliteral">&quot; sec\n&quot;</span>;</div>
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>&#160; </div>
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>&#160; <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>&#160;}</div>
<p >main function </p>
<div class="fragment"><div class="line"><a id="l00243" name="l00243"></a><span class="lineno"> 243</span> {</div>
<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"> 244</span> <span class="keywordtype">int</span> <a class="code hl_variable" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a> = 5;</div>
<div class="line"><a id="l00245" name="l00245"></a><span class="lineno"> 245</span> <span class="keywordflow">if</span> (argc == 2) {</div>
<div class="line"><a id="l00246" name="l00246"></a><span class="lineno"> 246</span> <a class="code hl_variable" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a> = <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/byte/atoi.html">atoi</a>(argv[1]);</div>
<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"> 247</span> } <span class="keywordflow">else</span> { <span class="comment">// if invalid input argument is given run tests</span></div>
<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"> 248</span> <a class="code hl_function" href="../../de/d75/qr__eigen__values_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0">test1</a>();</div>
<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"> 249</span> <a class="code hl_function" href="../../de/d75/qr__eigen__values_8cpp.html#a0283886819c7c140a023582b7269e2d0">test2</a>();</div>
<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"> 250</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Usage: ./qr_eigen_values [mat_size]\n&quot;</span>;</div>
<div class="line"><a id="l00251" name="l00251"></a><span class="lineno"> 251</span> <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"> 252</span> }</div>
<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"> 253</span> </div>
<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"> 254</span> <span class="keywordflow">if</span> (<a class="code hl_variable" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a> &lt; 2) {</div>
<div class="line"><a id="l00255" name="l00255"></a><span class="lineno"> 255</span> <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/c/fprintf.html">fprintf</a>(stderr, <span class="stringliteral">&quot;Matrix size should be &gt; 2\n&quot;</span>);</div>
<div class="line"><a id="l00256" name="l00256"></a><span class="lineno"> 256</span> <span class="keywordflow">return</span> -1;</div>
<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"> 257</span> }</div>
<div class="line"><a id="l00258" name="l00258"></a><span class="lineno"> 258</span> </div>
<div class="line"><a id="l00259" name="l00259"></a><span class="lineno"> 259</span> <span class="comment">// initialize random number generator</span></div>
<div class="line"><a id="l00260" name="l00260"></a><span class="lineno"> 260</span> <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/random/srand.html">std::srand</a>(<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/chrono/c/time.html">std::time</a>(<span class="keyword">nullptr</span>));</div>
<div class="line"><a id="l00261" name="l00261"></a><span class="lineno"> 261</span> </div>
<div class="line"><a id="l00262" name="l00262"></a><span class="lineno"> 262</span> <span class="keywordtype">int</span> i, rows = <a class="code hl_variable" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a>, columns = <a class="code hl_variable" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a>;</div>
<div class="line"><a id="l00263" name="l00263"></a><span class="lineno"> 263</span> </div>
<div class="line"><a id="l00264" name="l00264"></a><span class="lineno"> 264</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray&lt;std::valarray&lt;double&gt;</a>&gt; A(rows);</div>
<div class="line"><a id="l00265" name="l00265"></a><span class="lineno"> 265</span> </div>
<div class="line"><a id="l00266" name="l00266"></a><span class="lineno"> 266</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; rows; i++) {</div>
<div class="line"><a id="l00267" name="l00267"></a><span class="lineno"> 267</span> A[i] = <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray&lt;double&gt;</a>(columns);</div>
<div class="line"><a id="l00268" name="l00268"></a><span class="lineno"> 268</span> }</div>
<div class="line"><a id="l00269" name="l00269"></a><span class="lineno"> 269</span> </div>
<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"> 270</span> <span class="comment">/* create a random matrix */</span></div>
<div class="line"><a id="l00271" name="l00271"></a><span class="lineno"> 271</span> <a class="code hl_function" href="../../de/d75/qr__eigen__values_8cpp.html#a9bbf469d5525a816b0d6ca812119093d">create_matrix</a>(&amp;A);</div>
<div class="line"><a id="l00272" name="l00272"></a><span class="lineno"> 272</span> </div>
<div class="line"><a id="l00273" name="l00273"></a><span class="lineno"> 273</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; A &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line"><a id="l00274" name="l00274"></a><span class="lineno"> 274</span> </div>
<div class="line"><a id="l00275" name="l00275"></a><span class="lineno"> 275</span> clock_t t1 = <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/chrono/c/clock.html">clock</a>();</div>
<div class="line"><a id="l00276" name="l00276"></a><span class="lineno"> 276</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray&lt;double&gt;</a> eigen_vals = <a class="code hl_function" href="../../d2/d3b/namespaceqr__algorithm.html#a28e2fa3e803abaea6c568dc45d69d8cc">qr_algorithm::eigen_values</a>(&amp;A);</div>
<div class="line"><a id="l00277" name="l00277"></a><span class="lineno"> 277</span> <span class="keywordtype">double</span> dtime = <span class="keyword">static_cast&lt;</span><span class="keywordtype">double</span><span class="keyword">&gt;</span>(<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/chrono/c/clock.html">clock</a>() - t1) / CLOCKS_PER_SEC;</div>
<div class="line"><a id="l00278" name="l00278"></a><span class="lineno"> 278</span> </div>
<div class="line"><a id="l00279" name="l00279"></a><span class="lineno"> 279</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Eigen vals: &quot;</span>;</div>
<div class="line"><a id="l00280" name="l00280"></a><span class="lineno"> 280</span> <span class="keywordflow">for</span> (i = 0; i &lt; <a class="code hl_variable" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a>; i++) <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; eigen_vals[i] &lt;&lt; <span class="stringliteral">&quot;\t&quot;</span>;</div>
<div class="line"><a id="l00281" name="l00281"></a><span class="lineno"> 281</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;\nTime taken to compute: &quot;</span> &lt;&lt; dtime &lt;&lt; <span class="stringliteral">&quot; sec\n&quot;</span>;</div>
<div class="line"><a id="l00282" name="l00282"></a><span class="lineno"> 282</span> </div>
<div class="line"><a id="l00283" name="l00283"></a><span class="lineno"> 283</span> <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00284" name="l00284"></a><span class="lineno"> 284</span>}</div>
<div class="ttc" id="aatoi_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/string/byte/atoi.html">std::atoi</a></div><div class="ttdeci">T atoi(T... args)</div></div>
<div class="ttc" id="abasic_ostream_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a></div></div>
<div class="ttc" id="aclock_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/chrono/c/clock.html">std::clock</a></div><div class="ttdeci">T clock(T... args)</div></div>
<div class="ttc" id="afprintf_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/c/fprintf.html">std::fprintf</a></div><div class="ttdeci">T fprintf(T... args)</div></div>
<div class="ttc" id="amatrix__exponentiation_8cpp_html_a9977ad12548c4a49dee9dc3f0685aa54"><div class="ttname"><a href="../../d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a></div><div class="ttdeci">ll mat_size</div><div class="ttdef"><b>Definition:</b> matrix_exponentiation.cpp:45</div></div>
<div class="ttc" id="anamespaceqr__algorithm_html_a763896dbb4a7e95c4a1e614ac0819d66"><div class="ttname"><a href="../../d2/d3b/namespaceqr__algorithm.html#a763896dbb4a7e95c4a1e614ac0819d66">qr_algorithm::eigen_values</a></div><div class="ttdeci">std::valarray&lt; double &gt; eigen_values(std::valarray&lt; std::valarray&lt; double &gt;&gt; *A, bool print_intermediates=false)</div><div class="ttdef"><b>Definition:</b> qr_eigen_values.cpp:98</div></div>
<div class="ttc" id="anamespaceqr__algorithm_html_a28e2fa3e803abaea6c568dc45d69d8cc"><div class="ttname"><a href="../../d2/d3b/namespaceqr__algorithm.html#a28e2fa3e803abaea6c568dc45d69d8cc">qr_algorithm::eigen_values</a></div><div class="ttdeci">std::valarray&lt; double &gt; eigen_values(std::valarray&lt; std::valarray&lt; double &gt; &gt; *A, bool print_intermediates=false)</div><div class="ttdef"><b>Definition:</b> qr_eigen_values.cpp:98</div></div>
<div class="ttc" id="aqr__eigen__values_8cpp_html_a0283886819c7c140a023582b7269e2d0"><div class="ttname"><a href="../../de/d75/qr__eigen__values_8cpp.html#a0283886819c7c140a023582b7269e2d0">test2</a></div><div class="ttdeci">void test2()</div><div class="ttdef"><b>Definition:</b> qr_eigen_values.cpp:210</div></div>
<div class="ttc" id="aqr__eigen__values_8cpp_html_a1440a7779ac56f47a3f355ce4a8c7da0"><div class="ttname"><a href="../../de/d75/qr__eigen__values_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0">test1</a></div><div class="ttdeci">void test1()</div><div class="ttdef"><b>Definition:</b> qr_eigen_values.cpp:177</div></div>
<div class="ttc" id="aqr__eigen__values_8cpp_html_a33cb0a68c36aa26fd599c7c66da86ed7"><div class="ttname"><a href="../../de/d75/qr__eigen__values_8cpp.html#a33cb0a68c36aa26fd599c7c66da86ed7">create_matrix</a></div><div class="ttdeci">void create_matrix(std::valarray&lt; std::valarray&lt; double &gt;&gt; *A)</div><div class="ttdef"><b>Definition:</b> qr_eigen_values.cpp:28</div></div>
<div class="ttc" id="aqr__eigen__values_8cpp_html_a9bbf469d5525a816b0d6ca812119093d"><div class="ttname"><a href="../../de/d75/qr__eigen__values_8cpp.html#a9bbf469d5525a816b0d6ca812119093d">create_matrix</a></div><div class="ttdeci">void create_matrix(std::valarray&lt; std::valarray&lt; double &gt; &gt; *A)</div><div class="ttdef"><b>Definition:</b> qr_eigen_values.cpp:28</div></div>
<div class="ttc" id="asrand_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/numeric/random/srand.html">std::srand</a></div><div class="ttdeci">T srand(T... args)</div></div>
<div class="ttc" id="atime_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/chrono/c/time.html">std::time</a></div><div class="ttdeci">T time(T... args)</div></div>
<div class="ttc" id="avalarray_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a></div></div>
@@ -299,8 +298,8 @@ Here is the call graph for this function:</div>
</div>
</div>
<a id="a7558fd7779bf207157ced66f275951a0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7558fd7779bf207157ced66f275951a0">&#9670;&nbsp;</a></span>mat_mul()</h2>
<a id="abb8bf4c55e10685a5eb2ad3797fde1ae" name="abb8bf4c55e10685a5eb2ad3797fde1ae"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abb8bf4c55e10685a5eb2ad3797fde1ae">&#9670;&nbsp;</a></span>mat_mul()</h2>
<div class="memitem">
<div class="memproto">
@@ -308,19 +307,19 @@ Here is the call graph for this function:</div>
<tr>
<td class="memname">void mat_mul </td>
<td>(</td>
<td class="paramtype">const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>&lt; double &gt;&gt; &amp;&#160;</td>
<td class="paramtype">const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>&lt; double &gt; &gt; &amp;&#160;</td>
<td class="paramname"><em>A</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>&lt; double &gt;&gt; &amp;&#160;</td>
<td class="paramtype">const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>&lt; double &gt; &gt; &amp;&#160;</td>
<td class="paramname"><em>B</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>&lt; double &gt;&gt; *&#160;</td>
<td class="paramtype"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>&lt; <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a>&lt; double &gt; &gt; *&#160;</td>
<td class="paramname"><em>OUT</em>&#160;</td>
</tr>
<tr>
@@ -330,7 +329,7 @@ Here is the call graph for this function:</div>
</tr>
</table>
</div><div class="memdoc">
<p>Perform multiplication of two matrices.</p><ul>
<p >Perform multiplication of two matrices.</p><ul>
<li>R2 must be equal to C1</li>
<li>Resultant matrix size should be R1xC2 <dl class="params"><dt>Parameters</dt><dd>
<table class="params">
@@ -343,30 +342,30 @@ Here is the call graph for this function:</div>
<dl class="section return"><dt>Returns</dt><dd>pointer to resultant matrix </dd></dl>
</li>
</ul>
<div class="fragment"><div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; {</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="keywordtype">int</span> R1 = A.size();</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keywordtype">int</span> C1 = A[0].size();</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keywordtype">int</span> R2 = B.size();</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="keywordtype">int</span> C2 = B[0].size();</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="keywordflow">if</span> (C1 != R2) {</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/c/perror.html">perror</a>(<span class="stringliteral">&quot;Matrix dimensions mismatch!&quot;</span>);</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; }</div>
<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; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; R1; i++) {</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> j = 0; j &lt; C2; j++) {</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; OUT[0][i][j] = 0.f;</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> k = 0; k &lt; C1; k++) {</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; OUT[0][i][j] += A[i][k] * B[k][j];</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; }</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; }</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; }</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160;}</div>
<div class="fragment"><div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> {</div>
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> <span class="keywordtype">int</span> R1 = A.size();</div>
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> <span class="keywordtype">int</span> C1 = A[0].size();</div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> <span class="keywordtype">int</span> R2 = B.size();</div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> <span class="keywordtype">int</span> C2 = B[0].size();</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> <span class="keywordflow">if</span> (C1 != R2) {</div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/c/perror.html">perror</a>(<span class="stringliteral">&quot;Matrix dimensions mismatch!&quot;</span>);</div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> <span class="keywordflow">return</span>;</div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> }</div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> </div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; R1; i++) {</div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> j = 0; j &lt; C2; j++) {</div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> OUT[0][i][j] = 0.f;</div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> k = 0; k &lt; C1; k++) {</div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> OUT[0][i][j] += A[i][k] * B[k][j];</div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> }</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> }</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> }</div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span>}</div>
<div class="ttc" id="aperror_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/c/perror.html">std::perror</a></div><div class="ttdeci">T perror(T... args)</div></div>
</div><!-- fragment -->
</div>
</div>
<a id="a1440a7779ac56f47a3f355ce4a8c7da0"></a>
<a id="a1440a7779ac56f47a3f355ce4a8c7da0" name="a1440a7779ac56f47a3f355ce4a8c7da0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1440a7779ac56f47a3f355ce4a8c7da0">&#9670;&nbsp;</a></span>test1()</h2>
<div class="memitem">
@@ -380,31 +379,31 @@ Here is the call graph for this function:</div>
</tr>
</table>
</div><div class="memdoc">
<p>test function to compute eigen values of a 2x2 matrix </p><p class="formulaDsp">
<p >test function to compute eigen values of a 2x2 matrix </p><p class="formulaDsp">
\[\begin{bmatrix} 5 &amp; 7\\ 7 &amp; 11 \end{bmatrix}\]
</p>
<p> which are approximately, {15.56158, 0.384227} </p>
<div class="fragment"><div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; {</div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray&lt;std::valarray&lt;double&gt;</a>&gt; X = {{5, 7}, {7, 11}};</div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <span class="keywordtype">double</span> y[] = {15.56158, 0.384227}; <span class="comment">// corresponding y-values</span></div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; </div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</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;------- Test 1 -------&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="l00182"></a><span class="lineno"> 182</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray&lt;double&gt;</a> eig_vals = <a class="code" href="../../d2/d3b/namespaceqr__algorithm.html#a763896dbb4a7e95c4a1e614ac0819d66">qr_algorithm::eigen_values</a>(&amp;X);</div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160; </div>
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; 2; i++) {</div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; i + 1 &lt;&lt; <span class="stringliteral">&quot;/2 Checking for &quot;</span> &lt;&lt; y[i] &lt;&lt; <span class="stringliteral">&quot; --&gt; &quot;</span>;</div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a> = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> j = 0; j &lt; 2 &amp;&amp; !<a class="code" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a>; j++) {</div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; <span class="keywordflow">if</span> (std::abs(y[i] - eig_vals[j]) &lt; 0.1) {</div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <a class="code" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a> = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</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;(&quot;</span> &lt;&lt; eig_vals[j] &lt;&lt; <span class="stringliteral">&quot;) &quot;</span>;</div>
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>&#160; }</div>
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>&#160; }</div>
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>&#160; assert(result); <span class="comment">// ensure that i^th expected eigen value was computed</span></div>
<div class="line"><a name="l00194"></a><span class="lineno"> 194</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;found\n&quot;</span>;</div>
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160; }</div>
<div class="line"><a name="l00196"></a><span class="lineno"> 196</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;Test 1 Passed\n\n&quot;</span>;</div>
<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160;}</div>
<div class="fragment"><div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span> {</div>
<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray&lt;std::valarray&lt;double&gt;</a>&gt; X = {{5, 7}, {7, 11}};</div>
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span> <span class="keywordtype">double</span> y[] = {15.56158, 0.384227}; <span class="comment">// corresponding y-values</span></div>
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> </div>
<div class="line"><a id="l00181" name="l00181"></a><span class="lineno"> 181</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;------- Test 1 -------&quot;</span> &lt;&lt; <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"> 182</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray&lt;double&gt;</a> eig_vals = <a class="code hl_function" href="../../d2/d3b/namespaceqr__algorithm.html#a28e2fa3e803abaea6c568dc45d69d8cc">qr_algorithm::eigen_values</a>(&amp;X);</div>
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span> </div>
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; 2; i++) {</div>
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; i + 1 &lt;&lt; <span class="stringliteral">&quot;/2 Checking for &quot;</span> &lt;&lt; y[i] &lt;&lt; <span class="stringliteral">&quot; --&gt; &quot;</span>;</div>
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a> = <span class="keyword">false</span>;</div>
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> j = 0; j &lt; 2 &amp;&amp; !<a class="code hl_function" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a>; j++) {</div>
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span> <span class="keywordflow">if</span> (std::abs(y[i] - eig_vals[j]) &lt; 0.1) {</div>
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"> 189</span> <a class="code hl_function" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a> = <span class="keyword">true</span>;</div>
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;(&quot;</span> &lt;&lt; eig_vals[j] &lt;&lt; <span class="stringliteral">&quot;) &quot;</span>;</div>
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span> }</div>
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span> }</div>
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> assert(result); <span class="comment">// ensure that i^th expected eigen value was computed</span></div>
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;found\n&quot;</span>;</div>
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span> }</div>
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Test 1 Passed\n\n&quot;</span>;</div>
<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"> 197</span>}</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="afibonacci__sum_8cpp_html_aadb40ac4c74a7efc0680b83eeee138aa"><div class="ttname"><a href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">math::fibonacci_sum::result</a></div><div class="ttdeci">uint64_t result(uint64_t n)</div><div class="ttdef"><b>Definition:</b> fibonacci_sum.cpp:76</div></div>
</div><!-- fragment --><div class="dynheader">
@@ -416,7 +415,7 @@ Here is the call graph for this function:</div>
</div>
</div>
<a id="a0283886819c7c140a023582b7269e2d0"></a>
<a id="a0283886819c7c140a023582b7269e2d0" name="a0283886819c7c140a023582b7269e2d0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0283886819c7c140a023582b7269e2d0">&#9670;&nbsp;</a></span>test2()</h2>
<div class="memitem">
@@ -430,39 +429,39 @@ Here is the call graph for this function:</div>
</tr>
</table>
</div><div class="memdoc">
<p>test function to compute eigen values of a 2x2 matrix </p><p class="formulaDsp">
<p >test function to compute eigen values of a 2x2 matrix </p><p class="formulaDsp">
\[\begin{bmatrix} -4&amp; 4&amp; 2&amp; 0&amp; -3\\ 4&amp; -4&amp; 4&amp; -3&amp; -1\\ 2&amp; 4&amp; 4&amp; 3&amp; -3\\ 0&amp; -3&amp; 3&amp; -1&amp;-1\\ -3&amp; -1&amp; -3&amp; -3&amp; 0 \end{bmatrix}\]
</p>
<p> which are approximately, {9.27648, -9.26948, 2.0181, -1.03516, -5.98994} </p>
<div class="fragment"><div class="line"><a name="l00210"></a><span class="lineno"> 210</span>&#160; {</div>
<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray&lt;std::valarray&lt;double&gt;</a>&gt; X = {{-4, 4, 2, 0, -3},</div>
<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>&#160; {4, -4, 4, -3, -1},</div>
<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>&#160; {2, 4, 4, 3, -3},</div>
<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>&#160; {0, -3, 3, -1, -3},</div>
<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>&#160; {-3, -1, -3, -3, 0}};</div>
<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>&#160; <span class="keywordtype">double</span> y[] = {9.27648, -9.26948, 2.0181, -1.03516,</div>
<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>&#160; -5.98994}; <span class="comment">// corresponding y-values</span></div>
<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>&#160; </div>
<div class="line"><a name="l00219"></a><span class="lineno"> 219</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;------- Test 2 -------&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="l00220"></a><span class="lineno"> 220</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray&lt;double&gt;</a> eig_vals = <a class="code" href="../../d2/d3b/namespaceqr__algorithm.html#a763896dbb4a7e95c4a1e614ac0819d66">qr_algorithm::eigen_values</a>(&amp;X);</div>
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>&#160; </div>
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; X &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span></div>
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>&#160; &lt;&lt; <span class="stringliteral">&quot;Eigen values: &quot;</span> &lt;&lt; eig_vals &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>&#160; </div>
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; 5; i++) {</div>
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; i + 1 &lt;&lt; <span class="stringliteral">&quot;/5 Checking for &quot;</span> &lt;&lt; y[i] &lt;&lt; <span class="stringliteral">&quot; --&gt; &quot;</span>;</div>
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a> = <span class="keyword">false</span>;</div>
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> j = 0; j &lt; 5 &amp;&amp; !<a class="code" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a>; j++) {</div>
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>&#160; <span class="keywordflow">if</span> (std::abs(y[i] - eig_vals[j]) &lt; 0.1) {</div>
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>&#160; <a class="code" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a> = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00231"></a><span class="lineno"> 231</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;(&quot;</span> &lt;&lt; eig_vals[j] &lt;&lt; <span class="stringliteral">&quot;) &quot;</span>;</div>
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>&#160; }</div>
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>&#160; }</div>
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>&#160; assert(result); <span class="comment">// ensure that i^th expected eigen value was computed</span></div>
<div class="line"><a name="l00235"></a><span class="lineno"> 235</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;found\n&quot;</span>;</div>
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>&#160; }</div>
<div class="line"><a name="l00237"></a><span class="lineno"> 237</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;Test 2 Passed\n\n&quot;</span>;</div>
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>&#160;}</div>
<div class="fragment"><div class="line"><a id="l00210" name="l00210"></a><span class="lineno"> 210</span> {</div>
<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"> 211</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray&lt;std::valarray&lt;double&gt;</a>&gt; X = {{-4, 4, 2, 0, -3},</div>
<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"> 212</span> {4, -4, 4, -3, -1},</div>
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span> {2, 4, 4, 3, -3},</div>
<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span> {0, -3, 3, -1, -3},</div>
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"> 215</span> {-3, -1, -3, -3, 0}};</div>
<div class="line"><a id="l00216" name="l00216"></a><span class="lineno"> 216</span> <span class="keywordtype">double</span> y[] = {9.27648, -9.26948, 2.0181, -1.03516,</div>
<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"> 217</span> -5.98994}; <span class="comment">// corresponding y-values</span></div>
<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"> 218</span> </div>
<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"> 219</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;------- Test 2 -------&quot;</span> &lt;&lt; <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"> 220</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray&lt;double&gt;</a> eig_vals = <a class="code hl_function" href="../../d2/d3b/namespaceqr__algorithm.html#a28e2fa3e803abaea6c568dc45d69d8cc">qr_algorithm::eigen_values</a>(&amp;X);</div>
<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"> 221</span> </div>
<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"> 222</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; X &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span></div>
<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"> 223</span> &lt;&lt; <span class="stringliteral">&quot;Eigen values: &quot;</span> &lt;&lt; eig_vals &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"> 224</span> </div>
<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"> 225</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; 5; i++) {</div>
<div class="line"><a id="l00226" name="l00226"></a><span class="lineno"> 226</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; i + 1 &lt;&lt; <span class="stringliteral">&quot;/5 Checking for &quot;</span> &lt;&lt; y[i] &lt;&lt; <span class="stringliteral">&quot; --&gt; &quot;</span>;</div>
<div class="line"><a id="l00227" name="l00227"></a><span class="lineno"> 227</span> <span class="keywordtype">bool</span> <a class="code hl_function" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a> = <span class="keyword">false</span>;</div>
<div class="line"><a id="l00228" name="l00228"></a><span class="lineno"> 228</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> j = 0; j &lt; 5 &amp;&amp; !<a class="code hl_function" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a>; j++) {</div>
<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"> 229</span> <span class="keywordflow">if</span> (std::abs(y[i] - eig_vals[j]) &lt; 0.1) {</div>
<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"> 230</span> <a class="code hl_function" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a> = <span class="keyword">true</span>;</div>
<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"> 231</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;(&quot;</span> &lt;&lt; eig_vals[j] &lt;&lt; <span class="stringliteral">&quot;) &quot;</span>;</div>
<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"> 232</span> }</div>
<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"> 233</span> }</div>
<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"> 234</span> assert(result); <span class="comment">// ensure that i^th expected eigen value was computed</span></div>
<div class="line"><a id="l00235" name="l00235"></a><span class="lineno"> 235</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;found\n&quot;</span>;</div>
<div class="line"><a id="l00236" name="l00236"></a><span class="lineno"> 236</span> }</div>
<div class="line"><a id="l00237" name="l00237"></a><span class="lineno"> 237</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Test 2 Passed\n\n&quot;</span>;</div>
<div class="line"><a id="l00238" name="l00238"></a><span class="lineno"> 238</span>}</div>
</div><!-- fragment --><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
@@ -478,7 +477,7 @@ Here is the call graph for this function:</div>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_9c6faab82c22511b50177aa2e38e2780.html">numerical_methods</a></li><li class="navelem"><a class="el" href="../../de/d75/qr__eigen__values_8cpp.html">qr_eigen_values.cpp</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.2 </li>
</ul>
</div>
</body>

View File

@@ -1,10 +1,10 @@
var qr__eigen__values_8cpp =
[
[ "LIMS", "de/d75/qr__eigen__values_8cpp.html#aee57a411f07599034f5ceb8cc7d65b40", null ],
[ "create_matrix", "de/d75/qr__eigen__values_8cpp.html#a33cb0a68c36aa26fd599c7c66da86ed7", null ],
[ "eigen_values", "de/d75/qr__eigen__values_8cpp.html#a763896dbb4a7e95c4a1e614ac0819d66", null ],
[ "create_matrix", "de/d75/qr__eigen__values_8cpp.html#a9bbf469d5525a816b0d6ca812119093d", null ],
[ "eigen_values", "de/d75/qr__eigen__values_8cpp.html#a28e2fa3e803abaea6c568dc45d69d8cc", null ],
[ "main", "de/d75/qr__eigen__values_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627", null ],
[ "mat_mul", "de/d75/qr__eigen__values_8cpp.html#a7558fd7779bf207157ced66f275951a0", null ],
[ "mat_mul", "de/d75/qr__eigen__values_8cpp.html#abb8bf4c55e10685a5eb2ad3797fde1ae", null ],
[ "test1", "de/d75/qr__eigen__values_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0", null ],
[ "test2", "de/d75/qr__eigen__values_8cpp.html#a0283886819c7c140a023582b7269e2d0", null ]
];

View File

@@ -1,12 +1,12 @@
<map id="test2" name="test2">
<area shape="rect" id="node1" title=" " alt="" coords="5,60,56,87"/>
<area shape="rect" id="node2" href="$d2/d3b/namespaceqr__algorithm.html#a763896dbb4a7e95c4a1e614ac0819d66" title=" " alt="" coords="104,23,240,65"/>
<area shape="rect" id="node2" href="$d2/d3b/namespaceqr__algorithm.html#a28e2fa3e803abaea6c568dc45d69d8cc" title=" " alt="" coords="104,23,240,65"/>
<area shape="rect" id="node10" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/io/manip/endl.html#" title=" " alt="" coords="136,89,208,116"/>
<area shape="rect" id="node3" href="$de/d75/qr__eigen__values_8cpp.html#a7558fd7779bf207157ced66f275951a0" title=" " alt="" coords="347,5,421,32"/>
<area shape="rect" id="node4" href="$d2/d3b/namespaceqr__algorithm.html#ab1ac74497ffb2101040cc1efe3546de8" title=" " alt="" coords="288,56,480,83"/>
<area shape="rect" id="node5" href="$d8/d77/namespacemachine__learning.html#a5305cc18d11943d3dc0d66e70d7e9c44" title=" " alt="" coords="535,5,695,32"/>
<area shape="rect" id="node3" href="$de/d75/qr__eigen__values_8cpp.html#abb8bf4c55e10685a5eb2ad3797fde1ae" title=" " alt="" coords="347,5,421,32"/>
<area shape="rect" id="node4" href="$d2/d3b/namespaceqr__algorithm.html#a73ce637634fc49e1d10d190eb388ebf1" title=" " alt="" coords="288,56,480,83"/>
<area shape="rect" id="node5" href="$d8/d77/namespacemachine__learning.html#a6f1c98c016ad34ff3d9f39372161bd35" title=" " alt="" coords="535,5,695,32"/>
<area shape="rect" id="node6" href="$d2/d3b/namespaceqr__algorithm.html#ad16da2183db22378435042f26af43d5f" title=" " alt="" coords="528,56,701,83"/>
<area shape="rect" id="node9" href="$d2/d3b/namespaceqr__algorithm.html#a5422c76bfa322620de611083bd518d71" title=" " alt="" coords="530,107,699,133"/>
<area shape="rect" id="node9" href="$d2/d3b/namespaceqr__algorithm.html#a6d3c7dce1f142141f509d09f6c0e25dc" title=" " alt="" coords="530,107,699,133"/>
<area shape="rect" id="node7" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/numeric/math/sqrt.html#" title=" " alt="" coords="797,56,867,83"/>
<area shape="rect" id="node8" href="$d2/d3b/namespaceqr__algorithm.html#a8ea313a1a1b5f9d0e3e332c29c6446ec" title=" " alt="" coords="749,107,915,133"/>
</map>

View File

@@ -1 +1 @@
20beb17cb7a7d5d39b4c44cf3614039e
07b42662cca12b8cc6de389e0a87f448

View File

@@ -1,7 +1,7 @@
<?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.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: test2 Pages: 1 -->
<!--zoomable 104 -->
@@ -67,7 +67,7 @@ var sectionId = 'dynsection-4';
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#a763896dbb4a7e95c4a1e614ac0819d66" target="_top" xlink:title=" ">
<g id="a_node2"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#a28e2fa3e803abaea6c568dc45d69d8cc" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="74,-52 74,-82 176,-82 176,-52 74,-52"/>
<text text-anchor="start" x="82" y="-70" font-family="Helvetica,sans-Serif" font-size="10.00">qr_algorithm::eigen</text>
<text text-anchor="middle" x="125" y="-59" font-family="Helvetica,sans-Serif" font-size="10.00">_values</text>
@@ -98,7 +98,7 @@ var sectionId = 'dynsection-4';
<!-- Node3 -->
<g id="node3" class="node">
<title>Node3</title>
<g id="a_node3"><a xlink:href="../../de/d75/qr__eigen__values_8cpp.html#a7558fd7779bf207157ced66f275951a0" target="_top" xlink:title=" ">
<g id="a_node3"><a xlink:href="../../de/d75/qr__eigen__values_8cpp.html#abb8bf4c55e10685a5eb2ad3797fde1ae" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="256.5,-76.5 256.5,-95.5 311.5,-95.5 311.5,-76.5 256.5,-76.5"/>
<text text-anchor="middle" x="284" y="-83.5" font-family="Helvetica,sans-Serif" font-size="10.00">mat_mul</text>
</a>
@@ -113,7 +113,7 @@ var sectionId = 'dynsection-4';
<!-- Node4 -->
<g id="node4" class="node">
<title>Node4</title>
<g id="a_node4"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#ab1ac74497ffb2101040cc1efe3546de8" target="_top" xlink:title=" ">
<g id="a_node4"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#a73ce637634fc49e1d10d190eb388ebf1" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="212,-38.5 212,-57.5 356,-57.5 356,-38.5 212,-38.5"/>
<text text-anchor="middle" x="284" y="-45.5" font-family="Helvetica,sans-Serif" font-size="10.00">qr_algorithm::qr_decompose</text>
</a>
@@ -128,7 +128,7 @@ var sectionId = 'dynsection-4';
<!-- Node5 -->
<g id="node5" class="node">
<title>Node5</title>
<g id="a_node5"><a xlink:href="../../d8/d77/namespacemachine__learning.html#a5305cc18d11943d3dc0d66e70d7e9c44" target="_top" xlink:title=" ">
<g id="a_node5"><a xlink:href="../../d8/d77/namespacemachine__learning.html#a6f1c98c016ad34ff3d9f39372161bd35" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="397,-76.5 397,-95.5 517,-95.5 517,-76.5 397,-76.5"/>
<text text-anchor="middle" x="457" y="-83.5" font-family="Helvetica,sans-Serif" font-size="10.00">machine_learning::sum</text>
</a>
@@ -158,7 +158,7 @@ var sectionId = 'dynsection-4';
<!-- Node9 -->
<g id="node9" class="node">
<title>Node9</title>
<g id="a_node9"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#a5422c76bfa322620de611083bd518d71" target="_top" xlink:title=" ">
<g id="a_node9"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#a6d3c7dce1f142141f509d09f6c0e25dc" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="393.5,-0.5 393.5,-19.5 520.5,-19.5 520.5,-0.5 393.5,-0.5"/>
<text text-anchor="middle" x="457" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">qr_algorithm::vector_proj</text>
</a>

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View File

@@ -1,7 +1,7 @@
<?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.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: test2 Pages: 1 -->
<svg width="690pt" height="104pt"
@@ -21,7 +21,7 @@
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#a763896dbb4a7e95c4a1e614ac0819d66" target="_top" xlink:title=" ">
<g id="a_node2"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#a28e2fa3e803abaea6c568dc45d69d8cc" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="74,-52 74,-82 176,-82 176,-52 74,-52"/>
<text text-anchor="start" x="82" y="-70" font-family="Helvetica,sans-Serif" font-size="10.00">qr_algorithm::eigen</text>
<text text-anchor="middle" x="125" y="-59" font-family="Helvetica,sans-Serif" font-size="10.00">_values</text>
@@ -52,7 +52,7 @@
<!-- Node3 -->
<g id="node3" class="node">
<title>Node3</title>
<g id="a_node3"><a xlink:href="../../de/d75/qr__eigen__values_8cpp.html#a7558fd7779bf207157ced66f275951a0" target="_top" xlink:title=" ">
<g id="a_node3"><a xlink:href="../../de/d75/qr__eigen__values_8cpp.html#abb8bf4c55e10685a5eb2ad3797fde1ae" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="256.5,-76.5 256.5,-95.5 311.5,-95.5 311.5,-76.5 256.5,-76.5"/>
<text text-anchor="middle" x="284" y="-83.5" font-family="Helvetica,sans-Serif" font-size="10.00">mat_mul</text>
</a>
@@ -67,7 +67,7 @@
<!-- Node4 -->
<g id="node4" class="node">
<title>Node4</title>
<g id="a_node4"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#ab1ac74497ffb2101040cc1efe3546de8" target="_top" xlink:title=" ">
<g id="a_node4"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#a73ce637634fc49e1d10d190eb388ebf1" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="212,-38.5 212,-57.5 356,-57.5 356,-38.5 212,-38.5"/>
<text text-anchor="middle" x="284" y="-45.5" font-family="Helvetica,sans-Serif" font-size="10.00">qr_algorithm::qr_decompose</text>
</a>
@@ -82,7 +82,7 @@
<!-- Node5 -->
<g id="node5" class="node">
<title>Node5</title>
<g id="a_node5"><a xlink:href="../../d8/d77/namespacemachine__learning.html#a5305cc18d11943d3dc0d66e70d7e9c44" target="_top" xlink:title=" ">
<g id="a_node5"><a xlink:href="../../d8/d77/namespacemachine__learning.html#a6f1c98c016ad34ff3d9f39372161bd35" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="397,-76.5 397,-95.5 517,-95.5 517,-76.5 397,-76.5"/>
<text text-anchor="middle" x="457" y="-83.5" font-family="Helvetica,sans-Serif" font-size="10.00">machine_learning::sum</text>
</a>
@@ -112,7 +112,7 @@
<!-- Node9 -->
<g id="node9" class="node">
<title>Node9</title>
<g id="a_node9"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#a5422c76bfa322620de611083bd518d71" target="_top" xlink:title=" ">
<g id="a_node9"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#a6d3c7dce1f142141f509d09f6c0e25dc" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="393.5,-0.5 393.5,-19.5 520.5,-19.5 520.5,-0.5 393.5,-0.5"/>
<text text-anchor="middle" x="457" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">qr_algorithm::vector_proj</text>
</a>

Before

Width:  |  Height:  |  Size: 7.9 KiB

After

Width:  |  Height:  |  Size: 7.9 KiB

View File

@@ -1,12 +1,12 @@
<map id="test1" name="test1">
<area shape="rect" id="node1" title=" " alt="" coords="5,60,56,87"/>
<area shape="rect" id="node2" href="$d2/d3b/namespaceqr__algorithm.html#a763896dbb4a7e95c4a1e614ac0819d66" title=" " alt="" coords="104,23,240,65"/>
<area shape="rect" id="node2" href="$d2/d3b/namespaceqr__algorithm.html#a28e2fa3e803abaea6c568dc45d69d8cc" title=" " alt="" coords="104,23,240,65"/>
<area shape="rect" id="node10" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/io/manip/endl.html#" title=" " alt="" coords="136,89,208,116"/>
<area shape="rect" id="node3" href="$de/d75/qr__eigen__values_8cpp.html#a7558fd7779bf207157ced66f275951a0" title=" " alt="" coords="347,5,421,32"/>
<area shape="rect" id="node4" href="$d2/d3b/namespaceqr__algorithm.html#ab1ac74497ffb2101040cc1efe3546de8" title=" " alt="" coords="288,56,480,83"/>
<area shape="rect" id="node5" href="$d8/d77/namespacemachine__learning.html#a5305cc18d11943d3dc0d66e70d7e9c44" title=" " alt="" coords="535,5,695,32"/>
<area shape="rect" id="node3" href="$de/d75/qr__eigen__values_8cpp.html#abb8bf4c55e10685a5eb2ad3797fde1ae" title=" " alt="" coords="347,5,421,32"/>
<area shape="rect" id="node4" href="$d2/d3b/namespaceqr__algorithm.html#a73ce637634fc49e1d10d190eb388ebf1" title=" " alt="" coords="288,56,480,83"/>
<area shape="rect" id="node5" href="$d8/d77/namespacemachine__learning.html#a6f1c98c016ad34ff3d9f39372161bd35" title=" " alt="" coords="535,5,695,32"/>
<area shape="rect" id="node6" href="$d2/d3b/namespaceqr__algorithm.html#ad16da2183db22378435042f26af43d5f" title=" " alt="" coords="528,56,701,83"/>
<area shape="rect" id="node9" href="$d2/d3b/namespaceqr__algorithm.html#a5422c76bfa322620de611083bd518d71" title=" " alt="" coords="530,107,699,133"/>
<area shape="rect" id="node9" href="$d2/d3b/namespaceqr__algorithm.html#a6d3c7dce1f142141f509d09f6c0e25dc" title=" " alt="" coords="530,107,699,133"/>
<area shape="rect" id="node7" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/numeric/math/sqrt.html#" title=" " alt="" coords="797,56,867,83"/>
<area shape="rect" id="node8" href="$d2/d3b/namespaceqr__algorithm.html#a8ea313a1a1b5f9d0e3e332c29c6446ec" title=" " alt="" coords="749,107,915,133"/>
</map>

View File

@@ -1 +1 @@
aeda2a648b9d027b7f05ea62924cc23b
90ff97f917ffaf005ea0b06644ee1216

View File

@@ -1,7 +1,7 @@
<?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.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: test1 Pages: 1 -->
<!--zoomable 104 -->
@@ -67,7 +67,7 @@ var sectionId = 'dynsection-3';
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#a763896dbb4a7e95c4a1e614ac0819d66" target="_top" xlink:title=" ">
<g id="a_node2"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#a28e2fa3e803abaea6c568dc45d69d8cc" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="74,-52 74,-82 176,-82 176,-52 74,-52"/>
<text text-anchor="start" x="82" y="-70" font-family="Helvetica,sans-Serif" font-size="10.00">qr_algorithm::eigen</text>
<text text-anchor="middle" x="125" y="-59" font-family="Helvetica,sans-Serif" font-size="10.00">_values</text>
@@ -98,7 +98,7 @@ var sectionId = 'dynsection-3';
<!-- Node3 -->
<g id="node3" class="node">
<title>Node3</title>
<g id="a_node3"><a xlink:href="../../de/d75/qr__eigen__values_8cpp.html#a7558fd7779bf207157ced66f275951a0" target="_top" xlink:title=" ">
<g id="a_node3"><a xlink:href="../../de/d75/qr__eigen__values_8cpp.html#abb8bf4c55e10685a5eb2ad3797fde1ae" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="256.5,-76.5 256.5,-95.5 311.5,-95.5 311.5,-76.5 256.5,-76.5"/>
<text text-anchor="middle" x="284" y="-83.5" font-family="Helvetica,sans-Serif" font-size="10.00">mat_mul</text>
</a>
@@ -113,7 +113,7 @@ var sectionId = 'dynsection-3';
<!-- Node4 -->
<g id="node4" class="node">
<title>Node4</title>
<g id="a_node4"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#ab1ac74497ffb2101040cc1efe3546de8" target="_top" xlink:title=" ">
<g id="a_node4"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#a73ce637634fc49e1d10d190eb388ebf1" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="212,-38.5 212,-57.5 356,-57.5 356,-38.5 212,-38.5"/>
<text text-anchor="middle" x="284" y="-45.5" font-family="Helvetica,sans-Serif" font-size="10.00">qr_algorithm::qr_decompose</text>
</a>
@@ -128,7 +128,7 @@ var sectionId = 'dynsection-3';
<!-- Node5 -->
<g id="node5" class="node">
<title>Node5</title>
<g id="a_node5"><a xlink:href="../../d8/d77/namespacemachine__learning.html#a5305cc18d11943d3dc0d66e70d7e9c44" target="_top" xlink:title=" ">
<g id="a_node5"><a xlink:href="../../d8/d77/namespacemachine__learning.html#a6f1c98c016ad34ff3d9f39372161bd35" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="397,-76.5 397,-95.5 517,-95.5 517,-76.5 397,-76.5"/>
<text text-anchor="middle" x="457" y="-83.5" font-family="Helvetica,sans-Serif" font-size="10.00">machine_learning::sum</text>
</a>
@@ -158,7 +158,7 @@ var sectionId = 'dynsection-3';
<!-- Node9 -->
<g id="node9" class="node">
<title>Node9</title>
<g id="a_node9"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#a5422c76bfa322620de611083bd518d71" target="_top" xlink:title=" ">
<g id="a_node9"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#a6d3c7dce1f142141f509d09f6c0e25dc" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="393.5,-0.5 393.5,-19.5 520.5,-19.5 520.5,-0.5 393.5,-0.5"/>
<text text-anchor="middle" x="457" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">qr_algorithm::vector_proj</text>
</a>

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View File

@@ -1,7 +1,7 @@
<?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.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: test1 Pages: 1 -->
<svg width="690pt" height="104pt"
@@ -21,7 +21,7 @@
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#a763896dbb4a7e95c4a1e614ac0819d66" target="_top" xlink:title=" ">
<g id="a_node2"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#a28e2fa3e803abaea6c568dc45d69d8cc" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="74,-52 74,-82 176,-82 176,-52 74,-52"/>
<text text-anchor="start" x="82" y="-70" font-family="Helvetica,sans-Serif" font-size="10.00">qr_algorithm::eigen</text>
<text text-anchor="middle" x="125" y="-59" font-family="Helvetica,sans-Serif" font-size="10.00">_values</text>
@@ -52,7 +52,7 @@
<!-- Node3 -->
<g id="node3" class="node">
<title>Node3</title>
<g id="a_node3"><a xlink:href="../../de/d75/qr__eigen__values_8cpp.html#a7558fd7779bf207157ced66f275951a0" target="_top" xlink:title=" ">
<g id="a_node3"><a xlink:href="../../de/d75/qr__eigen__values_8cpp.html#abb8bf4c55e10685a5eb2ad3797fde1ae" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="256.5,-76.5 256.5,-95.5 311.5,-95.5 311.5,-76.5 256.5,-76.5"/>
<text text-anchor="middle" x="284" y="-83.5" font-family="Helvetica,sans-Serif" font-size="10.00">mat_mul</text>
</a>
@@ -67,7 +67,7 @@
<!-- Node4 -->
<g id="node4" class="node">
<title>Node4</title>
<g id="a_node4"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#ab1ac74497ffb2101040cc1efe3546de8" target="_top" xlink:title=" ">
<g id="a_node4"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#a73ce637634fc49e1d10d190eb388ebf1" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="212,-38.5 212,-57.5 356,-57.5 356,-38.5 212,-38.5"/>
<text text-anchor="middle" x="284" y="-45.5" font-family="Helvetica,sans-Serif" font-size="10.00">qr_algorithm::qr_decompose</text>
</a>
@@ -82,7 +82,7 @@
<!-- Node5 -->
<g id="node5" class="node">
<title>Node5</title>
<g id="a_node5"><a xlink:href="../../d8/d77/namespacemachine__learning.html#a5305cc18d11943d3dc0d66e70d7e9c44" target="_top" xlink:title=" ">
<g id="a_node5"><a xlink:href="../../d8/d77/namespacemachine__learning.html#a6f1c98c016ad34ff3d9f39372161bd35" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="397,-76.5 397,-95.5 517,-95.5 517,-76.5 397,-76.5"/>
<text text-anchor="middle" x="457" y="-83.5" font-family="Helvetica,sans-Serif" font-size="10.00">machine_learning::sum</text>
</a>
@@ -112,7 +112,7 @@
<!-- Node9 -->
<g id="node9" class="node">
<title>Node9</title>
<g id="a_node9"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#a5422c76bfa322620de611083bd518d71" target="_top" xlink:title=" ">
<g id="a_node9"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#a6d3c7dce1f142141f509d09f6c0e25dc" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="393.5,-0.5 393.5,-19.5 520.5,-19.5 520.5,-0.5 393.5,-0.5"/>
<text text-anchor="middle" x="457" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">qr_algorithm::vector_proj</text>
</a>

Before

Width:  |  Height:  |  Size: 7.9 KiB

After

Width:  |  Height:  |  Size: 7.9 KiB

View File

@@ -1,17 +1,17 @@
<map id="main" name="main">
<area shape="rect" id="node1" title=" " alt="" coords="5,132,56,159"/>
<area shape="rect" id="node2" href="$de/d75/qr__eigen__values_8cpp.html#a33cb0a68c36aa26fd599c7c66da86ed7" title=" " alt="" coords="104,5,207,32"/>
<area shape="rect" id="node4" href="$d2/d3b/namespaceqr__algorithm.html#a763896dbb4a7e95c4a1e614ac0819d66" title=" " alt="" coords="255,91,391,133"/>
<area shape="rect" id="node2" href="$de/d75/qr__eigen__values_8cpp.html#a9bbf469d5525a816b0d6ca812119093d" title=" " alt="" coords="104,5,207,32"/>
<area shape="rect" id="node4" href="$d2/d3b/namespaceqr__algorithm.html#a28e2fa3e803abaea6c568dc45d69d8cc" title=" " alt="" coords="255,91,391,133"/>
<area shape="rect" id="node12" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/numeric/random/srand.html#" title=" " alt="" coords="115,208,195,235"/>
<area shape="rect" id="node13" href="$de/d75/qr__eigen__values_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0" title=" " alt="" coords="130,107,181,133"/>
<area shape="rect" id="node15" href="$de/d75/qr__eigen__values_8cpp.html#a0283886819c7c140a023582b7269e2d0" title=" " alt="" coords="130,157,181,184"/>
<area shape="rect" id="node16" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/chrono/c/time.html#" title=" " alt="" coords="119,259,191,285"/>
<area shape="rect" id="node3" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/numeric/random/rand.html#" title=" " alt="" coords="286,5,359,32"/>
<area shape="rect" id="node5" href="$de/d75/qr__eigen__values_8cpp.html#a7558fd7779bf207157ced66f275951a0" title=" " alt="" coords="498,73,571,100"/>
<area shape="rect" id="node6" href="$d2/d3b/namespaceqr__algorithm.html#ab1ac74497ffb2101040cc1efe3546de8" title=" " alt="" coords="439,124,631,151"/>
<area shape="rect" id="node7" href="$d8/d77/namespacemachine__learning.html#a5305cc18d11943d3dc0d66e70d7e9c44" title=" " alt="" coords="685,73,845,100"/>
<area shape="rect" id="node5" href="$de/d75/qr__eigen__values_8cpp.html#abb8bf4c55e10685a5eb2ad3797fde1ae" title=" " alt="" coords="498,73,571,100"/>
<area shape="rect" id="node6" href="$d2/d3b/namespaceqr__algorithm.html#a73ce637634fc49e1d10d190eb388ebf1" title=" " alt="" coords="439,124,631,151"/>
<area shape="rect" id="node7" href="$d8/d77/namespacemachine__learning.html#a6f1c98c016ad34ff3d9f39372161bd35" title=" " alt="" coords="685,73,845,100"/>
<area shape="rect" id="node8" href="$d2/d3b/namespaceqr__algorithm.html#ad16da2183db22378435042f26af43d5f" title=" " alt="" coords="679,124,852,151"/>
<area shape="rect" id="node11" href="$d2/d3b/namespaceqr__algorithm.html#a5422c76bfa322620de611083bd518d71" title=" " alt="" coords="681,175,850,201"/>
<area shape="rect" id="node11" href="$d2/d3b/namespaceqr__algorithm.html#a6d3c7dce1f142141f509d09f6c0e25dc" title=" " alt="" coords="681,175,850,201"/>
<area shape="rect" id="node9" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/numeric/math/sqrt.html#" title=" " alt="" coords="948,124,1017,151"/>
<area shape="rect" id="node10" href="$d2/d3b/namespaceqr__algorithm.html#a8ea313a1a1b5f9d0e3e332c29c6446ec" title=" " alt="" coords="900,175,1065,201"/>
<area shape="rect" id="node14" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/io/manip/endl.html#" title=" " alt="" coords="287,157,359,184"/>

View File

@@ -1 +1 @@
8b37f37c64ef634d3ae5db6cc0ca87e1
d2b3e777c146fc05293f3da43e3376a7

View File

@@ -1,7 +1,7 @@
<?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.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: main Pages: 1 -->
<!--zoomable 218 -->
@@ -67,7 +67,7 @@ var sectionId = 'dynsection-2';
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a xlink:href="../../de/d75/qr__eigen__values_8cpp.html#a33cb0a68c36aa26fd599c7c66da86ed7" target="_top" xlink:title=" ">
<g id="a_node2"><a xlink:href="../../de/d75/qr__eigen__values_8cpp.html#a9bbf469d5525a816b0d6ca812119093d" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="74,-190.5 74,-209.5 151,-209.5 151,-190.5 74,-190.5"/>
<text text-anchor="middle" x="112.5" y="-197.5" font-family="Helvetica,sans-Serif" font-size="10.00">create_matrix</text>
</a>
@@ -82,7 +82,7 @@ var sectionId = 'dynsection-2';
<!-- Node4 -->
<g id="node4" class="node">
<title>Node4</title>
<g id="a_node4"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#a763896dbb4a7e95c4a1e614ac0819d66" target="_top" xlink:title=" ">
<g id="a_node4"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#a28e2fa3e803abaea6c568dc45d69d8cc" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="187,-115 187,-145 289,-145 289,-115 187,-115"/>
<text text-anchor="start" x="195" y="-133" font-family="Helvetica,sans-Serif" font-size="10.00">qr_algorithm::eigen</text>
<text text-anchor="middle" x="238" y="-122" font-family="Helvetica,sans-Serif" font-size="10.00">_values</text>
@@ -173,7 +173,7 @@ var sectionId = 'dynsection-2';
<!-- Node5 -->
<g id="node5" class="node">
<title>Node5</title>
<g id="a_node5"><a xlink:href="../../de/d75/qr__eigen__values_8cpp.html#a7558fd7779bf207157ced66f275951a0" target="_top" xlink:title=" ">
<g id="a_node5"><a xlink:href="../../de/d75/qr__eigen__values_8cpp.html#abb8bf4c55e10685a5eb2ad3797fde1ae" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="369.5,-139.5 369.5,-158.5 424.5,-158.5 424.5,-139.5 369.5,-139.5"/>
<text text-anchor="middle" x="397" y="-146.5" font-family="Helvetica,sans-Serif" font-size="10.00">mat_mul</text>
</a>
@@ -188,7 +188,7 @@ var sectionId = 'dynsection-2';
<!-- Node6 -->
<g id="node6" class="node">
<title>Node6</title>
<g id="a_node6"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#ab1ac74497ffb2101040cc1efe3546de8" target="_top" xlink:title=" ">
<g id="a_node6"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#a73ce637634fc49e1d10d190eb388ebf1" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="325,-101.5 325,-120.5 469,-120.5 469,-101.5 325,-101.5"/>
<text text-anchor="middle" x="397" y="-108.5" font-family="Helvetica,sans-Serif" font-size="10.00">qr_algorithm::qr_decompose</text>
</a>
@@ -203,7 +203,7 @@ var sectionId = 'dynsection-2';
<!-- Node7 -->
<g id="node7" class="node">
<title>Node7</title>
<g id="a_node7"><a xlink:href="../../d8/d77/namespacemachine__learning.html#a5305cc18d11943d3dc0d66e70d7e9c44" target="_top" xlink:title=" ">
<g id="a_node7"><a xlink:href="../../d8/d77/namespacemachine__learning.html#a6f1c98c016ad34ff3d9f39372161bd35" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="510,-139.5 510,-158.5 630,-158.5 630,-139.5 510,-139.5"/>
<text text-anchor="middle" x="570" y="-146.5" font-family="Helvetica,sans-Serif" font-size="10.00">machine_learning::sum</text>
</a>
@@ -233,7 +233,7 @@ var sectionId = 'dynsection-2';
<!-- Node11 -->
<g id="node11" class="node">
<title>Node11</title>
<g id="a_node11"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#a5422c76bfa322620de611083bd518d71" target="_top" xlink:title=" ">
<g id="a_node11"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#a6d3c7dce1f142141f509d09f6c0e25dc" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="506.5,-63.5 506.5,-82.5 633.5,-82.5 633.5,-63.5 506.5,-63.5"/>
<text text-anchor="middle" x="570" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">qr_algorithm::vector_proj</text>
</a>

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

@@ -1,7 +1,7 @@
<?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.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: main Pages: 1 -->
<svg width="803pt" height="218pt"
@@ -21,7 +21,7 @@
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a xlink:href="../../de/d75/qr__eigen__values_8cpp.html#a33cb0a68c36aa26fd599c7c66da86ed7" target="_top" xlink:title=" ">
<g id="a_node2"><a xlink:href="../../de/d75/qr__eigen__values_8cpp.html#a9bbf469d5525a816b0d6ca812119093d" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="74,-190.5 74,-209.5 151,-209.5 151,-190.5 74,-190.5"/>
<text text-anchor="middle" x="112.5" y="-197.5" font-family="Helvetica,sans-Serif" font-size="10.00">create_matrix</text>
</a>
@@ -36,7 +36,7 @@
<!-- Node4 -->
<g id="node4" class="node">
<title>Node4</title>
<g id="a_node4"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#a763896dbb4a7e95c4a1e614ac0819d66" target="_top" xlink:title=" ">
<g id="a_node4"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#a28e2fa3e803abaea6c568dc45d69d8cc" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="187,-115 187,-145 289,-145 289,-115 187,-115"/>
<text text-anchor="start" x="195" y="-133" font-family="Helvetica,sans-Serif" font-size="10.00">qr_algorithm::eigen</text>
<text text-anchor="middle" x="238" y="-122" font-family="Helvetica,sans-Serif" font-size="10.00">_values</text>
@@ -127,7 +127,7 @@
<!-- Node5 -->
<g id="node5" class="node">
<title>Node5</title>
<g id="a_node5"><a xlink:href="../../de/d75/qr__eigen__values_8cpp.html#a7558fd7779bf207157ced66f275951a0" target="_top" xlink:title=" ">
<g id="a_node5"><a xlink:href="../../de/d75/qr__eigen__values_8cpp.html#abb8bf4c55e10685a5eb2ad3797fde1ae" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="369.5,-139.5 369.5,-158.5 424.5,-158.5 424.5,-139.5 369.5,-139.5"/>
<text text-anchor="middle" x="397" y="-146.5" font-family="Helvetica,sans-Serif" font-size="10.00">mat_mul</text>
</a>
@@ -142,7 +142,7 @@
<!-- Node6 -->
<g id="node6" class="node">
<title>Node6</title>
<g id="a_node6"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#ab1ac74497ffb2101040cc1efe3546de8" target="_top" xlink:title=" ">
<g id="a_node6"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#a73ce637634fc49e1d10d190eb388ebf1" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="325,-101.5 325,-120.5 469,-120.5 469,-101.5 325,-101.5"/>
<text text-anchor="middle" x="397" y="-108.5" font-family="Helvetica,sans-Serif" font-size="10.00">qr_algorithm::qr_decompose</text>
</a>
@@ -157,7 +157,7 @@
<!-- Node7 -->
<g id="node7" class="node">
<title>Node7</title>
<g id="a_node7"><a xlink:href="../../d8/d77/namespacemachine__learning.html#a5305cc18d11943d3dc0d66e70d7e9c44" target="_top" xlink:title=" ">
<g id="a_node7"><a xlink:href="../../d8/d77/namespacemachine__learning.html#a6f1c98c016ad34ff3d9f39372161bd35" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="510,-139.5 510,-158.5 630,-158.5 630,-139.5 510,-139.5"/>
<text text-anchor="middle" x="570" y="-146.5" font-family="Helvetica,sans-Serif" font-size="10.00">machine_learning::sum</text>
</a>
@@ -187,7 +187,7 @@
<!-- Node11 -->
<g id="node11" class="node">
<title>Node11</title>
<g id="a_node11"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#a5422c76bfa322620de611083bd518d71" target="_top" xlink:title=" ">
<g id="a_node11"><a xlink:href="../../d2/d3b/namespaceqr__algorithm.html#a6d3c7dce1f142141f509d09f6c0e25dc" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="506.5,-63.5 506.5,-82.5 633.5,-82.5 633.5,-63.5 506.5,-63.5"/>
<text text-anchor="middle" x="570" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">qr_algorithm::vector_proj</text>
</a>

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

View File

@@ -1,7 +1,7 @@
<?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.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: create_matrix Pages: 1 -->
<svg width="176pt" height="28pt"

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@@ -1,7 +1,7 @@
<?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.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: std::is_arithmetic&lt; uint256_t &gt; Pages: 1 -->
<svg width="100pt" height="95pt"

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@@ -2,8 +2,8 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Algorithms_in_C++: sorting/merge_insertion_sort.cpp File Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
@@ -17,9 +17,9 @@
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
@@ -32,8 +32,7 @@
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Algorithms_in_C++
&#160;<span id="projectnumber">1.0.0</span>
<div id="projectname">Algorithms_in_C++<span id="projectnumber">&#160;1.0.0</span>
</div>
<div id="projectbrief">Set of algorithms implemented in C++.</div>
</td>
@@ -42,21 +41,22 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<!-- Generated by Doxygen 1.9.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "../../search",false,'Search','.html');
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -70,7 +70,7 @@ $(function() {
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('de/d7b/merge__insertion__sort_8cpp.html','../../'); initResizable(); });
/* @license-end */
</script>
@@ -93,12 +93,11 @@ $(document).ready(function(){initNavTree('de/d7b/merge__insertion__sort_8cpp.htm
<div class="summary">
<a href="#namespaces">Namespaces</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">merge_insertion_sort.cpp File Reference</div> </div>
<div class="headertitle"><div class="title">merge_insertion_sort.cpp File Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Algorithm that combines insertion sort and merge sort. <a href="https://en.wikipedia.org/wiki/Merge-insertion_sort">Wiki link</a>
<p>Algorithm that combines insertion sort and merge sort. <a href="https://en.wikipedia.org/wiki/Merge-insertion_sort" target="_blank">Wiki link</a>
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;algorithm&gt;</code><br />
<code>#include &lt;array&gt;</code><br />
@@ -113,16 +112,16 @@ Include dependency graph for merge_insertion_sort.cpp:</div>
</div>
</div>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="namespaces" name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:d5/d91/namespacesorting"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d91/namespacesorting.html">sorting</a></td></tr>
<tr class="memitem:d5/d91/namespacesorting"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d91/namespacesorting.html">sorting</a></td></tr>
<tr class="memdesc:d5/d91/namespacesorting"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sorting algorithms. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:de/d0a/namespacemerge__insertion"><td class="memItemLeft" align="right" valign="top"> &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d0a/namespacemerge__insertion.html">merge_insertion</a></td></tr>
<tr class="memitem:de/d0a/namespacemerge__insertion"><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d0a/namespacemerge__insertion.html">merge_insertion</a></td></tr>
<tr class="memdesc:de/d0a/namespacemerge__insertion"><td class="mdescLeft">&#160;</td><td class="mdescRight">Combined Intersion-Merge sorting algorithm. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a0cba4fbf287ab8cb978ed7f8fef886b1"><td class="memTemplParams" colspan="2">template&lt;typename T , size_t N&gt; </td></tr>
<tr class="memitem:a0cba4fbf287ab8cb978ed7f8fef886b1"><td class="memTemplItemLeft" align="right" valign="top">static void&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../de/d7b/merge__insertion__sort_8cpp.html#a0cba4fbf287ab8cb978ed7f8fef886b1">sorting::merge_insertion::InsertionSort</a> (<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a>&lt; T, N &gt; *A, size_t start, size_t end)</td></tr>
@@ -144,13 +143,13 @@ Functions</h2></td></tr>
<tr class="separator:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Algorithm that combines insertion sort and merge sort. <a href="https://en.wikipedia.org/wiki/Merge-insertion_sort">Wiki link</a> </p>
<dl class="section author"><dt>Author</dt><dd><a href="https://github.com/sinkyoungdeok">@sinkyoungdeok</a> </dd>
<div class="textblock"><p >Algorithm that combines insertion sort and merge sort. <a href="https://en.wikipedia.org/wiki/Merge-insertion_sort" target="_blank">Wiki link</a> </p>
<dl class="section author"><dt>Author</dt><dd><a href="https://github.com/sinkyoungdeok" target="_blank">@sinkyoungdeok</a> </dd>
<dd>
<a href="https://github.com/kvedala">Krishna Vedala</a></dd></dl>
<a href="https://github.com/kvedala" target="_blank">Krishna Vedala</a></dd></dl>
<dl class="section see"><dt>See also</dt><dd>Individual algorithms: <a class="el" href="../../dd/d0d/insertion__sort_8cpp.html" title="Insertion Sort Algorithm (Insertion Sort)">insertion_sort.cpp</a> and <a class="el" href="../../d5/df4/merge__sort_8cpp.html" title="Merege Sort Algorithm (MEREGE SORT) implementation">merge_sort.cpp</a> </dd></dl>
</div><h2 class="groupheader">Function Documentation</h2>
<a id="a0cba4fbf287ab8cb978ed7f8fef886b1"></a>
<a id="a0cba4fbf287ab8cb978ed7f8fef886b1" name="a0cba4fbf287ab8cb978ed7f8fef886b1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0cba4fbf287ab8cb978ed7f8fef886b1">&#9670;&nbsp;</a></span>InsertionSort()</h2>
<div class="memitem">
@@ -209,24 +208,24 @@ template&lt;typename T , size_t N&gt; </div>
</table>
</dd>
</dl>
<div class="fragment"><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; {</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <span class="keywordtype">size_t</span> i = 0, j = 0;</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; T *ptr = A-&gt;<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array/data.html">data</a>();</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; </div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <span class="keywordflow">for</span> (i = start; i &lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/iterator/end.html">end</a>; i++) {</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; T temp = ptr[i];</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; j = i;</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <span class="keywordflow">while</span> (j &gt; start &amp;&amp; temp &lt; ptr[j - 1]) {</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; ptr[j] = ptr[j - 1];</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; j--;</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; }</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="comment">// for (j = i; j &gt; start &amp;&amp; temp &lt; ptr[j - 1]; --j) {</span></div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="comment">// ptr[j] = ptr[j - 1];</span></div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="comment">// }</span></div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; </div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; ptr[j] = temp;</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; }</div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160;}</div>
<div class="fragment"><div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> {</div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> <span class="keywordtype">size_t</span> i = 0, j = 0;</div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> T *ptr = A-&gt;<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array/data.html">data</a>();</div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> </div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> <span class="keywordflow">for</span> (i = start; i &lt; <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/iterator/end.html">end</a>; i++) {</div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> T temp = ptr[i];</div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> j = i;</div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> <span class="keywordflow">while</span> (j &gt; start &amp;&amp; temp &lt; ptr[j - 1]) {</div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> ptr[j] = ptr[j - 1];</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> j--;</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> }</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> <span class="comment">// for (j = i; j &gt; start &amp;&amp; temp &lt; ptr[j - 1]; --j) {</span></div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> <span class="comment">// ptr[j] = ptr[j - 1];</span></div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> <span class="comment">// }</span></div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> </div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> ptr[j] = temp;</div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> }</div>
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span>}</div>
<div class="ttc" id="adata_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/array/data.html">std::array::data</a></div><div class="ttdeci">T data(T... args)</div></div>
<div class="ttc" id="aend_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/iterator/end.html">std::end</a></div><div class="ttdeci">T end(T... args)</div></div>
</div><!-- fragment --><div class="dynheader">
@@ -238,7 +237,7 @@ Here is the call graph for this function:</div>
</div>
</div>
<a id="ae66f6b31b5ad750f1fe042a706a4e3d4"></a>
<a id="ae66f6b31b5ad750f1fe042a706a4e3d4" name="ae66f6b31b5ad750f1fe042a706a4e3d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae66f6b31b5ad750f1fe042a706a4e3d4">&#9670;&nbsp;</a></span>main()</h2>
<div class="memitem">
@@ -256,11 +255,11 @@ Here is the call graph for this function:</div>
<p>Main function. </p>
<dl class="section return"><dt>Returns</dt><dd>0 on exit </dd></dl>
<div class="fragment"><div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; {</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/random/srand.html">std::srand</a>(<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/chrono/c/time.html">std::time</a>(<span class="keyword">nullptr</span>));</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <a class="code" href="../../de/d7b/merge__insertion__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">test</a>();</div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160; <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;}</div>
<div class="fragment"><div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> {</div>
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/random/srand.html">std::srand</a>(<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/chrono/c/time.html">std::time</a>(<span class="keyword">nullptr</span>));</div>
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> <a class="code hl_function" href="../../de/d7b/merge__insertion__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">test</a>();</div>
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span>}</div>
<div class="ttc" id="amerge__insertion__sort_8cpp_html_aa8dca7b867074164d5f45b0f3851269d"><div class="ttname"><a href="../../de/d7b/merge__insertion__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">test</a></div><div class="ttdeci">static void test()</div><div class="ttdoc">Function to test code using random arrays.</div><div class="ttdef"><b>Definition:</b> merge_insertion_sort.cpp:132</div></div>
<div class="ttc" id="asrand_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/numeric/random/srand.html">std::srand</a></div><div class="ttdeci">T srand(T... args)</div></div>
<div class="ttc" id="atime_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/chrono/c/time.html">std::time</a></div><div class="ttdeci">T time(T... args)</div></div>
@@ -273,7 +272,7 @@ Here is the call graph for this function:</div>
</div>
</div>
<a id="af4de4067a9a866ffd985c5b5055ccedf"></a>
<a id="af4de4067a9a866ffd985c5b5055ccedf" name="af4de4067a9a866ffd985c5b5055ccedf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af4de4067a9a866ffd985c5b5055ccedf">&#9670;&nbsp;</a></span>merge()</h2>
<div class="memitem">
@@ -338,31 +337,31 @@ template&lt;typename T , size_t N&gt; </div>
</table>
</dd>
</dl>
<div class="fragment"><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; {</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="keywordtype">size_t</span> firstIndex = <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/min.html">min</a>;</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keywordtype">size_t</span> secondIndex = mid + 1;</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; </div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keyword">auto</span> ptr = array-&gt;<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array/data.html">data</a>();</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/container/array.html">std::array&lt;T, N + 1&gt;</a> tempArray{0};</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; </div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="comment">// While there are elements in the left or right runs</span></div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> index = min; index &lt;= <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/max.html">max</a>; index++) {</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="comment">// If left run head exists and is &lt;= existing right run head.</span></div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keywordflow">if</span> (firstIndex &lt;= mid &amp;&amp;</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; (secondIndex &gt; max || ptr[firstIndex] &lt;= ptr[secondIndex])) {</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; tempArray[index] = ptr[firstIndex];</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; firstIndex++;</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; tempArray[index] = ptr[secondIndex];</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; secondIndex++;</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; }</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; }</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; </div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; <span class="comment">// transfer to the initial array</span></div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/byte/memcpy.html">memcpy</a>(ptr + min, tempArray.data() + min, (max - min) * <span class="keyword">sizeof</span>(T));</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160; <span class="comment">// for (int index = min; index &lt;= max; index++) ptr[index] =</span></div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; <span class="comment">// tempArray[index];</span></div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;}</div>
<div class="fragment"><div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> {</div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> <span class="keywordtype">size_t</span> firstIndex = <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/min.html">min</a>;</div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> <span class="keywordtype">size_t</span> secondIndex = mid + 1;</div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> </div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> <span class="keyword">auto</span> ptr = array-&gt;<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array/data.html">data</a>();</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array&lt;T, N + 1&gt;</a> tempArray{0};</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> </div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> <span class="comment">// While there are elements in the left or right runs</span></div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> index = min; index &lt;= <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/max.html">max</a>; index++) {</div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> <span class="comment">// If left run head exists and is &lt;= existing right run head.</span></div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> <span class="keywordflow">if</span> (firstIndex &lt;= mid &amp;&amp;</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> (secondIndex &gt; max || ptr[firstIndex] &lt;= ptr[secondIndex])) {</div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> tempArray[index] = ptr[firstIndex];</div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> firstIndex++;</div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> tempArray[index] = ptr[secondIndex];</div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> secondIndex++;</div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> }</div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> }</div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> </div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> <span class="comment">// transfer to the initial array</span></div>
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/byte/memcpy.html">memcpy</a>(ptr + min, tempArray.data() + min, (max - min) * <span class="keyword">sizeof</span>(T));</div>
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> <span class="comment">// for (int index = min; index &lt;= max; index++) ptr[index] =</span></div>
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> <span class="comment">// tempArray[index];</span></div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span>}</div>
<div class="ttc" id="aarray_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a></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="amemcpy_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/string/byte/memcpy.html">std::memcpy</a></div><div class="ttdeci">T memcpy(T... args)</div></div>
@@ -376,7 +375,7 @@ Here is the call graph for this function:</div>
</div>
</div>
<a id="a7161278f18e83b671c6454b139cc5674"></a>
<a id="a7161278f18e83b671c6454b139cc5674" name="a7161278f18e83b671c6454b139cc5674"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7161278f18e83b671c6454b139cc5674">&#9670;&nbsp;</a></span>mergeSort()</h2>
<div class="memitem">
@@ -433,35 +432,35 @@ template&lt;typename T , size_t N&gt; </div>
</table>
</dd>
</dl>
<div class="fragment"><div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; {</div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="comment">// prerequisite</span></div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160; <span class="keywordflow">if</span> ((max - min) &lt;= threshold) {</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <a class="code" href="../../de/d7b/merge__insertion__sort_8cpp.html#a0cba4fbf287ab8cb978ed7f8fef886b1">InsertionSort</a>(array, min, max);</div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; <span class="comment">// get the middle point</span></div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160; <span class="keywordtype">size_t</span> mid = (<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/max.html">max</a> + <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/min.html">min</a>) &gt;&gt; 1;</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; </div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <span class="comment">// apply merge sort to both parts of this</span></div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <a class="code" href="../../d5/d4c/group__sorting.html#gab6b14fea48d9841e29b9fc26be6e05d7">mergeSort</a>(array, min, mid, threshold);</div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <a class="code" href="../../d5/d4c/group__sorting.html#gab6b14fea48d9841e29b9fc26be6e05d7">mergeSort</a>(array, mid, max, threshold);</div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; </div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160; <span class="comment">// and finally merge all that sorted stuff</span></div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <a class="code" href="../../d5/d4c/group__sorting.html#ga460c61cd948203b4816bef2accb3fc73">merge</a>(array, min, max, mid);</div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; }</div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160;}</div>
<div class="fragment"><div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> {</div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> <span class="comment">// prerequisite</span></div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> <span class="keywordflow">if</span> ((max - min) &lt;= threshold) {</div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> <a class="code hl_function" href="../../de/d7b/merge__insertion__sort_8cpp.html#a0cba4fbf287ab8cb978ed7f8fef886b1">InsertionSort</a>(array, min, max);</div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> } <span class="keywordflow">else</span> {</div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span> <span class="comment">// get the middle point</span></div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> <span class="keywordtype">size_t</span> mid = (<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/max.html">max</a> + <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/min.html">min</a>) &gt;&gt; 1;</div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> </div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> <span class="comment">// apply merge sort to both parts of this</span></div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> <a class="code hl_function" href="../../d5/d4c/group__sorting.html#gab6b14fea48d9841e29b9fc26be6e05d7">mergeSort</a>(array, min, mid, threshold);</div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> <a class="code hl_function" href="../../d5/d4c/group__sorting.html#gab6b14fea48d9841e29b9fc26be6e05d7">mergeSort</a>(array, mid, max, threshold);</div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> </div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> <span class="comment">// and finally merge all that sorted stuff</span></div>
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> <a class="code hl_function" href="../../d5/d4c/group__sorting.html#ga460c61cd948203b4816bef2accb3fc73">merge</a>(array, min, max, mid);</div>
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> }</div>
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span>}</div>
<div class="ttc" id="agroup__sorting_html_ga460c61cd948203b4816bef2accb3fc73"><div class="ttname"><a href="../../d5/d4c/group__sorting.html#ga460c61cd948203b4816bef2accb3fc73">merge</a></div><div class="ttdeci">void merge(int *arr, int l, int m, int r)</div><div class="ttdef"><b>Definition:</b> merge_sort.cpp:33</div></div>
<div class="ttc" id="agroup__sorting_html_gab6b14fea48d9841e29b9fc26be6e05d7"><div class="ttname"><a href="../../d5/d4c/group__sorting.html#gab6b14fea48d9841e29b9fc26be6e05d7">mergeSort</a></div><div class="ttdeci">void mergeSort(int *arr, int l, int r)</div><div class="ttdef"><b>Definition:</b> merge_sort.cpp:71</div></div>
<div class="ttc" id="amerge__insertion__sort_8cpp_html_a0cba4fbf287ab8cb978ed7f8fef886b1"><div class="ttname"><a href="../../de/d7b/merge__insertion__sort_8cpp.html#a0cba4fbf287ab8cb978ed7f8fef886b1">sorting::merge_insertion::InsertionSort</a></div><div class="ttdeci">static void InsertionSort(std::array&lt; T, N &gt; *A, size_t start, size_t end)</div><div class="ttdoc">Insertion merge algorithm.</div><div class="ttdef"><b>Definition:</b> merge_insertion_sort.cpp:37</div></div>
</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="../../de/d7b/merge__insertion__sort_8cpp_a7161278f18e83b671c6454b139cc5674_cgraph.svg" width="548" height="179"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
<div class="center"><iframe scrolling="no" frameborder="0" src="../../de/d7b/merge__insertion__sort_8cpp_a7161278f18e83b671c6454b139cc5674_cgraph.svg" width="548" height="203"><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="aa8dca7b867074164d5f45b0f3851269d"></a>
<a id="aa8dca7b867074164d5f45b0f3851269d" name="aa8dca7b867074164d5f45b0f3851269d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa8dca7b867074164d5f45b0f3851269d">&#9670;&nbsp;</a></span>test()</h2>
<div class="memitem">
@@ -486,28 +485,28 @@ Here is the call graph for this function:</div>
<p>Function to test code using random arrays. </p>
<dl class="section return"><dt>Returns</dt><dd>none </dd></dl>
<div class="fragment"><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160; {</div>
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160; constexpr <span class="keywordtype">size_t</span> size = 30;</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array&lt;int, size&gt;</a> array{0};</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="comment">// input</span></div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; size; i++) {</div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; array[i] = <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/random/rand.html">std::rand</a>() % 100 - 50;</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; array[i] &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160; }</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &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="l00141"></a><span class="lineno"> 141</span>&#160; </div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160; <a class="code" href="../../de/d7b/merge__insertion__sort_8cpp.html#a0cba4fbf287ab8cb978ed7f8fef886b1">sorting::merge_insertion::InsertionSort</a>(&amp;array, 0, size);</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <span class="comment">// sorting::merge_insertion::mergeSort(&amp;array, 0, size, 10);</span></div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; </div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; <span class="comment">// output</span></div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; size; ++i) {</div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; array[i] &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;</div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; }</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &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="l00150"></a><span class="lineno"> 150</span>&#160; </div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; assert(<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/is_sorted.html">std::is_sorted</a>(<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/iterator/begin.html">std::begin</a>(array), <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/iterator/end.html">std::end</a>(array)));</div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</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;Test passed\n&quot;</span>;</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;}</div>
<div class="fragment"><div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> {</div>
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> <span class="keyword">constexpr</span> <span class="keywordtype">size_t</span> size = 30;</div>
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array&lt;int, size&gt;</a> array{0};</div>
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> <span class="comment">// input</span></div>
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; size; i++) {</div>
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> array[i] = <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/random/rand.html">std::rand</a>() % 100 - 50;</div>
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; array[i] &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;</div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> }</div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> </div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> <a class="code hl_function" href="../../de/d7b/merge__insertion__sort_8cpp.html#a0cba4fbf287ab8cb978ed7f8fef886b1">sorting::merge_insertion::InsertionSort</a>(&amp;array, 0, size);</div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> <span class="comment">// sorting::merge_insertion::mergeSort(&amp;array, 0, size, 10);</span></div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> </div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> <span class="comment">// output</span></div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i &lt; size; ++i) {</div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; array[i] &lt;&lt; <span class="stringliteral">&quot; &quot;</span>;</div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> }</div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> </div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> assert(<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/is_sorted.html">std::is_sorted</a>(<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/iterator/begin.html">std::begin</a>(array), <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/iterator/end.html">std::end</a>(array)));</div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Test passed\n&quot;</span>;</div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span>}</div>
<div class="ttc" id="abasic_ostream_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a></div></div>
<div class="ttc" id="abegin_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/iterator/begin.html">std::begin</a></div><div class="ttdeci">T begin(T... args)</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>
@@ -522,7 +521,7 @@ Here is the call graph for this function:</div>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_bb1b521853a9c46347182a9d10420771.html">sorting</a></li><li class="navelem"><a class="el" href="../../de/d7b/merge__insertion__sort_8cpp.html">merge_insertion_sort.cpp</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.2 </li>
</ul>
</div>
</body>

View File

@@ -1,7 +1,7 @@
<?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.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: sorting::merge_insertion::InsertionSort Pages: 1 -->
<svg width="251pt" height="57pt"

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@@ -2,8 +2,8 @@
<area shape="rect" id="node1" title="Final combined algorithm. Algorithm utilizes ::sorting::merge_insertion::InsertionSort if window leng..." alt="" coords="5,88,171,129"/>
<area shape="rect" id="node2" href="$de/d7b/merge__insertion__sort_8cpp.html#a0cba4fbf287ab8cb978ed7f8fef886b1" title="Insertion merge algorithm." alt="" coords="219,29,384,71"/>
<area shape="rect" id="node4" href="$d5/d91/namespacesorting.html#aa26de383227859210f14dcf12201a079" title="merges 2 sorted adjacent segments into a larger sorted segment" alt="" coords="248,95,355,122"/>
<area shape="rect" id="node6" href="$d5/d4c/group__sorting.html#gab6b14fea48d9841e29b9fc26be6e05d7" title=" " alt="" coords="259,146,343,173"/>
<area shape="rect" id="node6" href="$d5/d4c/group__sorting.html#gab6b14fea48d9841e29b9fc26be6e05d7" title=" " alt="" coords="259,170,343,197"/>
<area shape="rect" id="node3" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/array/data.html#" title=" " alt="" coords="432,37,543,63"/>
<area shape="rect" id="node5" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/utility/move.html#" title=" " alt="" coords="447,95,527,122"/>
<area shape="rect" id="node7" href="$d5/d4c/group__sorting.html#ga460c61cd948203b4816bef2accb3fc73" title=" " alt="" coords="457,146,517,173"/>
<area shape="rect" id="node7" href="$d5/d4c/group__sorting.html#ga460c61cd948203b4816bef2accb3fc73" title=" " alt="" coords="457,170,517,197"/>
</map>

View File

@@ -1 +1 @@
27f3fed4a37732ab56a0fe330b9145d8
2f5cbb1a714c44d2e3b94234bed95d65

View File

@@ -1,21 +1,21 @@
<?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.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: sorting::merge_insertion::mergeSort Pages: 1 -->
<svg width="411pt" height="134pt"
viewBox="0.00 0.00 411.00 133.50" 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 129.5)">
<svg width="411pt" height="152pt"
viewBox="0.00 0.00 411.00 151.50" 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 147.5)">
<title>sorting::merge_insertion::mergeSort</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-129.5 407,-129.5 407,4 -4,4"/>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-147.5 407,-147.5 407,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="Final combined algorithm. Algorithm utilizes ::sorting::merge_insertion::InsertionSort if window leng...">
<polygon fill="#bfbfbf" stroke="black" points="0,-33 0,-63 124,-63 124,-33 0,-33"/>
<text text-anchor="start" x="8" y="-51" font-family="Helvetica,sans-Serif" font-size="10.00">sorting::merge_insertion</text>
<text text-anchor="middle" x="62" y="-40" font-family="Helvetica,sans-Serif" font-size="10.00">::mergeSort</text>
<polygon fill="#bfbfbf" stroke="black" points="0,-51 0,-81 124,-81 124,-51 0,-51"/>
<text text-anchor="start" x="8" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">sorting::merge_insertion</text>
<text text-anchor="middle" x="62" y="-58" font-family="Helvetica,sans-Serif" font-size="10.00">::mergeSort</text>
</a>
</g>
</g>
@@ -23,32 +23,32 @@
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a xlink:href="../../de/d7b/merge__insertion__sort_8cpp.html#a0cba4fbf287ab8cb978ed7f8fef886b1" target="_top" xlink:title="Insertion merge algorithm.">
<polygon fill="white" stroke="black" points="160,-77 160,-107 284,-107 284,-77 160,-77"/>
<text text-anchor="start" x="168" y="-95" font-family="Helvetica,sans-Serif" font-size="10.00">sorting::merge_insertion</text>
<text text-anchor="middle" x="222" y="-84" font-family="Helvetica,sans-Serif" font-size="10.00">::InsertionSort</text>
<polygon fill="white" stroke="black" points="160,-95 160,-125 284,-125 284,-95 160,-95"/>
<text text-anchor="start" x="168" y="-113" font-family="Helvetica,sans-Serif" font-size="10.00">sorting::merge_insertion</text>
<text text-anchor="middle" x="222" y="-102" font-family="Helvetica,sans-Serif" font-size="10.00">::InsertionSort</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="M116.93,-63.02C129.95,-66.65 143.99,-70.55 157.4,-74.29"/>
<polygon fill="midnightblue" stroke="midnightblue" points="156.47,-77.66 167.04,-76.97 158.35,-70.92 156.47,-77.66"/>
<path fill="none" stroke="midnightblue" d="M116.93,-81.02C129.95,-84.65 143.99,-88.55 157.4,-92.29"/>
<polygon fill="midnightblue" stroke="midnightblue" points="156.47,-95.66 167.04,-94.97 158.35,-88.92 156.47,-95.66"/>
</g>
<!-- Node4 -->
<g id="node4" class="node">
<title>Node4</title>
<g id="a_node4"><a xlink:href="../../d5/d91/namespacesorting.html#aa26de383227859210f14dcf12201a079" target="_top" xlink:title="merges 2 sorted adjacent segments into a larger sorted segment">
<polygon fill="white" stroke="black" points="182,-38.5 182,-57.5 262,-57.5 262,-38.5 182,-38.5"/>
<text text-anchor="middle" x="222" y="-45.5" font-family="Helvetica,sans-Serif" font-size="10.00">sorting::merge</text>
<polygon fill="white" stroke="black" points="182,-56.5 182,-75.5 262,-75.5 262,-56.5 182,-56.5"/>
<text text-anchor="middle" x="222" y="-63.5" font-family="Helvetica,sans-Serif" font-size="10.00">sorting::merge</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node4 -->
<g id="edge4" class="edge">
<title>Node1&#45;&gt;Node4</title>
<path fill="none" stroke="midnightblue" d="M124.09,-48C139.89,-48 156.71,-48 171.81,-48"/>
<polygon fill="midnightblue" stroke="midnightblue" points="171.97,-51.5 181.97,-48 171.97,-44.5 171.97,-51.5"/>
<path fill="none" stroke="midnightblue" d="M124.09,-66C139.89,-66 156.71,-66 171.81,-66"/>
<polygon fill="midnightblue" stroke="midnightblue" points="171.97,-69.5 181.97,-66 171.97,-62.5 171.97,-69.5"/>
</g>
<!-- Node6 -->
<g id="node6" class="node">
@@ -62,44 +62,50 @@
<!-- Node1&#45;&gt;Node6 -->
<g id="edge6" class="edge">
<title>Node1&#45;&gt;Node6</title>
<path fill="none" stroke="midnightblue" d="M124.09,-33.31C142.78,-28.81 162.89,-23.97 179.92,-19.88"/>
<polygon fill="midnightblue" stroke="midnightblue" points="181.18,-23.18 190.09,-17.43 179.55,-16.37 181.18,-23.18"/>
<path fill="none" stroke="midnightblue" d="M105.34,-50.99C129.98,-42.26 160.72,-31.36 184.32,-23"/>
<polygon fill="midnightblue" stroke="midnightblue" points="185.7,-26.22 193.96,-19.58 183.36,-19.63 185.7,-26.22"/>
</g>
<!-- Node2&#45;&gt;Node2 -->
<g id="edge3" class="edge">
<title>Node2&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M197.95,-107.16C192.15,-116.56 200.17,-125.5 222,-125.5 235.3,-125.5 243.48,-122.18 246.52,-117.46"/>
<polygon fill="midnightblue" stroke="midnightblue" points="250,-116.99 246.05,-107.16 243.01,-117.31 250,-116.99"/>
<path fill="none" stroke="midnightblue" d="M197.95,-125.16C192.15,-134.56 200.17,-143.5 222,-143.5 235.3,-143.5 243.48,-140.18 246.52,-135.46"/>
<polygon fill="midnightblue" stroke="midnightblue" points="250,-134.99 246.05,-125.16 243.01,-135.31 250,-134.99"/>
</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/array/data.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="320,-82.5 320,-101.5 403,-101.5 403,-82.5 320,-82.5"/>
<text text-anchor="middle" x="361.5" y="-89.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::array::data</text>
<polygon fill="white" stroke="black" points="320,-100.5 320,-119.5 403,-119.5 403,-100.5 320,-100.5"/>
<text text-anchor="middle" x="361.5" y="-107.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::array::data</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="M284.11,-92C292.58,-92 301.21,-92 309.47,-92"/>
<polygon fill="midnightblue" stroke="midnightblue" points="309.7,-95.5 319.7,-92 309.7,-88.5 309.7,-95.5"/>
<path fill="none" stroke="midnightblue" d="M284.11,-110C292.58,-110 301.21,-110 309.47,-110"/>
<polygon fill="midnightblue" stroke="midnightblue" points="309.7,-113.5 319.7,-110 309.7,-106.5 309.7,-113.5"/>
</g>
<!-- Node5 -->
<g id="node5" class="node">
<title>Node5</title>
<g id="a_node5"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/utility/move.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="331.5,-38.5 331.5,-57.5 391.5,-57.5 391.5,-38.5 331.5,-38.5"/>
<text text-anchor="middle" x="361.5" y="-45.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::move</text>
<polygon fill="white" stroke="black" points="331.5,-56.5 331.5,-75.5 391.5,-75.5 391.5,-56.5 331.5,-56.5"/>
<text text-anchor="middle" x="361.5" y="-63.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::move</text>
</a>
</g>
</g>
<!-- Node4&#45;&gt;Node5 -->
<g id="edge5" class="edge">
<title>Node4&#45;&gt;Node5</title>
<path fill="none" stroke="midnightblue" d="M262.03,-48C280.57,-48 302.68,-48 321.24,-48"/>
<polygon fill="midnightblue" stroke="midnightblue" points="321.43,-51.5 331.43,-48 321.43,-44.5 321.43,-51.5"/>
<path fill="none" stroke="midnightblue" d="M262.03,-66C280.57,-66 302.68,-66 321.24,-66"/>
<polygon fill="midnightblue" stroke="midnightblue" points="321.43,-69.5 331.43,-66 321.43,-62.5 321.43,-69.5"/>
</g>
<!-- Node6&#45;&gt;Node6 -->
<g id="edge8" class="edge">
<title>Node6&#45;&gt;Node6</title>
<path fill="none" stroke="midnightblue" d="M200.73,-19.76C190.38,-28.57 197.47,-38 222,-38 237.71,-38 246.27,-34.13 247.67,-29.03"/>
<polygon fill="midnightblue" stroke="midnightblue" points="250.72,-27.29 243.27,-19.76 244.39,-30.29 250.72,-27.29"/>
</g>
<!-- Node7 -->
<g id="node7" class="node">

Before

Width:  |  Height:  |  Size: 6.0 KiB

After

Width:  |  Height:  |  Size: 6.4 KiB

View File

@@ -1,7 +1,7 @@
<?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.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: main Pages: 1 -->
<svg width="142pt" height="104pt"

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

@@ -1,7 +1,7 @@
<?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.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: sorting::merge_insertion::merge Pages: 1 -->
<svg width="251pt" height="39pt"

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@@ -2,8 +2,8 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Algorithms_in_C++: Member List</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
@@ -17,9 +17,9 @@
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
@@ -32,8 +32,7 @@
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Algorithms_in_C++
&#160;<span id="projectnumber">1.0.0</span>
<div id="projectname">Algorithms_in_C++<span id="projectnumber">&#160;1.0.0</span>
</div>
<div id="projectbrief">Set of algorithms implemented in C++.</div>
</td>
@@ -42,21 +41,22 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<!-- Generated by Doxygen 1.9.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "../../search",false,'Search','.html');
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -70,7 +70,7 @@ $(function() {
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('de/d48/struct_trie_1_1_trie_node.html','../../'); initResizable(); });
/* @license-end */
</script>
@@ -90,21 +90,20 @@ $(document).ready(function(){initNavTree('de/d48/struct_trie_1_1_trie_node.html'
</div>
<div class="header">
<div class="headertitle">
<div class="title">Trie::TrieNode Member List</div> </div>
<div class="headertitle"><div class="title">Trie::TrieNode Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../de/d48/struct_trie_1_1_trie_node.html">Trie::TrieNode</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>character</b> (defined in <a class="el" href="../../de/d48/struct_trie_1_1_trie_node.html">Trie::TrieNode</a>)</td><td class="entry"><a class="el" href="../../de/d48/struct_trie_1_1_trie_node.html">Trie::TrieNode</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>isEndOfWord</b> (defined in <a class="el" href="../../de/d48/struct_trie_1_1_trie_node.html">Trie::TrieNode</a>)</td><td class="entry"><a class="el" href="../../de/d48/struct_trie_1_1_trie_node.html">Trie::TrieNode</a></td><td class="entry"></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>isEndOfWord</b> (defined in <a class="el" href="../../de/d48/struct_trie_1_1_trie_node.html">Trie::TrieNode</a>)</td><td class="entry"><a class="el" href="../../de/d48/struct_trie_1_1_trie_node.html">Trie::TrieNode</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.2 </li>
</ul>
</div>
</body>

View File

@@ -2,8 +2,8 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Algorithms_in_C++: is_graph_bipartite Namespace Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
@@ -17,9 +17,9 @@
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
@@ -32,8 +32,7 @@
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Algorithms_in_C++
&#160;<span id="projectnumber">1.0.0</span>
<div id="projectname">Algorithms_in_C++<span id="projectnumber">&#160;1.0.0</span>
</div>
<div id="projectbrief">Set of algorithms implemented in C++.</div>
</td>
@@ -42,21 +41,22 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<!-- Generated by Doxygen 1.9.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "../../search",false,'Search','.html');
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -70,7 +70,7 @@ $(function() {
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('de/d83/namespaceis__graph__bipartite.html','../../'); initResizable(); });
/* @license-end */
</script>
@@ -90,22 +90,21 @@ $(document).ready(function(){initNavTree('de/d83/namespaceis__graph__bipartite.h
</div>
<div class="header">
<div class="headertitle">
<div class="title">is_graph_bipartite Namespace Reference</div> </div>
<div class="headertitle"><div class="title">is_graph_bipartite Namespace Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Functions for checking whether a graph is bipartite or not.
<a href="../../de/d83/namespaceis__graph__bipartite.html#details">More...</a></p>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Functions for checking whether a graph is bipartite or not. </p>
<div class="textblock"><p >Functions for checking whether a graph is bipartite or not. </p>
</div></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../de/d83/namespaceis__graph__bipartite.html">is_graph_bipartite</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.2 </li>
</ul>
</div>
</body>

View File

@@ -2,8 +2,8 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Algorithms_in_C++: others/decimal_to_roman_numeral.cpp File Reference</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
@@ -17,9 +17,9 @@
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
@@ -32,8 +32,7 @@
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Algorithms_in_C++
&#160;<span id="projectnumber">1.0.0</span>
<div id="projectname">Algorithms_in_C++<span id="projectnumber">&#160;1.0.0</span>
</div>
<div id="projectbrief">Set of algorithms implemented in C++.</div>
</td>
@@ -42,21 +41,22 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<!-- Generated by Doxygen 1.9.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "../../search",false,'Search','.html');
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -70,7 +70,7 @@ $(function() {
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('de/d85/decimal__to__roman__numeral_8cpp.html','../../'); initResizable(); });
/* @license-end */
</script>
@@ -92,8 +92,7 @@ $(document).ready(function(){initNavTree('de/d85/decimal__to__roman__numeral_8cp
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">decimal_to_roman_numeral.cpp File Reference</div> </div>
<div class="headertitle"><div class="title">decimal_to_roman_numeral.cpp File Reference</div></div>
</div><!--header-->
<div class="contents">
@@ -110,7 +109,7 @@ Include dependency graph for decimal_to_roman_numeral.cpp:</div>
</div>
</div>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="func-members" name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a88203bd297e8405160c132faa1187780"><td class="memItemLeft" align="right" valign="top"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780">fill</a> (char c, int n)</td></tr>
<tr class="separator:a88203bd297e8405160c132faa1187780"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -122,9 +121,9 @@ Functions</h2></td></tr>
<tr class="separator:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>This Programme Converts a given decimal number in the range [0,4000) to both Lower case and Upper case Roman Numeral. </p>
<div class="textblock"><p >This Programme Converts a given decimal number in the range [0,4000) to both Lower case and Upper case Roman Numeral. </p>
</div><h2 class="groupheader">Function Documentation</h2>
<a id="a88203bd297e8405160c132faa1187780"></a>
<a id="a88203bd297e8405160c132faa1187780" name="a88203bd297e8405160c132faa1187780"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a88203bd297e8405160c132faa1187780">&#9670;&nbsp;</a></span>fill()</h2>
<div class="memitem">
@@ -149,17 +148,17 @@ Functions</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
<p>This functions fills a string with character c, n times and returns it </p><dl class="section note"><dt>Note</dt><dd>This can probably be replace by <code>memcpy</code> function. </dd></dl>
<div class="fragment"><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160; {</div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> s = <span class="stringliteral">&quot;&quot;</span>;</div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160; <span class="keywordflow">while</span> (n--) s += c;</div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; <span class="keywordflow">return</span> s;</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;}</div>
<p >This functions fills a string with character c, n times and returns it </p><dl class="section note"><dt>Note</dt><dd>This can probably be replace by <code>memcpy</code> function. </dd></dl>
<div class="fragment"><div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span> {</div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> s = <span class="stringliteral">&quot;&quot;</span>;</div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span> <span class="keywordflow">while</span> (n--) s += c;</div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span> <span class="keywordflow">return</span> s;</div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span>}</div>
<div class="ttc" id="abasic_string_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a></div></div>
</div><!-- fragment -->
</div>
</div>
<a id="ae66f6b31b5ad750f1fe042a706a4e3d4"></a>
<a id="ae66f6b31b5ad750f1fe042a706a4e3d4" name="ae66f6b31b5ad750f1fe042a706a4e3d4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae66f6b31b5ad750f1fe042a706a4e3d4">&#9670;&nbsp;</a></span>main()</h2>
<div class="memitem">
@@ -174,16 +173,16 @@ Functions</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
<p>main function </p>
<div class="fragment"><div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160; {</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160; <span class="keywordtype">int</span> n;</div>
<div class="line"><a name="l00092"></a><span class="lineno"> 92</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;\t\tRoman numbers converter\n\n&quot;</span>;</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::cout</a> &lt;&lt; <span class="stringliteral">&quot;Type in decimal number between 0 up to 4000 (exclusive): &quot;</span>;</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> &gt;&gt; n;</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; n &lt;&lt; <span class="stringliteral">&quot; in Upper Roman Numerals is &quot;</span> &lt;&lt; <a class="code" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a214743638eff1336f835310049aef979">toupperRoman</a>(n) &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</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; n &lt;&lt; <span class="stringliteral">&quot; in Lower Roman Numerals is &quot;</span> &lt;&lt; <a class="code" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a003fb4e1b08279fe4cd50fbbc2782c2d">tolowerRoman</a>(n) &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;}</div>
<p >main function </p>
<div class="fragment"><div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> {</div>
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> <span class="keywordtype">int</span> n;</div>
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;\t\tRoman numbers converter\n\n&quot;</span>;</div>
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Type in decimal number between 0 up to 4000 (exclusive): &quot;</span>;</div>
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> &gt;&gt; n;</div>
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; n &lt;&lt; <span class="stringliteral">&quot; in Upper Roman Numerals is &quot;</span> &lt;&lt; <a class="code hl_function" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a214743638eff1336f835310049aef979">toupperRoman</a>(n) &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; n &lt;&lt; <span class="stringliteral">&quot; in Lower Roman Numerals is &quot;</span> &lt;&lt; <a class="code hl_function" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a003fb4e1b08279fe4cd50fbbc2782c2d">tolowerRoman</a>(n) &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> <span class="keywordflow">return</span> 0;</div>
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span>}</div>
<div class="ttc" id="abasic_istream_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a></div></div>
<div class="ttc" id="abasic_ostream_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a></div></div>
<div class="ttc" id="adecimal__to__roman__numeral_8cpp_html_a003fb4e1b08279fe4cd50fbbc2782c2d"><div class="ttname"><a href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a003fb4e1b08279fe4cd50fbbc2782c2d">tolowerRoman</a></div><div class="ttdeci">std::string tolowerRoman(int n)</div><div class="ttdef"><b>Definition:</b> decimal_to_roman_numeral.cpp:24</div></div>
@@ -191,13 +190,13 @@ Functions</h2></td></tr>
</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="../../de/d85/decimal__to__roman__numeral_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg" width="307" height="88"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
<div class="center"><iframe scrolling="no" frameborder="0" src="../../de/d85/decimal__to__roman__numeral_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg" width="307" height="136"><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="a003fb4e1b08279fe4cd50fbbc2782c2d"></a>
<a id="a003fb4e1b08279fe4cd50fbbc2782c2d" name="a003fb4e1b08279fe4cd50fbbc2782c2d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a003fb4e1b08279fe4cd50fbbc2782c2d">&#9670;&nbsp;</a></span>tolowerRoman()</h2>
<div class="memitem">
@@ -212,48 +211,48 @@ Here is the call graph for this function:</div>
</tr>
</table>
</div><div class="memdoc">
<p>to convert to lowercase Roman Numeral the function works recursively </p>
<div class="fragment"><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; {</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; <span class="keywordflow">if</span> (n &lt; 4)</div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; <span class="keywordflow">return</span> <a class="code" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780">fill</a>(<span class="charliteral">&#39;i&#39;</span>, n);</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; <span class="keywordflow">if</span> (n &lt; 6)</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; <span class="keywordflow">return</span> <a class="code" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780">fill</a>(<span class="charliteral">&#39;i&#39;</span>, 5 - n) + <span class="stringliteral">&quot;v&quot;</span>;</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; <span class="keywordflow">if</span> (n &lt; 9)</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; <span class="keywordflow">return</span> <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a>(<span class="stringliteral">&quot;v&quot;</span>) + <a class="code" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780">fill</a>(<span class="charliteral">&#39;i&#39;</span>, n - 5);</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; <span class="keywordflow">if</span> (n &lt; 11)</div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; <span class="keywordflow">return</span> <a class="code" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780">fill</a>(<span class="charliteral">&#39;i&#39;</span>, 10 - n) + <span class="stringliteral">&quot;x&quot;</span>;</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160; <span class="keywordflow">if</span> (n &lt; 40)</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; <span class="keywordflow">return</span> <a class="code" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780">fill</a>(<span class="charliteral">&#39;x&#39;</span>, n / 10) + <a class="code" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a003fb4e1b08279fe4cd50fbbc2782c2d">tolowerRoman</a>(n % 10);</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160; <span class="keywordflow">if</span> (n &lt; 60)</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <span class="keywordflow">return</span> <a class="code" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780">fill</a>(<span class="charliteral">&#39;x&#39;</span>, 5 - n / 10) + <span class="charliteral">&#39;l&#39;</span> + <a class="code" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a003fb4e1b08279fe4cd50fbbc2782c2d">tolowerRoman</a>(n % 10);</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <span class="keywordflow">if</span> (n &lt; 90)</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <span class="keywordflow">return</span> <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a>(<span class="stringliteral">&quot;l&quot;</span>) + <a class="code" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780">fill</a>(<span class="charliteral">&#39;x&#39;</span>, n / 10 - 5) + <a class="code" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a003fb4e1b08279fe4cd50fbbc2782c2d">tolowerRoman</a>(n % 10);</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <span class="keywordflow">if</span> (n &lt; 110)</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="keywordflow">return</span> <a class="code" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780">fill</a>(<span class="charliteral">&#39;x&#39;</span>, 10 - n / 10) + <span class="stringliteral">&quot;c&quot;</span> + <a class="code" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a003fb4e1b08279fe4cd50fbbc2782c2d">tolowerRoman</a>(n % 10);</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <span class="keywordflow">if</span> (n &lt; 400)</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <span class="keywordflow">return</span> <a class="code" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780">fill</a>(<span class="charliteral">&#39;c&#39;</span>, n / 100) + <a class="code" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a003fb4e1b08279fe4cd50fbbc2782c2d">tolowerRoman</a>(n % 100);</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <span class="keywordflow">if</span> (n &lt; 600)</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <span class="keywordflow">return</span> <a class="code" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780">fill</a>(<span class="charliteral">&#39;c&#39;</span>, 5 - n / 100) + <span class="charliteral">&#39;d&#39;</span> + <a class="code" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a003fb4e1b08279fe4cd50fbbc2782c2d">tolowerRoman</a>(n % 100);</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <span class="keywordflow">if</span> (n &lt; 900)</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="keywordflow">return</span> <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a>(<span class="stringliteral">&quot;d&quot;</span>) + <a class="code" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780">fill</a>(<span class="charliteral">&#39;c&#39;</span>, n / 100 - 5) +</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <a class="code" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a003fb4e1b08279fe4cd50fbbc2782c2d">tolowerRoman</a>(n % 100);</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="keywordflow">if</span> (n &lt; 1100)</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; <span class="keywordflow">return</span> <a class="code" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780">fill</a>(<span class="charliteral">&#39;c&#39;</span>, 10 - n / 100) + <span class="stringliteral">&quot;m&quot;</span> + <a class="code" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a003fb4e1b08279fe4cd50fbbc2782c2d">tolowerRoman</a>(n % 100);</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <span class="keywordflow">if</span> (n &lt; 4000)</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <span class="keywordflow">return</span> <a class="code" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780">fill</a>(<span class="charliteral">&#39;m&#39;</span>, n / 1000) + <a class="code" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a003fb4e1b08279fe4cd50fbbc2782c2d">tolowerRoman</a>(n % 1000);</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;?&quot;</span>;</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;}</div>
<p >to convert to lowercase Roman Numeral the function works recursively </p>
<div class="fragment"><div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> {</div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> <span class="keywordflow">if</span> (n &lt; 4)</div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> <span class="keywordflow">return</span> <a class="code hl_function" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780">fill</a>(<span class="charliteral">&#39;i&#39;</span>, n);</div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> <span class="keywordflow">if</span> (n &lt; 6)</div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> <span class="keywordflow">return</span> <a class="code hl_function" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780">fill</a>(<span class="charliteral">&#39;i&#39;</span>, 5 - n) + <span class="stringliteral">&quot;v&quot;</span>;</div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> <span class="keywordflow">if</span> (n &lt; 9)</div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> <span class="keywordflow">return</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a>(<span class="stringliteral">&quot;v&quot;</span>) + <a class="code hl_function" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780">fill</a>(<span class="charliteral">&#39;i&#39;</span>, n - 5);</div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> <span class="keywordflow">if</span> (n &lt; 11)</div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> <span class="keywordflow">return</span> <a class="code hl_function" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780">fill</a>(<span class="charliteral">&#39;i&#39;</span>, 10 - n) + <span class="stringliteral">&quot;x&quot;</span>;</div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> <span class="keywordflow">if</span> (n &lt; 40)</div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> <span class="keywordflow">return</span> <a class="code hl_function" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780">fill</a>(<span class="charliteral">&#39;x&#39;</span>, n / 10) + <a class="code hl_function" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a003fb4e1b08279fe4cd50fbbc2782c2d">tolowerRoman</a>(n % 10);</div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> <span class="keywordflow">if</span> (n &lt; 60)</div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> <span class="keywordflow">return</span> <a class="code hl_function" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780">fill</a>(<span class="charliteral">&#39;x&#39;</span>, 5 - n / 10) + <span class="charliteral">&#39;l&#39;</span> + <a class="code hl_function" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a003fb4e1b08279fe4cd50fbbc2782c2d">tolowerRoman</a>(n % 10);</div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> <span class="keywordflow">if</span> (n &lt; 90)</div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> <span class="keywordflow">return</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a>(<span class="stringliteral">&quot;l&quot;</span>) + <a class="code hl_function" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780">fill</a>(<span class="charliteral">&#39;x&#39;</span>, n / 10 - 5) + <a class="code hl_function" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a003fb4e1b08279fe4cd50fbbc2782c2d">tolowerRoman</a>(n % 10);</div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> <span class="keywordflow">if</span> (n &lt; 110)</div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> <span class="keywordflow">return</span> <a class="code hl_function" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780">fill</a>(<span class="charliteral">&#39;x&#39;</span>, 10 - n / 10) + <span class="stringliteral">&quot;c&quot;</span> + <a class="code hl_function" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a003fb4e1b08279fe4cd50fbbc2782c2d">tolowerRoman</a>(n % 10);</div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> <span class="keywordflow">if</span> (n &lt; 400)</div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> <span class="keywordflow">return</span> <a class="code hl_function" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780">fill</a>(<span class="charliteral">&#39;c&#39;</span>, n / 100) + <a class="code hl_function" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a003fb4e1b08279fe4cd50fbbc2782c2d">tolowerRoman</a>(n % 100);</div>
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> <span class="keywordflow">if</span> (n &lt; 600)</div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> <span class="keywordflow">return</span> <a class="code hl_function" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780">fill</a>(<span class="charliteral">&#39;c&#39;</span>, 5 - n / 100) + <span class="charliteral">&#39;d&#39;</span> + <a class="code hl_function" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a003fb4e1b08279fe4cd50fbbc2782c2d">tolowerRoman</a>(n % 100);</div>
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> <span class="keywordflow">if</span> (n &lt; 900)</div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> <span class="keywordflow">return</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a>(<span class="stringliteral">&quot;d&quot;</span>) + <a class="code hl_function" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780">fill</a>(<span class="charliteral">&#39;c&#39;</span>, n / 100 - 5) +</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> <a class="code hl_function" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a003fb4e1b08279fe4cd50fbbc2782c2d">tolowerRoman</a>(n % 100);</div>
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> <span class="keywordflow">if</span> (n &lt; 1100)</div>
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span> <span class="keywordflow">return</span> <a class="code hl_function" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780">fill</a>(<span class="charliteral">&#39;c&#39;</span>, 10 - n / 100) + <span class="stringliteral">&quot;m&quot;</span> + <a class="code hl_function" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a003fb4e1b08279fe4cd50fbbc2782c2d">tolowerRoman</a>(n % 100);</div>
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> <span class="keywordflow">if</span> (n &lt; 4000)</div>
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> <span class="keywordflow">return</span> <a class="code hl_function" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780">fill</a>(<span class="charliteral">&#39;m&#39;</span>, n / 1000) + <a class="code hl_function" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a003fb4e1b08279fe4cd50fbbc2782c2d">tolowerRoman</a>(n % 1000);</div>
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;?&quot;</span>;</div>
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span>}</div>
<div class="ttc" id="adecimal__to__roman__numeral_8cpp_html_a88203bd297e8405160c132faa1187780"><div class="ttname"><a href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780">fill</a></div><div class="ttdeci">std::string fill(char c, int n)</div><div class="ttdef"><b>Definition:</b> decimal_to_roman_numeral.cpp:15</div></div>
</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="../../de/d85/decimal__to__roman__numeral_8cpp_a003fb4e1b08279fe4cd50fbbc2782c2d_cgraph.svg" width="206" height="38"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
<div class="center"><iframe scrolling="no" frameborder="0" src="../../de/d85/decimal__to__roman__numeral_8cpp_a003fb4e1b08279fe4cd50fbbc2782c2d_cgraph.svg" width="206" height="62"><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="a214743638eff1336f835310049aef979"></a>
<a id="a214743638eff1336f835310049aef979" name="a214743638eff1336f835310049aef979"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a214743638eff1336f835310049aef979">&#9670;&nbsp;</a></span>toupperRoman()</h2>
<div class="memitem">
@@ -268,41 +267,41 @@ Here is the call graph for this function:</div>
</tr>
</table>
</div><div class="memdoc">
<p>to convert to uppercase Roman Numeral the function works recursively </p>
<div class="fragment"><div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; {</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keywordflow">if</span> (n &lt; 4)</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="keywordflow">return</span> <a class="code" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780">fill</a>(<span class="charliteral">&#39;I&#39;</span>, n);</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <span class="keywordflow">if</span> (n &lt; 6)</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <span class="keywordflow">return</span> <a class="code" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780">fill</a>(<span class="charliteral">&#39;I&#39;</span>, 5 - n) + <span class="stringliteral">&quot;V&quot;</span>;</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="keywordflow">if</span> (n &lt; 9)</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; <span class="keywordflow">return</span> <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a>(<span class="stringliteral">&quot;V&quot;</span>) + <a class="code" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780">fill</a>(<span class="charliteral">&#39;I&#39;</span>, n - 5);</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="keywordflow">if</span> (n &lt; 11)</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="keywordflow">return</span> <a class="code" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780">fill</a>(<span class="charliteral">&#39;I&#39;</span>, 10 - n) + <span class="stringliteral">&quot;X&quot;</span>;</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; <span class="keywordflow">if</span> (n &lt; 40)</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; <span class="keywordflow">return</span> <a class="code" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780">fill</a>(<span class="charliteral">&#39;X&#39;</span>, n / 10) + <a class="code" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a214743638eff1336f835310049aef979">toupperRoman</a>(n % 10);</div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; <span class="keywordflow">if</span> (n &lt; 60)</div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; <span class="keywordflow">return</span> <a class="code" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780">fill</a>(<span class="charliteral">&#39;X&#39;</span>, 5 - n / 10) + <span class="charliteral">&#39;L&#39;</span> + <a class="code" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a214743638eff1336f835310049aef979">toupperRoman</a>(n % 10);</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160; <span class="keywordflow">if</span> (n &lt; 90)</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keywordflow">return</span> <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a>(<span class="stringliteral">&quot;L&quot;</span>) + <a class="code" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780">fill</a>(<span class="charliteral">&#39;X&#39;</span>, n / 10 - 5) + <a class="code" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a214743638eff1336f835310049aef979">toupperRoman</a>(n % 10);</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; <span class="keywordflow">if</span> (n &lt; 110)</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; <span class="keywordflow">return</span> <a class="code" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780">fill</a>(<span class="charliteral">&#39;X&#39;</span>, 10 - n / 10) + <span class="stringliteral">&quot;C&quot;</span> + <a class="code" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a214743638eff1336f835310049aef979">toupperRoman</a>(n % 10);</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160; <span class="keywordflow">if</span> (n &lt; 400)</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="keywordflow">return</span> <a class="code" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780">fill</a>(<span class="charliteral">&#39;C&#39;</span>, n / 100) + <a class="code" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a214743638eff1336f835310049aef979">toupperRoman</a>(n % 100);</div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; <span class="keywordflow">if</span> (n &lt; 600)</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; <span class="keywordflow">return</span> <a class="code" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780">fill</a>(<span class="charliteral">&#39;C&#39;</span>, 5 - n / 100) + <span class="charliteral">&#39;D&#39;</span> + <a class="code" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a214743638eff1336f835310049aef979">toupperRoman</a>(n % 100);</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160; <span class="keywordflow">if</span> (n &lt; 900)</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="keywordflow">return</span> <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a>(<span class="stringliteral">&quot;D&quot;</span>) + <a class="code" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780">fill</a>(<span class="charliteral">&#39;C&#39;</span>, n / 100 - 5) +</div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <a class="code" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a214743638eff1336f835310049aef979">toupperRoman</a>(n % 100);</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; <span class="keywordflow">if</span> (n &lt; 1100)</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; <span class="keywordflow">return</span> <a class="code" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780">fill</a>(<span class="charliteral">&#39;C&#39;</span>, 10 - n / 100) + <span class="stringliteral">&quot;M&quot;</span> + <a class="code" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a214743638eff1336f835310049aef979">toupperRoman</a>(n % 100);</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160; <span class="keywordflow">if</span> (n &lt; 4000)</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keywordflow">return</span> <a class="code" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780">fill</a>(<span class="charliteral">&#39;M&#39;</span>, n / 1000) + <a class="code" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a214743638eff1336f835310049aef979">toupperRoman</a>(n % 1000);</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; <span class="keywordflow">return</span> <span class="stringliteral">&quot;?&quot;</span>;</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160;}</div>
<p >to convert to uppercase Roman Numeral the function works recursively </p>
<div class="fragment"><div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> {</div>
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> <span class="keywordflow">if</span> (n &lt; 4)</div>
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> <span class="keywordflow">return</span> <a class="code hl_function" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780">fill</a>(<span class="charliteral">&#39;I&#39;</span>, n);</div>
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> <span class="keywordflow">if</span> (n &lt; 6)</div>
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> <span class="keywordflow">return</span> <a class="code hl_function" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780">fill</a>(<span class="charliteral">&#39;I&#39;</span>, 5 - n) + <span class="stringliteral">&quot;V&quot;</span>;</div>
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> <span class="keywordflow">if</span> (n &lt; 9)</div>
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> <span class="keywordflow">return</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a>(<span class="stringliteral">&quot;V&quot;</span>) + <a class="code hl_function" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780">fill</a>(<span class="charliteral">&#39;I&#39;</span>, n - 5);</div>
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> <span class="keywordflow">if</span> (n &lt; 11)</div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> <span class="keywordflow">return</span> <a class="code hl_function" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780">fill</a>(<span class="charliteral">&#39;I&#39;</span>, 10 - n) + <span class="stringliteral">&quot;X&quot;</span>;</div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> <span class="keywordflow">if</span> (n &lt; 40)</div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> <span class="keywordflow">return</span> <a class="code hl_function" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780">fill</a>(<span class="charliteral">&#39;X&#39;</span>, n / 10) + <a class="code hl_function" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a214743638eff1336f835310049aef979">toupperRoman</a>(n % 10);</div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> <span class="keywordflow">if</span> (n &lt; 60)</div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> <span class="keywordflow">return</span> <a class="code hl_function" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780">fill</a>(<span class="charliteral">&#39;X&#39;</span>, 5 - n / 10) + <span class="charliteral">&#39;L&#39;</span> + <a class="code hl_function" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a214743638eff1336f835310049aef979">toupperRoman</a>(n % 10);</div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> <span class="keywordflow">if</span> (n &lt; 90)</div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> <span class="keywordflow">return</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a>(<span class="stringliteral">&quot;L&quot;</span>) + <a class="code hl_function" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780">fill</a>(<span class="charliteral">&#39;X&#39;</span>, n / 10 - 5) + <a class="code hl_function" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a214743638eff1336f835310049aef979">toupperRoman</a>(n % 10);</div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> <span class="keywordflow">if</span> (n &lt; 110)</div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> <span class="keywordflow">return</span> <a class="code hl_function" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780">fill</a>(<span class="charliteral">&#39;X&#39;</span>, 10 - n / 10) + <span class="stringliteral">&quot;C&quot;</span> + <a class="code hl_function" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a214743638eff1336f835310049aef979">toupperRoman</a>(n % 10);</div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> <span class="keywordflow">if</span> (n &lt; 400)</div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> <span class="keywordflow">return</span> <a class="code hl_function" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780">fill</a>(<span class="charliteral">&#39;C&#39;</span>, n / 100) + <a class="code hl_function" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a214743638eff1336f835310049aef979">toupperRoman</a>(n % 100);</div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> <span class="keywordflow">if</span> (n &lt; 600)</div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> <span class="keywordflow">return</span> <a class="code hl_function" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780">fill</a>(<span class="charliteral">&#39;C&#39;</span>, 5 - n / 100) + <span class="charliteral">&#39;D&#39;</span> + <a class="code hl_function" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a214743638eff1336f835310049aef979">toupperRoman</a>(n % 100);</div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> <span class="keywordflow">if</span> (n &lt; 900)</div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> <span class="keywordflow">return</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a>(<span class="stringliteral">&quot;D&quot;</span>) + <a class="code hl_function" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780">fill</a>(<span class="charliteral">&#39;C&#39;</span>, n / 100 - 5) +</div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> <a class="code hl_function" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a214743638eff1336f835310049aef979">toupperRoman</a>(n % 100);</div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> <span class="keywordflow">if</span> (n &lt; 1100)</div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> <span class="keywordflow">return</span> <a class="code hl_function" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780">fill</a>(<span class="charliteral">&#39;C&#39;</span>, 10 - n / 100) + <span class="stringliteral">&quot;M&quot;</span> + <a class="code hl_function" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a214743638eff1336f835310049aef979">toupperRoman</a>(n % 100);</div>
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> <span class="keywordflow">if</span> (n &lt; 4000)</div>
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> <span class="keywordflow">return</span> <a class="code hl_function" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780">fill</a>(<span class="charliteral">&#39;M&#39;</span>, n / 1000) + <a class="code hl_function" href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a214743638eff1336f835310049aef979">toupperRoman</a>(n % 1000);</div>
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> <span class="keywordflow">return</span> <span class="stringliteral">&quot;?&quot;</span>;</div>
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span>}</div>
</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="../../de/d85/decimal__to__roman__numeral_8cpp_a214743638eff1336f835310049aef979_cgraph.svg" width="208" height="38"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
<div class="center"><iframe scrolling="no" frameborder="0" src="../../de/d85/decimal__to__roman__numeral_8cpp_a214743638eff1336f835310049aef979_cgraph.svg" width="208" height="62"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
@@ -314,7 +313,7 @@ Here is the call graph for this function:</div>
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../dir_9510827d0b234b3cc54b29892f217477.html">others</a></li><li class="navelem"><a class="el" href="../../de/d85/decimal__to__roman__numeral_8cpp.html">decimal_to_roman_numeral.cpp</a></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.2 </li>
</ul>
</div>
</body>

View File

@@ -1,4 +1,4 @@
<map id="tolowerRoman" name="tolowerRoman">
<area shape="rect" id="node1" title=" " alt="" coords="5,5,113,32"/>
<area shape="rect" id="node2" href="$de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780" title=" " alt="" coords="161,5,200,32"/>
<area shape="rect" id="node1" title=" " alt="" coords="5,29,113,56"/>
<area shape="rect" id="node2" href="$de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780" title=" " alt="" coords="161,29,200,56"/>
</map>

View File

@@ -1 +1 @@
f710e2d8b6cc6f50984992fe66292e0b
017d8641aa34b5352e1c28c1eed68765

View File

@@ -1,14 +1,14 @@
<?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.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: tolowerRoman Pages: 1 -->
<svg width="154pt" height="28pt"
viewBox="0.00 0.00 154.00 28.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 24)">
<svg width="154pt" height="46pt"
viewBox="0.00 0.00 154.00 46.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 42)">
<title>tolowerRoman</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-24 150,-24 150,4 -4,4"/>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-42 150,-42 150,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
@@ -18,6 +18,12 @@
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node1 -->
<g id="edge2" class="edge">
<title>Node1&#45;&gt;Node1</title>
<path fill="none" stroke="midnightblue" d="M26.63,-19.76C19.88,-28.57 24.5,-38 40.5,-38 50.5,-38 56.05,-34.31 57.17,-29.4"/>
<polygon fill="midnightblue" stroke="midnightblue" points="60.52,-28.39 54.37,-19.76 53.79,-30.34 60.52,-28.39"/>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@@ -1,4 +1,4 @@
<map id="toupperRoman" name="toupperRoman">
<area shape="rect" id="node1" title=" " alt="" coords="5,5,116,32"/>
<area shape="rect" id="node2" href="$de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780" title=" " alt="" coords="164,5,203,32"/>
<area shape="rect" id="node1" title=" " alt="" coords="5,29,116,56"/>
<area shape="rect" id="node2" href="$de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780" title=" " alt="" coords="164,29,203,56"/>
</map>

View File

@@ -1 +1 @@
728539a9650eb359a199ea70c18650c0
b2803cda799917a5af0fc4e10d09fe58

View File

@@ -1,14 +1,14 @@
<?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.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: toupperRoman Pages: 1 -->
<svg width="156pt" height="28pt"
viewBox="0.00 0.00 156.00 28.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 24)">
<svg width="156pt" height="46pt"
viewBox="0.00 0.00 156.00 46.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 42)">
<title>toupperRoman</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-24 152,-24 152,4 -4,4"/>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-42 152,-42 152,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
@@ -18,6 +18,12 @@
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node1 -->
<g id="edge2" class="edge">
<title>Node1&#45;&gt;Node1</title>
<path fill="none" stroke="midnightblue" d="M27.32,-19.76C20.42,-28.57 25.15,-38 41.5,-38 51.72,-38 57.4,-34.31 58.54,-29.4"/>
<polygon fill="midnightblue" stroke="midnightblue" points="61.88,-28.35 55.68,-19.76 55.16,-30.34 61.88,-28.35"/>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@@ -1,6 +1,6 @@
<map id="main" name="main">
<area shape="rect" id="node1" title=" " alt="" coords="5,31,56,57"/>
<area shape="rect" id="node2" href="$de/d85/decimal__to__roman__numeral_8cpp.html#a003fb4e1b08279fe4cd50fbbc2782c2d" title=" " alt="" coords="105,5,213,32"/>
<area shape="rect" id="node4" href="$de/d85/decimal__to__roman__numeral_8cpp.html#a214743638eff1336f835310049aef979" title=" " alt="" coords="104,56,215,83"/>
<area shape="rect" id="node3" href="$de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780" title=" " alt="" coords="263,31,301,57"/>
<area shape="rect" id="node1" title=" " alt="" coords="5,67,56,93"/>
<area shape="rect" id="node2" href="$de/d85/decimal__to__roman__numeral_8cpp.html#a003fb4e1b08279fe4cd50fbbc2782c2d" title=" " alt="" coords="105,29,213,56"/>
<area shape="rect" id="node4" href="$de/d85/decimal__to__roman__numeral_8cpp.html#a214743638eff1336f835310049aef979" title=" " alt="" coords="104,104,215,131"/>
<area shape="rect" id="node3" href="$de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780" title=" " alt="" coords="263,67,301,93"/>
</map>

View File

@@ -1 +1 @@
c8cd6b7042ff5ebfdf1b6db8235899a6
00f3bda028b3f3d411bf952865f0f034

View File

@@ -1,20 +1,20 @@
<?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.48.0 (20210717.1556)
<!-- Generated by graphviz version 2.49.0 (20210828.1703)
-->
<!-- Title: main Pages: 1 -->
<svg width="230pt" height="66pt"
viewBox="0.00 0.00 230.00 66.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 62)">
<svg width="230pt" height="102pt"
viewBox="0.00 0.00 230.00 102.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 98)">
<title>main</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-62 226,-62 226,4 -4,4"/>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-98 226,-98 226,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,-19.5 0,-38.5 38,-38.5 38,-19.5 0,-19.5"/>
<text text-anchor="middle" x="19" y="-26.5" font-family="Helvetica,sans-Serif" font-size="10.00">main</text>
<polygon fill="#bfbfbf" stroke="black" points="0,-28.5 0,-47.5 38,-47.5 38,-28.5 0,-28.5"/>
<text text-anchor="middle" x="19" y="-35.5" font-family="Helvetica,sans-Serif" font-size="10.00">main</text>
</a>
</g>
</g>
@@ -22,16 +22,16 @@
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a xlink:href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a003fb4e1b08279fe4cd50fbbc2782c2d" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="75,-38.5 75,-57.5 156,-57.5 156,-38.5 75,-38.5"/>
<text text-anchor="middle" x="115.5" y="-45.5" font-family="Helvetica,sans-Serif" font-size="10.00">tolowerRoman</text>
<polygon fill="white" stroke="black" points="75,-56.5 75,-75.5 156,-75.5 156,-56.5 75,-56.5"/>
<text text-anchor="middle" x="115.5" y="-63.5" font-family="Helvetica,sans-Serif" font-size="10.00">tolowerRoman</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="M38.22,-32.66C45.94,-34.22 55.35,-36.11 64.89,-38.03"/>
<polygon fill="midnightblue" stroke="midnightblue" points="64.32,-41.48 74.82,-40.02 65.7,-34.62 64.32,-41.48"/>
<path fill="none" stroke="midnightblue" d="M38.22,-43.4C47.94,-46.28 60.34,-49.95 72.3,-53.5"/>
<polygon fill="midnightblue" stroke="midnightblue" points="71.59,-56.94 82.18,-56.42 73.58,-50.23 71.59,-56.94"/>
</g>
<!-- Node4 -->
<g id="node4" class="node">
@@ -43,31 +43,43 @@
</g>
</g>
<!-- Node1&#45;&gt;Node4 -->
<g id="edge3" class="edge">
<g id="edge4" class="edge">
<title>Node1&#45;&gt;Node4</title>
<path fill="none" stroke="midnightblue" d="M38.22,-25.34C45.63,-23.85 54.58,-22.05 63.72,-20.21"/>
<polygon fill="midnightblue" stroke="midnightblue" points="64.52,-23.62 73.63,-18.22 63.14,-16.76 64.52,-23.62"/>
<path fill="none" stroke="midnightblue" d="M38.22,-32.6C47.94,-29.72 60.34,-26.05 72.3,-22.5"/>
<polygon fill="midnightblue" stroke="midnightblue" points="73.58,-25.77 82.18,-19.58 71.59,-19.06 73.58,-25.77"/>
</g>
<!-- Node2&#45;&gt;Node2 -->
<g id="edge3" class="edge">
<title>Node2&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M101.32,-75.76C94.42,-84.57 99.15,-94 115.5,-94 125.72,-94 131.4,-90.31 132.54,-85.4"/>
<polygon fill="midnightblue" stroke="midnightblue" points="135.88,-84.35 129.68,-75.76 129.16,-86.34 135.88,-84.35"/>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<title>Node3</title>
<g id="a_node3"><a xlink:href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="193,-19.5 193,-38.5 222,-38.5 222,-19.5 193,-19.5"/>
<text text-anchor="middle" x="207.5" y="-26.5" font-family="Helvetica,sans-Serif" font-size="10.00">fill</text>
<polygon fill="white" stroke="black" points="193,-28.5 193,-47.5 222,-47.5 222,-28.5 193,-28.5"/>
<text text-anchor="middle" x="207.5" y="-35.5" font-family="Helvetica,sans-Serif" font-size="10.00">fill</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="M156.24,-39.61C165.27,-37.7 174.6,-35.73 182.72,-34.02"/>
<polygon fill="midnightblue" stroke="midnightblue" points="183.53,-37.43 192.59,-31.94 182.08,-30.58 183.53,-37.43"/>
<path fill="none" stroke="midnightblue" d="M147.22,-56.44C158.95,-52.79 172.13,-48.69 183.07,-45.29"/>
<polygon fill="midnightblue" stroke="midnightblue" points="184.25,-48.59 192.76,-42.27 182.18,-41.9 184.25,-48.59"/>
</g>
<!-- Node4&#45;&gt;Node3 -->
<g id="edge4" class="edge">
<g id="edge5" class="edge">
<title>Node4&#45;&gt;Node3</title>
<path fill="none" stroke="midnightblue" d="M157.02,-18.56C165.88,-20.42 174.96,-22.34 182.89,-24.02"/>
<polygon fill="midnightblue" stroke="midnightblue" points="182.36,-27.48 192.86,-26.12 183.8,-20.63 182.36,-27.48"/>
<path fill="none" stroke="midnightblue" d="M147.22,-19.56C158.95,-23.21 172.13,-27.31 183.07,-30.71"/>
<polygon fill="midnightblue" stroke="midnightblue" points="182.18,-34.1 192.76,-33.73 184.25,-27.41 182.18,-34.1"/>
</g>
<!-- Node4&#45;&gt;Node4 -->
<g id="edge6" class="edge">
<title>Node4&#45;&gt;Node4</title>
<path fill="none" stroke="midnightblue" d="M101.32,-19.76C94.42,-28.57 99.15,-38 115.5,-38 125.72,-38 131.4,-34.31 132.54,-29.4"/>
<polygon fill="midnightblue" stroke="midnightblue" points="135.88,-28.35 129.68,-19.76 129.16,-30.34 135.88,-28.35"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

View File

@@ -2,8 +2,8 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.2"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Algorithms_in_C++: Member List</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
@@ -17,9 +17,9 @@
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
@@ -32,8 +32,7 @@
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Algorithms_in_C++
&#160;<span id="projectnumber">1.0.0</span>
<div id="projectname">Algorithms_in_C++<span id="projectnumber">&#160;1.0.0</span>
</div>
<div id="projectbrief">Set of algorithms implemented in C++.</div>
</td>
@@ -42,21 +41,22 @@
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<!-- Generated by Doxygen 1.9.2 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "../../search",false,'Search','.html');
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "../../search",'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="../../menudata.js"></script>
<script type="text/javascript" src="../../menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('../../',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
/* @license-end */
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
@@ -70,7 +70,7 @@ $(function() {
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('dd/d2f/class_trie.html','../../'); initResizable(); });
/* @license-end */
</script>
@@ -90,27 +90,26 @@ $(document).ready(function(){initNavTree('dd/d2f/class_trie.html','../../'); ini
</div>
<div class="header">
<div class="headertitle">
<div class="title">Trie Member List</div> </div>
<div class="headertitle"><div class="title">Trie Member List</div></div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../dd/d2f/class_trie.html">Trie</a>, including all inherited members.</p>
<table class="directory">
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>ALPHABETS</b> (defined in <a class="el" href="../../dd/d2f/class_trie.html">Trie</a>)</td><td class="entry"><a class="el" href="../../dd/d2f/class_trie.html">Trie</a></td><td class="entry"><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
<tr><td class="entry"><a class="el" href="../../dd/d2f/class_trie.html#a6d10eb1669453395d1900ebd401954fb">hasChildren</a>(std::shared_ptr&lt; TrieNode &gt; node)</td><td class="entry"><a class="el" href="../../dd/d2f/class_trie.html">Trie</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="../../dd/d2f/class_trie.html#a6d10eb1669453395d1900ebd401954fb">hasChildren</a>(std::shared_ptr&lt; TrieNode &gt; node)</td><td class="entry"><a class="el" href="../../dd/d2f/class_trie.html">Trie</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../dd/d2f/class_trie.html#afd8b79959009b554e98ea7128b2886f2">insert</a>(const std::string &amp;word)</td><td class="entry"><a class="el" href="../../dd/d2f/class_trie.html">Trie</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>m_root</b> (defined in <a class="el" href="../../dd/d2f/class_trie.html">Trie</a>)</td><td class="entry"><a class="el" href="../../dd/d2f/class_trie.html">Trie</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>m_root</b> (defined in <a class="el" href="../../dd/d2f/class_trie.html">Trie</a>)</td><td class="entry"><a class="el" href="../../dd/d2f/class_trie.html">Trie</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>removeWord</b>(const std::string &amp;word) (defined in <a class="el" href="../../dd/d2f/class_trie.html">Trie</a>)</td><td class="entry"><a class="el" href="../../dd/d2f/class_trie.html">Trie</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../dd/d2f/class_trie.html#a95216ffc56cb9f8cede982cecb872af4">removeWordHelper</a>(const std::string &amp;word, std::shared_ptr&lt; TrieNode &gt; curr, size_t index)</td><td class="entry"><a class="el" href="../../dd/d2f/class_trie.html">Trie</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">private</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="../../dd/d2f/class_trie.html#a26941759ecf94d67a27d4a610bc0f63d">removeWordHelper</a>(const std::string &amp;word, std::shared_ptr&lt; TrieNode &gt; curr, size_t index)</td><td class="entry"><a class="el" href="../../dd/d2f/class_trie.html">Trie</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">private</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../dd/d2f/class_trie.html#a411e77126930a0942dd7b65e96b15206">search</a>(const std::string &amp;word)</td><td class="entry"><a class="el" href="../../dd/d2f/class_trie.html">Trie</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr><td class="entry"><a class="el" href="../../dd/d2f/class_trie.html#a6af57e9f25d0d0a2d59eea5a4a802908">Trie</a>()</td><td class="entry"><a class="el" href="../../dd/d2f/class_trie.html">Trie</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
<tr class="odd"><td class="entry"><a class="el" href="../../dd/d2f/class_trie.html#a6af57e9f25d0d0a2d59eea5a4a802908">Trie</a>()</td><td class="entry"><a class="el" href="../../dd/d2f/class_trie.html">Trie</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.2 </li>
</ul>
</div>
</body>

View File

@@ -1,4 +0,0 @@
<map id="others::postfix_expression::Stack" name="others::postfix_expression::Stack">
<area shape="rect" id="node1" title="Creates an array to be used as stack for storing values." alt="" coords="5,95,183,136"/>
<area shape="rect" id="node2" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/array.html" title=" " alt="" coords="20,5,168,32"/>
</map>

View File

@@ -1 +0,0 @@
9146029675392e7b1dca30df9aa4030a

Some files were not shown because too many files have changed in this diff Show More