Documentation for 341ed50da8
@@ -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/rat_maze.cpp Pages: 1 -->
|
||||
<svg width="187pt" height="84pt"
|
||||
|
||||
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.9 KiB |
@@ -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++: machine_learning::aystar_search::AyStarSearch< Puzzle > Class Template 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++
|
||||
 <span id="projectnumber">1.0.0</span>
|
||||
<div id="projectname">Algorithms_in_C++<span id="projectnumber"> 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&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "../../search",false,'Search','.html');
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&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&dn=gpl-2.0.txt GPL-v2 */
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&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&dn=gpl-2.0.txt GPL-v2 */
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||
$(document).ready(function(){initNavTree('da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html','../../'); initResizable(); });
|
||||
/* @license-end */
|
||||
</script>
|
||||
@@ -97,21 +97,14 @@ $(document).ready(function(){initNavTree('da/d02/classmachine__learning_1_1aysta
|
||||
<a href="#pri-types">Private Types</a> |
|
||||
<a href="#pri-attribs">Private Attributes</a> |
|
||||
<a href="../../da/df3/classmachine__learning_1_1aystar__search_1_1_ay_star_search-members.html">List of all members</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">machine_learning::aystar_search::AyStarSearch< Puzzle > Class Template Reference</div> </div>
|
||||
<div class="headertitle"><div class="title">machine_learning::aystar_search::AyStarSearch< Puzzle > Class Template Reference</div></div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>A class defining <a href="https://en.wikipedia.org/wiki/A*_search_algorithm">A* search algorithm</a>. for some initial state and final state.
|
||||
<p>A class defining <a href="https://en.wikipedia.org/wiki/A*_search_algorithm" target="_blank">A* search algorithm</a>. for some initial state and final state.
|
||||
<a href="../../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#details">More...</a></p>
|
||||
<div class="dynheader">
|
||||
Collaboration diagram for machine_learning::aystar_search::AyStarSearch< Puzzle >:</div>
|
||||
<div class="dyncontent">
|
||||
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d7/db3/classmachine__learning_1_1aystar__search_1_1_ay_star_search__coll__graph.svg" width="184" height="200"><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="nested-classes"></a>
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
|
||||
Classes</h2></td></tr>
|
||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d3/d2a/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1comparison__operator.html">comparison_operator</a></td></tr>
|
||||
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Custom comparator for open_list. <a href="../../d3/d2a/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1comparison__operator.html#details">More...</a><br /></td></tr>
|
||||
@@ -120,62 +113,60 @@ Classes</h2></td></tr>
|
||||
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Struct that handles all the information related to the current state. <a href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#details">More...</a><br /></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-types" name="pub-types"></a>
|
||||
Public Types</h2></td></tr>
|
||||
<tr class="memitem:ad37c0d6640f887d001dbf562deba4971"><td class="memItemLeft" align="right" valign="top"><a id="ad37c0d6640f887d001dbf562deba4971"></a>
|
||||
<tr class="memitem:ad37c0d6640f887d001dbf562deba4971"><td class="memItemLeft" align="right" valign="top"><a id="ad37c0d6640f887d001dbf562deba4971" name="ad37c0d6640f887d001dbf562deba4971"></a>
|
||||
using </td><td class="memItemRight" valign="bottom"><b>MapOfPuzzleInfoWithPuzzleInfo</b> = <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/map.html">std::map</a>< <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>< <a class="el" href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html">Info</a> >, <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>< <a class="el" href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html">Info</a> >, <a class="el" href="../../d3/d2a/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1comparison__operator.html">comparison_operator</a> ></td></tr>
|
||||
<tr class="separator:ad37c0d6640f887d001dbf562deba4971"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:abb04e9c0f316e6febcd486da47c4b2d0"><td class="memItemLeft" align="right" valign="top"><a id="abb04e9c0f316e6febcd486da47c4b2d0"></a>
|
||||
<tr class="memitem:abb04e9c0f316e6febcd486da47c4b2d0"><td class="memItemLeft" align="right" valign="top"><a id="abb04e9c0f316e6febcd486da47c4b2d0" name="abb04e9c0f316e6febcd486da47c4b2d0"></a>
|
||||
using </td><td class="memItemRight" valign="bottom"><b>MapOfPuzzleInfoWithInteger</b> = <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/map.html">std::map</a>< <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>< <a class="el" href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html">Info</a> >, uint32_t, <a class="el" href="../../d3/d2a/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1comparison__operator.html">comparison_operator</a> ></td></tr>
|
||||
<tr class="separator:abb04e9c0f316e6febcd486da47c4b2d0"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:acffa24ad24940c421bf6bb77f71a762c"><td class="memItemLeft" align="right" valign="top"><a id="acffa24ad24940c421bf6bb77f71a762c"></a>
|
||||
<tr class="memitem:acffa24ad24940c421bf6bb77f71a762c"><td class="memItemLeft" align="right" valign="top"><a id="acffa24ad24940c421bf6bb77f71a762c" name="acffa24ad24940c421bf6bb77f71a762c"></a>
|
||||
using </td><td class="memItemRight" valign="bottom"><b>SetOfPuzzleInfo</b> = <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/set.html">std::set</a>< <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>< <a class="el" href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html">Info</a> >, <a class="el" href="../../d3/d2a/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1comparison__operator.html">comparison_operator</a> ></td></tr>
|
||||
<tr class="separator:acffa24ad24940c421bf6bb77f71a762c"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><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:abaff2ea6d309e1133fd95bbd1e39946e"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#abaff2ea6d309e1133fd95bbd1e39946e">AyStarSearch</a> (const Puzzle &initial, const Puzzle &final)</td></tr>
|
||||
<tr class="memdesc:abaff2ea6d309e1133fd95bbd1e39946e"><td class="mdescLeft"> </td><td class="mdescRight">Parameterized constructor for <a class="el" href="../../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html" title="A class defining A* search algorithm. for some initial state and final state.">AyStarSearch</a>. <a href="../../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#abaff2ea6d309e1133fd95bbd1e39946e">More...</a><br /></td></tr>
|
||||
<tr class="separator:abaff2ea6d309e1133fd95bbd1e39946e"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:afaeb1cde711f5198dc3dd213dedbd726"><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>< Puzzle > </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#afaeb1cde711f5198dc3dd213dedbd726">Solution</a> (<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>< <a class="el" href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html">Info</a> > FinalState, const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/map.html">MapOfPuzzleInfoWithPuzzleInfo</a> &parent_of)</td></tr>
|
||||
<tr class="memdesc:afaeb1cde711f5198dc3dd213dedbd726"><td class="mdescLeft"> </td><td class="mdescRight">A helper solution: launches when a solution for <a class="el" href="../../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html" title="A class defining A* search algorithm. for some initial state and final state.">AyStarSearch</a> is found. <a href="../../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#afaeb1cde711f5198dc3dd213dedbd726">More...</a><br /></td></tr>
|
||||
<tr class="separator:afaeb1cde711f5198dc3dd213dedbd726"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a5bb772fd41005fdefa8bd32edbf00cc3"><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>< Puzzle > </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#a5bb772fd41005fdefa8bd32edbf00cc3">a_star_search</a> (const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/functional/function.html">std::function</a>< uint32_t(const Puzzle &, const Puzzle &)> &dist, const uint32_t permissible_depth=30)</td></tr>
|
||||
<tr class="separator:a5bb772fd41005fdefa8bd32edbf00cc3"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a0a26aa9ad3d73707370d9fe83707aca4"><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>< Puzzle > </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#a0a26aa9ad3d73707370d9fe83707aca4">Solution</a> (<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>< <a class="el" href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html">Info</a> > FinalState, const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/map.html">MapOfPuzzleInfoWithPuzzleInfo</a> &parent_of)</td></tr>
|
||||
<tr class="memdesc:a0a26aa9ad3d73707370d9fe83707aca4"><td class="mdescLeft"> </td><td class="mdescRight">A helper solution: launches when a solution for <a class="el" href="../../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html" title="A class defining A* search algorithm. for some initial state and final state.">AyStarSearch</a> is found. <a href="../../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#a0a26aa9ad3d73707370d9fe83707aca4">More...</a><br /></td></tr>
|
||||
<tr class="separator:a0a26aa9ad3d73707370d9fe83707aca4"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a48284e156fdd48fd0c41008c7e48f201"><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>< Puzzle > </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#a48284e156fdd48fd0c41008c7e48f201">a_star_search</a> (const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/functional/function.html">std::function</a>< uint32_t(const Puzzle &, const Puzzle &)> &dist, const uint32_t permissible_depth=30)</td></tr>
|
||||
<tr class="separator:a48284e156fdd48fd0c41008c7e48f201"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-types"></a>
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-types" name="pri-types"></a>
|
||||
Private Types</h2></td></tr>
|
||||
<tr class="memitem:a47b9bc9815a2e7123ac1dc13e5377301"><td class="memItemLeft" align="right" valign="top"><a id="a47b9bc9815a2e7123ac1dc13e5377301"></a>
|
||||
typedef struct <a class="el" href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html">machine_learning::aystar_search::AyStarSearch::Info</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#a47b9bc9815a2e7123ac1dc13e5377301">Info</a></td></tr>
|
||||
<tr class="memitem:a47b9bc9815a2e7123ac1dc13e5377301"><td class="memItemLeft" align="right" valign="top"><a id="a47b9bc9815a2e7123ac1dc13e5377301" name="a47b9bc9815a2e7123ac1dc13e5377301"></a>
|
||||
typedef struct <a class="el" href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html">machine_learning::aystar_search::AyStarSearch::Info</a> </td><td class="memItemRight" valign="bottom"><b>Info</b></td></tr>
|
||||
<tr class="memdesc:a47b9bc9815a2e7123ac1dc13e5377301"><td class="mdescLeft"> </td><td class="mdescRight">Struct that handles all the information related to the current state. <br /></td></tr>
|
||||
<tr class="separator:a47b9bc9815a2e7123ac1dc13e5377301"><td class="memSeparator" colspan="2"> </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:ac11d62d01fac136efbd2bace6c55cea5"><td class="memItemLeft" align="right" valign="top"><a id="ac11d62d01fac136efbd2bace6c55cea5"></a>
|
||||
<tr class="memitem:ac11d62d01fac136efbd2bace6c55cea5"><td class="memItemLeft" align="right" valign="top"><a id="ac11d62d01fac136efbd2bace6c55cea5" name="ac11d62d01fac136efbd2bace6c55cea5"></a>
|
||||
<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>< <a class="el" href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html">Info</a> > </td><td class="memItemRight" valign="bottom"><b>Initial</b></td></tr>
|
||||
<tr class="separator:ac11d62d01fac136efbd2bace6c55cea5"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a1686cbc0c50ae9e6f949b1e4b46be9ff"><td class="memItemLeft" align="right" valign="top"><a id="a1686cbc0c50ae9e6f949b1e4b46be9ff"></a>
|
||||
<tr class="memitem:a1686cbc0c50ae9e6f949b1e4b46be9ff"><td class="memItemLeft" align="right" valign="top"><a id="a1686cbc0c50ae9e6f949b1e4b46be9ff" name="a1686cbc0c50ae9e6f949b1e4b46be9ff"></a>
|
||||
<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>< <a class="el" href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html">Info</a> > </td><td class="memItemRight" valign="bottom"><b>Final</b></td></tr>
|
||||
<tr class="separator:a1686cbc0c50ae9e6f949b1e4b46be9ff"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><h3>template<typename Puzzle><br />
|
||||
class machine_learning::aystar_search::AyStarSearch< Puzzle ></h3>
|
||||
|
||||
<p>A class defining <a href="https://en.wikipedia.org/wiki/A*_search_algorithm">A* search algorithm</a>. for some initial state and final state. </p>
|
||||
<p><a class="el" href="../../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html" title="A class defining A* search algorithm. for some initial state and final state.">AyStarSearch</a> class is defined as the informed search algorithm that is formulated in terms of weighted graphs: starting from a specific starting node of a graph (initial state), it aims to find a path to the given goal node having the smallest cost (least distance travelled, shortest time, etc.) The weighted edges (or cost) is evaluated on two factors, G score (cost required from starting node or initial state to current state) and H score (cost required from current state to final state). The <code>F(state)</code>, then is evaluated as: <code>F(state) = G(state) + H(state)</code>. The best search would be the final state having minimum <code>F(state)</code> value </p><dl class="tparams"><dt>Template Parameters</dt><dd>
|
||||
<div class="textblock"><div class="compoundTemplParams">template<typename Puzzle><br />
|
||||
class machine_learning::aystar_search::AyStarSearch< Puzzle ></div><p >A class defining <a href="https://en.wikipedia.org/wiki/A*_search_algorithm" target="_blank">A* search algorithm</a>. for some initial state and final state. </p>
|
||||
<p ><a class="el" href="../../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html" title="A class defining A* search algorithm. for some initial state and final state.">AyStarSearch</a> class is defined as the informed search algorithm that is formulated in terms of weighted graphs: starting from a specific starting node of a graph (initial state), it aims to find a path to the given goal node having the smallest cost (least distance travelled, shortest time, etc.) The weighted edges (or cost) is evaluated on two factors, G score (cost required from starting node or initial state to current state) and H score (cost required from current state to final state). The <code>F(state)</code>, then is evaluated as: <code>F(state) = G(state) + H(state)</code>. The best search would be the final state having minimum <code>F(state)</code> value </p><dl class="tparams"><dt>Template Parameters</dt><dd>
|
||||
<table class="tparams">
|
||||
<tr><td class="paramname">Puzzle</td><td>denotes the puzzle or problem involving initial state and final state to be solved by A* search. </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section note"><dt>Note</dt><dd>1. The algorithm is referred from pesudocode from <a href="https://en.wikipedia.org/wiki/A*_search_algorithm">Wikipedia page</a> as is.<ol type="1">
|
||||
<dl class="section note"><dt>Note</dt><dd>1. The algorithm is referred from pesudocode from <a href="https://en.wikipedia.org/wiki/A*_search_algorithm" target="_blank">Wikipedia page</a> as is.<ol type="1">
|
||||
<li>For <code><a class="el" href="../../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html" title="A class defining A* search algorithm. for some initial state and final state.">AyStarSearch</a></code> to work, the definitions for template Puzzle is compulsory. a. Comparison operator for template Puzzle (<code><</code>, <code>==</code>, and <code><=</code>) b. <code>generate_possible_moves()</code> </li>
|
||||
</ol>
|
||||
</dd></dl>
|
||||
</div><h2 class="groupheader">Constructor & Destructor Documentation</h2>
|
||||
<a id="abaff2ea6d309e1133fd95bbd1e39946e"></a>
|
||||
<a id="abaff2ea6d309e1133fd95bbd1e39946e" name="abaff2ea6d309e1133fd95bbd1e39946e"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#abaff2ea6d309e1133fd95bbd1e39946e">◆ </a></span>AyStarSearch()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
@@ -219,16 +210,16 @@ template<typename Puzzle > </div>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<div class="fragment"><div class="line"><a name="l00392"></a><span class="lineno"> 392</span>  {</div>
|
||||
<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>  Initial = std::make_shared<Info>(initial);</div>
|
||||
<div class="line"><a name="l00394"></a><span class="lineno"> 394</span>  Final = std::make_shared<Info>(<span class="keyword">final</span>);</div>
|
||||
<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>  }</div>
|
||||
<div class="fragment"><div class="line"><a id="l00392" name="l00392"></a><span class="lineno"> 392</span> {</div>
|
||||
<div class="line"><a id="l00393" name="l00393"></a><span class="lineno"> 393</span> Initial = std::make_shared<Info>(initial);</div>
|
||||
<div class="line"><a id="l00394" name="l00394"></a><span class="lineno"> 394</span> Final = std::make_shared<Info>(<span class="keyword">final</span>);</div>
|
||||
<div class="line"><a id="l00395" name="l00395"></a><span class="lineno"> 395</span> }</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<h2 class="groupheader">Member Function Documentation</h2>
|
||||
<a id="a5bb772fd41005fdefa8bd32edbf00cc3"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a5bb772fd41005fdefa8bd32edbf00cc3">◆ </a></span>a_star_search()</h2>
|
||||
<a id="a48284e156fdd48fd0c41008c7e48f201" name="a48284e156fdd48fd0c41008c7e48f201"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a48284e156fdd48fd0c41008c7e48f201">◆ </a></span>a_star_search()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
@@ -239,7 +230,7 @@ template<typename Puzzle > </div>
|
||||
<td class="mlabels-left">
|
||||
<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><Puzzle> <a class="el" href="../../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html">machine_learning::aystar_search::AyStarSearch</a>< Puzzle >::a_star_search </td>
|
||||
<td class="memname"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>< Puzzle > <a class="el" href="../../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html">machine_learning::aystar_search::AyStarSearch</a>< Puzzle >::a_star_search </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/functional/function.html">std::function</a>< uint32_t(const Puzzle &, const Puzzle &)> & </td>
|
||||
<td class="paramname"><em>dist</em>, </td>
|
||||
@@ -262,7 +253,7 @@ template<typename Puzzle > </div>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Main algorithm for finding <code>FinalState</code>, given the <code>InitialState</code> </p><dl class="params"><dt>Parameters</dt><dd>
|
||||
<p >Main algorithm for finding <code>FinalState</code>, given the <code>InitialState</code> </p><dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">dist</td><td>the heuristic finction, defined by the user </td></tr>
|
||||
<tr><td class="paramname">permissible_depth</td><td>the depth at which the A* search discards searching for solution </td></tr>
|
||||
@@ -270,119 +261,119 @@ template<typename Puzzle > </div>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>List of moves from Final state to initial state, if evaluated, else returns an empty array </dd></dl>
|
||||
<p>Stores the parent of the states</p>
|
||||
<p>Stores the g_score</p>
|
||||
<p>Stores the list to explore</p>
|
||||
<p>Stores the list that are explored</p>
|
||||
<div class="fragment"><div class="line"><a name="l00431"></a><span class="lineno"> 431</span>  {</div>
|
||||
<div class="line"><a name="l00432"></a><span class="lineno"> 432</span>  MapOfPuzzleInfoWithPuzzleInfo</div>
|
||||
<div class="line"><a name="l00433"></a><span class="lineno"> 433</span>  parent_of; <span class="comment">/// Stores the parent of the states</span></div>
|
||||
<div class="line"><a name="l00434"></a><span class="lineno"> 434</span>  MapOfPuzzleInfoWithInteger g_score; <span class="comment">/// Stores the g_score</span></div>
|
||||
<div class="line"><a name="l00435"></a><span class="lineno"> 435</span>  SetOfPuzzleInfo open_list; <span class="comment">/// Stores the list to explore</span></div>
|
||||
<div class="line"><a name="l00436"></a><span class="lineno"> 436</span>  SetOfPuzzleInfo closed_list; <span class="comment">/// Stores the list that are explored</span></div>
|
||||
<div class="line"><a name="l00437"></a><span class="lineno"> 437</span>  </div>
|
||||
<div class="line"><a name="l00438"></a><span class="lineno"> 438</span>  <span class="comment">// Before starting the AyStartSearch, initialize the set and maps</span></div>
|
||||
<div class="line"><a name="l00439"></a><span class="lineno"> 439</span>  open_list.emplace(Initial);</div>
|
||||
<div class="line"><a name="l00440"></a><span class="lineno"> 440</span>  parent_of[Initial] = <span class="keyword">nullptr</span>;</div>
|
||||
<div class="line"><a name="l00441"></a><span class="lineno"> 441</span>  g_score[Initial] = 0;</div>
|
||||
<div class="line"><a name="l00442"></a><span class="lineno"> 442</span>  </div>
|
||||
<div class="line"><a name="l00443"></a><span class="lineno"> 443</span>  <span class="keywordflow">while</span> (!open_list.empty()) {</div>
|
||||
<div class="line"><a name="l00444"></a><span class="lineno"> 444</span>  <span class="comment">// Iterator for state having having lowest f_score.</span></div>
|
||||
<div class="line"><a name="l00445"></a><span class="lineno"> 445</span>  <span class="keyword">typename</span> SetOfPuzzleInfo::iterator it_low_f_score;</div>
|
||||
<div class="line"><a name="l00446"></a><span class="lineno"> 446</span>  uint32_t min_f_score = 1e9;</div>
|
||||
<div class="line"><a name="l00447"></a><span class="lineno"> 447</span>  <span class="keywordflow">for</span> (<span class="keyword">auto</span> iter = open_list.begin(); iter != open_list.end();</div>
|
||||
<div class="line"><a name="l00448"></a><span class="lineno"> 448</span>  ++iter) {</div>
|
||||
<div class="line"><a name="l00449"></a><span class="lineno"> 449</span>  <span class="comment">// f score here is evaluated by g score (depth) and h score</span></div>
|
||||
<div class="line"><a name="l00450"></a><span class="lineno"> 450</span>  <span class="comment">// (distance between current state and final state)</span></div>
|
||||
<div class="line"><a name="l00451"></a><span class="lineno"> 451</span>  uint32_t f_score = (*iter)->heuristic_value + (*iter)->depth;</div>
|
||||
<div class="line"><a name="l00452"></a><span class="lineno"> 452</span>  <span class="keywordflow">if</span> (f_score < min_f_score) {</div>
|
||||
<div class="line"><a name="l00453"></a><span class="lineno"> 453</span>  min_f_score = f_score;</div>
|
||||
<div class="line"><a name="l00454"></a><span class="lineno"> 454</span>  it_low_f_score = iter;</div>
|
||||
<div class="line"><a name="l00455"></a><span class="lineno"> 455</span>  }</div>
|
||||
<div class="line"><a name="l00456"></a><span class="lineno"> 456</span>  }</div>
|
||||
<div class="line"><a name="l00457"></a><span class="lineno"> 457</span>  </div>
|
||||
<div class="line"><a name="l00458"></a><span class="lineno"> 458</span>  <span class="comment">// current_state, stores lowest f score so far for this state.</span></div>
|
||||
<div class="line"><a name="l00459"></a><span class="lineno"> 459</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr<Info></a> current_state = *it_low_f_score;</div>
|
||||
<div class="line"><a name="l00460"></a><span class="lineno"> 460</span>  </div>
|
||||
<div class="line"><a name="l00461"></a><span class="lineno"> 461</span>  <span class="comment">// if this current state is equal to final, return</span></div>
|
||||
<div class="line"><a name="l00462"></a><span class="lineno"> 462</span>  <span class="keywordflow">if</span> (*(current_state->state) == *(Final->state)) {</div>
|
||||
<div class="line"><a name="l00463"></a><span class="lineno"> 463</span>  <span class="keywordflow">return</span> <a class="code" href="../../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#afaeb1cde711f5198dc3dd213dedbd726">Solution</a>(current_state, parent_of);</div>
|
||||
<div class="line"><a name="l00464"></a><span class="lineno"> 464</span>  }</div>
|
||||
<div class="line"><a name="l00465"></a><span class="lineno"> 465</span>  <span class="comment">// else remove from open list as visited.</span></div>
|
||||
<div class="line"><a name="l00466"></a><span class="lineno"> 466</span>  open_list.erase(it_low_f_score);</div>
|
||||
<div class="line"><a name="l00467"></a><span class="lineno"> 467</span>  <span class="comment">// if current_state has exceeded the allowed depth, skip</span></div>
|
||||
<div class="line"><a name="l00468"></a><span class="lineno"> 468</span>  <span class="comment">// neighbor checking</span></div>
|
||||
<div class="line"><a name="l00469"></a><span class="lineno"> 469</span>  <span class="keywordflow">if</span> (current_state->depth >= permissible_depth) {</div>
|
||||
<div class="line"><a name="l00470"></a><span class="lineno"> 470</span>  <span class="keywordflow">continue</span>;</div>
|
||||
<div class="line"><a name="l00471"></a><span class="lineno"> 471</span>  }</div>
|
||||
<div class="line"><a name="l00472"></a><span class="lineno"> 472</span>  <span class="comment">// Generate all possible moves (neighbors) given the current</span></div>
|
||||
<div class="line"><a name="l00473"></a><span class="lineno"> 473</span>  <span class="comment">// state</span></div>
|
||||
<div class="line"><a name="l00474"></a><span class="lineno"> 474</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<Puzzle></a> total_possible_moves =</div>
|
||||
<div class="line"><a name="l00475"></a><span class="lineno"> 475</span>  current_state->state->generate_possible_moves();</div>
|
||||
<div class="line"><a name="l00476"></a><span class="lineno"> 476</span>  </div>
|
||||
<div class="line"><a name="l00477"></a><span class="lineno"> 477</span>  <span class="keywordflow">for</span> (Puzzle &neighbor : total_possible_moves) {</div>
|
||||
<div class="line"><a name="l00478"></a><span class="lineno"> 478</span>  <span class="comment">// calculate score of neighbors with respect to</span></div>
|
||||
<div class="line"><a name="l00479"></a><span class="lineno"> 479</span>  <span class="comment">// current_state</span></div>
|
||||
<div class="line"><a name="l00480"></a><span class="lineno"> 480</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr<Info></a> Neighbor = std::make_shared<Info>(</div>
|
||||
<div class="line"><a name="l00481"></a><span class="lineno"> 481</span>  neighbor, dist(neighbor, *(Final->state)),</div>
|
||||
<div class="line"><a name="l00482"></a><span class="lineno"> 482</span>  current_state->depth + 1U);</div>
|
||||
<div class="line"><a name="l00483"></a><span class="lineno"> 483</span>  uint32_t temp_g_score = Neighbor->depth;</div>
|
||||
<div class="line"><a name="l00484"></a><span class="lineno"> 484</span>  </div>
|
||||
<div class="line"><a name="l00485"></a><span class="lineno"> 485</span>  <span class="comment">// Check whether this state is explored.</span></div>
|
||||
<div class="line"><a name="l00486"></a><span class="lineno"> 486</span>  <span class="comment">// If this state is discovered at greater depth, then discard,</span></div>
|
||||
<div class="line"><a name="l00487"></a><span class="lineno"> 487</span>  <span class="comment">// else remove from closed list and explore the node</span></div>
|
||||
<div class="line"><a name="l00488"></a><span class="lineno"> 488</span>  <span class="keyword">auto</span> closed_list_iter = closed_list.find(Neighbor);</div>
|
||||
<div class="line"><a name="l00489"></a><span class="lineno"> 489</span>  <span class="keywordflow">if</span> (closed_list_iter != closed_list.end()) {</div>
|
||||
<div class="line"><a name="l00490"></a><span class="lineno"> 490</span>  <span class="comment">// 1. If state in closed list has higher depth, then remove</span></div>
|
||||
<div class="line"><a name="l00491"></a><span class="lineno"> 491</span>  <span class="comment">// from list since we have found better option,</span></div>
|
||||
<div class="line"><a name="l00492"></a><span class="lineno"> 492</span>  <span class="comment">// 2. Else don't explore this state.</span></div>
|
||||
<div class="line"><a name="l00493"></a><span class="lineno"> 493</span>  <span class="keywordflow">if</span> (Neighbor->depth < (*closed_list_iter)->depth) {</div>
|
||||
<div class="line"><a name="l00494"></a><span class="lineno"> 494</span>  closed_list.erase(closed_list_iter);</div>
|
||||
<div class="line"><a name="l00495"></a><span class="lineno"> 495</span>  } <span class="keywordflow">else</span> {</div>
|
||||
<div class="line"><a name="l00496"></a><span class="lineno"> 496</span>  <span class="keywordflow">continue</span>;</div>
|
||||
<div class="line"><a name="l00497"></a><span class="lineno"> 497</span>  }</div>
|
||||
<div class="line"><a name="l00498"></a><span class="lineno"> 498</span>  }</div>
|
||||
<div class="line"><a name="l00499"></a><span class="lineno"> 499</span>  <span class="keyword">auto</span> neighbor_g_score_iter = g_score.find(Neighbor);</div>
|
||||
<div class="line"><a name="l00500"></a><span class="lineno"> 500</span>  <span class="comment">// if the neighbor is already created and has minimum</span></div>
|
||||
<div class="line"><a name="l00501"></a><span class="lineno"> 501</span>  <span class="comment">// g_score, then update g_score and f_score else insert new</span></div>
|
||||
<div class="line"><a name="l00502"></a><span class="lineno"> 502</span>  <span class="keywordflow">if</span> (neighbor_g_score_iter != g_score.end()) {</div>
|
||||
<div class="line"><a name="l00503"></a><span class="lineno"> 503</span>  <span class="keywordflow">if</span> (neighbor_g_score_iter->second > temp_g_score) {</div>
|
||||
<div class="line"><a name="l00504"></a><span class="lineno"> 504</span>  neighbor_g_score_iter->second = temp_g_score;</div>
|
||||
<div class="line"><a name="l00505"></a><span class="lineno"> 505</span>  parent_of[Neighbor] = current_state;</div>
|
||||
<div class="line"><a name="l00506"></a><span class="lineno"> 506</span>  }</div>
|
||||
<div class="line"><a name="l00507"></a><span class="lineno"> 507</span>  } <span class="keywordflow">else</span> {</div>
|
||||
<div class="line"><a name="l00508"></a><span class="lineno"> 508</span>  g_score[Neighbor] = temp_g_score;</div>
|
||||
<div class="line"><a name="l00509"></a><span class="lineno"> 509</span>  parent_of[Neighbor] = current_state;</div>
|
||||
<div class="line"><a name="l00510"></a><span class="lineno"> 510</span>  }</div>
|
||||
<div class="line"><a name="l00511"></a><span class="lineno"> 511</span>  <span class="comment">// If this is a new state, insert into open_list</span></div>
|
||||
<div class="line"><a name="l00512"></a><span class="lineno"> 512</span>  <span class="comment">// else update if the this state has better g score than</span></div>
|
||||
<div class="line"><a name="l00513"></a><span class="lineno"> 513</span>  <span class="comment">// existing one.</span></div>
|
||||
<div class="line"><a name="l00514"></a><span class="lineno"> 514</span>  <span class="keyword">auto</span> iter = open_list.find(Neighbor);</div>
|
||||
<div class="line"><a name="l00515"></a><span class="lineno"> 515</span>  <span class="keywordflow">if</span> (iter == open_list.end()) {</div>
|
||||
<div class="line"><a name="l00516"></a><span class="lineno"> 516</span>  open_list.emplace(Neighbor);</div>
|
||||
<div class="line"><a name="l00517"></a><span class="lineno"> 517</span>  } <span class="keywordflow">else</span> <span class="keywordflow">if</span> ((*iter)->depth > Neighbor->depth) {</div>
|
||||
<div class="line"><a name="l00518"></a><span class="lineno"> 518</span>  (*iter)->depth = Neighbor->depth;</div>
|
||||
<div class="line"><a name="l00519"></a><span class="lineno"> 519</span>  }</div>
|
||||
<div class="line"><a name="l00520"></a><span class="lineno"> 520</span>  }</div>
|
||||
<div class="line"><a name="l00521"></a><span class="lineno"> 521</span>  closed_list.emplace(current_state);</div>
|
||||
<div class="line"><a name="l00522"></a><span class="lineno"> 522</span>  }</div>
|
||||
<div class="line"><a name="l00523"></a><span class="lineno"> 523</span>  <span class="comment">// Cannot find the solution, return empty vector</span></div>
|
||||
<div class="line"><a name="l00524"></a><span class="lineno"> 524</span>  <span class="keywordflow">return</span> <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<Puzzle></a>(0);</div>
|
||||
<div class="line"><a name="l00525"></a><span class="lineno"> 525</span>  }</div>
|
||||
<div class="ttc" id="aclassmachine__learning_1_1aystar__search_1_1_ay_star_search_html_afaeb1cde711f5198dc3dd213dedbd726"><div class="ttname"><a href="../../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#afaeb1cde711f5198dc3dd213dedbd726">machine_learning::aystar_search::AyStarSearch::Solution</a></div><div class="ttdeci">std::vector< Puzzle > Solution(std::shared_ptr< Info > FinalState, const MapOfPuzzleInfoWithPuzzleInfo &parent_of)</div><div class="ttdoc">A helper solution: launches when a solution for AyStarSearch is found.</div><div class="ttdef"><b>Definition:</b> a_star_search.cpp:405</div></div>
|
||||
<p >Stores the parent of the states</p>
|
||||
<p >Stores the g_score</p>
|
||||
<p >Stores the list to explore</p>
|
||||
<p >Stores the list that are explored</p>
|
||||
<div class="fragment"><div class="line"><a id="l00431" name="l00431"></a><span class="lineno"> 431</span> {</div>
|
||||
<div class="line"><a id="l00432" name="l00432"></a><span class="lineno"> 432</span> MapOfPuzzleInfoWithPuzzleInfo</div>
|
||||
<div class="line"><a id="l00433" name="l00433"></a><span class="lineno"> 433</span> parent_of; <span class="comment">/// Stores the parent of the states</span></div>
|
||||
<div class="line"><a id="l00434" name="l00434"></a><span class="lineno"> 434</span> MapOfPuzzleInfoWithInteger g_score; <span class="comment">/// Stores the g_score</span></div>
|
||||
<div class="line"><a id="l00435" name="l00435"></a><span class="lineno"> 435</span> SetOfPuzzleInfo open_list; <span class="comment">/// Stores the list to explore</span></div>
|
||||
<div class="line"><a id="l00436" name="l00436"></a><span class="lineno"> 436</span> SetOfPuzzleInfo closed_list; <span class="comment">/// Stores the list that are explored</span></div>
|
||||
<div class="line"><a id="l00437" name="l00437"></a><span class="lineno"> 437</span> </div>
|
||||
<div class="line"><a id="l00438" name="l00438"></a><span class="lineno"> 438</span> <span class="comment">// Before starting the AyStartSearch, initialize the set and maps</span></div>
|
||||
<div class="line"><a id="l00439" name="l00439"></a><span class="lineno"> 439</span> open_list.emplace(Initial);</div>
|
||||
<div class="line"><a id="l00440" name="l00440"></a><span class="lineno"> 440</span> parent_of[Initial] = <span class="keyword">nullptr</span>;</div>
|
||||
<div class="line"><a id="l00441" name="l00441"></a><span class="lineno"> 441</span> g_score[Initial] = 0;</div>
|
||||
<div class="line"><a id="l00442" name="l00442"></a><span class="lineno"> 442</span> </div>
|
||||
<div class="line"><a id="l00443" name="l00443"></a><span class="lineno"> 443</span> <span class="keywordflow">while</span> (!open_list.empty()) {</div>
|
||||
<div class="line"><a id="l00444" name="l00444"></a><span class="lineno"> 444</span> <span class="comment">// Iterator for state having having lowest f_score.</span></div>
|
||||
<div class="line"><a id="l00445" name="l00445"></a><span class="lineno"> 445</span> <span class="keyword">typename</span> SetOfPuzzleInfo::iterator it_low_f_score;</div>
|
||||
<div class="line"><a id="l00446" name="l00446"></a><span class="lineno"> 446</span> uint32_t min_f_score = 1e9;</div>
|
||||
<div class="line"><a id="l00447" name="l00447"></a><span class="lineno"> 447</span> <span class="keywordflow">for</span> (<span class="keyword">auto</span> iter = open_list.begin(); iter != open_list.end();</div>
|
||||
<div class="line"><a id="l00448" name="l00448"></a><span class="lineno"> 448</span> ++iter) {</div>
|
||||
<div class="line"><a id="l00449" name="l00449"></a><span class="lineno"> 449</span> <span class="comment">// f score here is evaluated by g score (depth) and h score</span></div>
|
||||
<div class="line"><a id="l00450" name="l00450"></a><span class="lineno"> 450</span> <span class="comment">// (distance between current state and final state)</span></div>
|
||||
<div class="line"><a id="l00451" name="l00451"></a><span class="lineno"> 451</span> uint32_t f_score = (*iter)->heuristic_value + (*iter)->depth;</div>
|
||||
<div class="line"><a id="l00452" name="l00452"></a><span class="lineno"> 452</span> <span class="keywordflow">if</span> (f_score < min_f_score) {</div>
|
||||
<div class="line"><a id="l00453" name="l00453"></a><span class="lineno"> 453</span> min_f_score = f_score;</div>
|
||||
<div class="line"><a id="l00454" name="l00454"></a><span class="lineno"> 454</span> it_low_f_score = iter;</div>
|
||||
<div class="line"><a id="l00455" name="l00455"></a><span class="lineno"> 455</span> }</div>
|
||||
<div class="line"><a id="l00456" name="l00456"></a><span class="lineno"> 456</span> }</div>
|
||||
<div class="line"><a id="l00457" name="l00457"></a><span class="lineno"> 457</span> </div>
|
||||
<div class="line"><a id="l00458" name="l00458"></a><span class="lineno"> 458</span> <span class="comment">// current_state, stores lowest f score so far for this state.</span></div>
|
||||
<div class="line"><a id="l00459" name="l00459"></a><span class="lineno"> 459</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr<Info></a> current_state = *it_low_f_score;</div>
|
||||
<div class="line"><a id="l00460" name="l00460"></a><span class="lineno"> 460</span> </div>
|
||||
<div class="line"><a id="l00461" name="l00461"></a><span class="lineno"> 461</span> <span class="comment">// if this current state is equal to final, return</span></div>
|
||||
<div class="line"><a id="l00462" name="l00462"></a><span class="lineno"> 462</span> <span class="keywordflow">if</span> (*(current_state->state) == *(Final->state)) {</div>
|
||||
<div class="line"><a id="l00463" name="l00463"></a><span class="lineno"> 463</span> <span class="keywordflow">return</span> <a class="code hl_function" href="../../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#a0a26aa9ad3d73707370d9fe83707aca4">Solution</a>(current_state, parent_of);</div>
|
||||
<div class="line"><a id="l00464" name="l00464"></a><span class="lineno"> 464</span> }</div>
|
||||
<div class="line"><a id="l00465" name="l00465"></a><span class="lineno"> 465</span> <span class="comment">// else remove from open list as visited.</span></div>
|
||||
<div class="line"><a id="l00466" name="l00466"></a><span class="lineno"> 466</span> open_list.erase(it_low_f_score);</div>
|
||||
<div class="line"><a id="l00467" name="l00467"></a><span class="lineno"> 467</span> <span class="comment">// if current_state has exceeded the allowed depth, skip</span></div>
|
||||
<div class="line"><a id="l00468" name="l00468"></a><span class="lineno"> 468</span> <span class="comment">// neighbor checking</span></div>
|
||||
<div class="line"><a id="l00469" name="l00469"></a><span class="lineno"> 469</span> <span class="keywordflow">if</span> (current_state->depth >= permissible_depth) {</div>
|
||||
<div class="line"><a id="l00470" name="l00470"></a><span class="lineno"> 470</span> <span class="keywordflow">continue</span>;</div>
|
||||
<div class="line"><a id="l00471" name="l00471"></a><span class="lineno"> 471</span> }</div>
|
||||
<div class="line"><a id="l00472" name="l00472"></a><span class="lineno"> 472</span> <span class="comment">// Generate all possible moves (neighbors) given the current</span></div>
|
||||
<div class="line"><a id="l00473" name="l00473"></a><span class="lineno"> 473</span> <span class="comment">// state</span></div>
|
||||
<div class="line"><a id="l00474" name="l00474"></a><span class="lineno"> 474</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<Puzzle></a> total_possible_moves =</div>
|
||||
<div class="line"><a id="l00475" name="l00475"></a><span class="lineno"> 475</span> current_state->state->generate_possible_moves();</div>
|
||||
<div class="line"><a id="l00476" name="l00476"></a><span class="lineno"> 476</span> </div>
|
||||
<div class="line"><a id="l00477" name="l00477"></a><span class="lineno"> 477</span> <span class="keywordflow">for</span> (Puzzle &neighbor : total_possible_moves) {</div>
|
||||
<div class="line"><a id="l00478" name="l00478"></a><span class="lineno"> 478</span> <span class="comment">// calculate score of neighbors with respect to</span></div>
|
||||
<div class="line"><a id="l00479" name="l00479"></a><span class="lineno"> 479</span> <span class="comment">// current_state</span></div>
|
||||
<div class="line"><a id="l00480" name="l00480"></a><span class="lineno"> 480</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr<Info></a> Neighbor = std::make_shared<Info>(</div>
|
||||
<div class="line"><a id="l00481" name="l00481"></a><span class="lineno"> 481</span> neighbor, dist(neighbor, *(Final->state)),</div>
|
||||
<div class="line"><a id="l00482" name="l00482"></a><span class="lineno"> 482</span> current_state->depth + 1U);</div>
|
||||
<div class="line"><a id="l00483" name="l00483"></a><span class="lineno"> 483</span> uint32_t temp_g_score = Neighbor->depth;</div>
|
||||
<div class="line"><a id="l00484" name="l00484"></a><span class="lineno"> 484</span> </div>
|
||||
<div class="line"><a id="l00485" name="l00485"></a><span class="lineno"> 485</span> <span class="comment">// Check whether this state is explored.</span></div>
|
||||
<div class="line"><a id="l00486" name="l00486"></a><span class="lineno"> 486</span> <span class="comment">// If this state is discovered at greater depth, then discard,</span></div>
|
||||
<div class="line"><a id="l00487" name="l00487"></a><span class="lineno"> 487</span> <span class="comment">// else remove from closed list and explore the node</span></div>
|
||||
<div class="line"><a id="l00488" name="l00488"></a><span class="lineno"> 488</span> <span class="keyword">auto</span> closed_list_iter = closed_list.find(Neighbor);</div>
|
||||
<div class="line"><a id="l00489" name="l00489"></a><span class="lineno"> 489</span> <span class="keywordflow">if</span> (closed_list_iter != closed_list.end()) {</div>
|
||||
<div class="line"><a id="l00490" name="l00490"></a><span class="lineno"> 490</span> <span class="comment">// 1. If state in closed list has higher depth, then remove</span></div>
|
||||
<div class="line"><a id="l00491" name="l00491"></a><span class="lineno"> 491</span> <span class="comment">// from list since we have found better option,</span></div>
|
||||
<div class="line"><a id="l00492" name="l00492"></a><span class="lineno"> 492</span> <span class="comment">// 2. Else don't explore this state.</span></div>
|
||||
<div class="line"><a id="l00493" name="l00493"></a><span class="lineno"> 493</span> <span class="keywordflow">if</span> (Neighbor->depth < (*closed_list_iter)->depth) {</div>
|
||||
<div class="line"><a id="l00494" name="l00494"></a><span class="lineno"> 494</span> closed_list.erase(closed_list_iter);</div>
|
||||
<div class="line"><a id="l00495" name="l00495"></a><span class="lineno"> 495</span> } <span class="keywordflow">else</span> {</div>
|
||||
<div class="line"><a id="l00496" name="l00496"></a><span class="lineno"> 496</span> <span class="keywordflow">continue</span>;</div>
|
||||
<div class="line"><a id="l00497" name="l00497"></a><span class="lineno"> 497</span> }</div>
|
||||
<div class="line"><a id="l00498" name="l00498"></a><span class="lineno"> 498</span> }</div>
|
||||
<div class="line"><a id="l00499" name="l00499"></a><span class="lineno"> 499</span> <span class="keyword">auto</span> neighbor_g_score_iter = g_score.find(Neighbor);</div>
|
||||
<div class="line"><a id="l00500" name="l00500"></a><span class="lineno"> 500</span> <span class="comment">// if the neighbor is already created and has minimum</span></div>
|
||||
<div class="line"><a id="l00501" name="l00501"></a><span class="lineno"> 501</span> <span class="comment">// g_score, then update g_score and f_score else insert new</span></div>
|
||||
<div class="line"><a id="l00502" name="l00502"></a><span class="lineno"> 502</span> <span class="keywordflow">if</span> (neighbor_g_score_iter != g_score.end()) {</div>
|
||||
<div class="line"><a id="l00503" name="l00503"></a><span class="lineno"> 503</span> <span class="keywordflow">if</span> (neighbor_g_score_iter->second > temp_g_score) {</div>
|
||||
<div class="line"><a id="l00504" name="l00504"></a><span class="lineno"> 504</span> neighbor_g_score_iter->second = temp_g_score;</div>
|
||||
<div class="line"><a id="l00505" name="l00505"></a><span class="lineno"> 505</span> parent_of[Neighbor] = current_state;</div>
|
||||
<div class="line"><a id="l00506" name="l00506"></a><span class="lineno"> 506</span> }</div>
|
||||
<div class="line"><a id="l00507" name="l00507"></a><span class="lineno"> 507</span> } <span class="keywordflow">else</span> {</div>
|
||||
<div class="line"><a id="l00508" name="l00508"></a><span class="lineno"> 508</span> g_score[Neighbor] = temp_g_score;</div>
|
||||
<div class="line"><a id="l00509" name="l00509"></a><span class="lineno"> 509</span> parent_of[Neighbor] = current_state;</div>
|
||||
<div class="line"><a id="l00510" name="l00510"></a><span class="lineno"> 510</span> }</div>
|
||||
<div class="line"><a id="l00511" name="l00511"></a><span class="lineno"> 511</span> <span class="comment">// If this is a new state, insert into open_list</span></div>
|
||||
<div class="line"><a id="l00512" name="l00512"></a><span class="lineno"> 512</span> <span class="comment">// else update if the this state has better g score than</span></div>
|
||||
<div class="line"><a id="l00513" name="l00513"></a><span class="lineno"> 513</span> <span class="comment">// existing one.</span></div>
|
||||
<div class="line"><a id="l00514" name="l00514"></a><span class="lineno"> 514</span> <span class="keyword">auto</span> iter = open_list.find(Neighbor);</div>
|
||||
<div class="line"><a id="l00515" name="l00515"></a><span class="lineno"> 515</span> <span class="keywordflow">if</span> (iter == open_list.end()) {</div>
|
||||
<div class="line"><a id="l00516" name="l00516"></a><span class="lineno"> 516</span> open_list.emplace(Neighbor);</div>
|
||||
<div class="line"><a id="l00517" name="l00517"></a><span class="lineno"> 517</span> } <span class="keywordflow">else</span> <span class="keywordflow">if</span> ((*iter)->depth > Neighbor->depth) {</div>
|
||||
<div class="line"><a id="l00518" name="l00518"></a><span class="lineno"> 518</span> (*iter)->depth = Neighbor->depth;</div>
|
||||
<div class="line"><a id="l00519" name="l00519"></a><span class="lineno"> 519</span> }</div>
|
||||
<div class="line"><a id="l00520" name="l00520"></a><span class="lineno"> 520</span> }</div>
|
||||
<div class="line"><a id="l00521" name="l00521"></a><span class="lineno"> 521</span> closed_list.emplace(current_state);</div>
|
||||
<div class="line"><a id="l00522" name="l00522"></a><span class="lineno"> 522</span> }</div>
|
||||
<div class="line"><a id="l00523" name="l00523"></a><span class="lineno"> 523</span> <span class="comment">// Cannot find the solution, return empty vector</span></div>
|
||||
<div class="line"><a id="l00524" name="l00524"></a><span class="lineno"> 524</span> <span class="keywordflow">return</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<Puzzle></a>(0);</div>
|
||||
<div class="line"><a id="l00525" name="l00525"></a><span class="lineno"> 525</span> }</div>
|
||||
<div class="ttc" id="aclassmachine__learning_1_1aystar__search_1_1_ay_star_search_html_a0a26aa9ad3d73707370d9fe83707aca4"><div class="ttname"><a href="../../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#a0a26aa9ad3d73707370d9fe83707aca4">machine_learning::aystar_search::AyStarSearch::Solution</a></div><div class="ttdeci">std::vector< Puzzle > Solution(std::shared_ptr< Info > FinalState, const MapOfPuzzleInfoWithPuzzleInfo &parent_of)</div><div class="ttdoc">A helper solution: launches when a solution for AyStarSearch is found.</div><div class="ttdef"><b>Definition:</b> a_star_search.cpp:405</div></div>
|
||||
<div class="ttc" id="ashared_ptr_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a></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="../../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search_a5bb772fd41005fdefa8bd32edbf00cc3_cgraph.svg" width="626" height="472"><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="../../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search_a48284e156fdd48fd0c41008c7e48f201_cgraph.svg" width="626" height="472"><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="afaeb1cde711f5198dc3dd213dedbd726"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#afaeb1cde711f5198dc3dd213dedbd726">◆ </a></span>Solution()</h2>
|
||||
<a id="a0a26aa9ad3d73707370d9fe83707aca4" name="a0a26aa9ad3d73707370d9fe83707aca4"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a0a26aa9ad3d73707370d9fe83707aca4">◆ </a></span>Solution()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
@@ -393,7 +384,7 @@ template<typename Puzzle > </div>
|
||||
<td class="mlabels-left">
|
||||
<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><Puzzle> <a class="el" href="../../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html">machine_learning::aystar_search::AyStarSearch</a>< Puzzle >::<a class="el" href="../../dd/d4f/class_solution.html">Solution</a> </td>
|
||||
<td class="memname"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>< Puzzle > <a class="el" href="../../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html">machine_learning::aystar_search::AyStarSearch</a>< Puzzle >::<a class="el" href="../../dd/d4f/class_solution.html">Solution</a> </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>< <a class="el" href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html">Info</a> > </td>
|
||||
<td class="paramname"><em>FinalState</em>, </td>
|
||||
@@ -426,25 +417,25 @@ template<typename Puzzle > </div>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>the list of moves denoting moves from final state to initial state (in reverse) </dd></dl>
|
||||
<div class="fragment"><div class="line"><a name="l00407"></a><span class="lineno"> 407</span>  {</div>
|
||||
<div class="line"><a name="l00408"></a><span class="lineno"> 408</span>  <span class="comment">// Useful for traversing from final state to current state.</span></div>
|
||||
<div class="line"><a name="l00409"></a><span class="lineno"> 409</span>  <span class="keyword">auto</span> current_state = FinalState;</div>
|
||||
<div class="line"><a name="l00410"></a><span class="lineno"> 410</span>  <span class="comment">/*</span></div>
|
||||
<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> <span class="comment"> * For storing the solution tree starting from initial state to</span></div>
|
||||
<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> <span class="comment"> * final state</span></div>
|
||||
<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> <span class="comment"> */</span></div>
|
||||
<div class="line"><a name="l00414"></a><span class="lineno"> 414</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<Puzzle></a> answer;</div>
|
||||
<div class="line"><a name="l00415"></a><span class="lineno"> 415</span>  <span class="keywordflow">while</span> (current_state != <span class="keyword">nullptr</span>) {</div>
|
||||
<div class="line"><a name="l00416"></a><span class="lineno"> 416</span>  answer.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/emplace_back.html">emplace_back</a>(*current_state->state);</div>
|
||||
<div class="line"><a name="l00417"></a><span class="lineno"> 417</span>  current_state = parent_of.find(current_state)->second;</div>
|
||||
<div class="line"><a name="l00418"></a><span class="lineno"> 418</span>  }</div>
|
||||
<div class="line"><a name="l00419"></a><span class="lineno"> 419</span>  <span class="keywordflow">return</span> answer;</div>
|
||||
<div class="line"><a name="l00420"></a><span class="lineno"> 420</span>  }</div>
|
||||
<div class="fragment"><div class="line"><a id="l00407" name="l00407"></a><span class="lineno"> 407</span> {</div>
|
||||
<div class="line"><a id="l00408" name="l00408"></a><span class="lineno"> 408</span> <span class="comment">// Useful for traversing from final state to current state.</span></div>
|
||||
<div class="line"><a id="l00409" name="l00409"></a><span class="lineno"> 409</span> <span class="keyword">auto</span> current_state = FinalState;</div>
|
||||
<div class="line"><a id="l00410" name="l00410"></a><span class="lineno"> 410</span> <span class="comment">/*</span></div>
|
||||
<div class="line"><a id="l00411" name="l00411"></a><span class="lineno"> 411</span><span class="comment"> * For storing the solution tree starting from initial state to</span></div>
|
||||
<div class="line"><a id="l00412" name="l00412"></a><span class="lineno"> 412</span><span class="comment"> * final state</span></div>
|
||||
<div class="line"><a id="l00413" name="l00413"></a><span class="lineno"> 413</span><span class="comment"> */</span></div>
|
||||
<div class="line"><a id="l00414" name="l00414"></a><span class="lineno"> 414</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<Puzzle></a> answer;</div>
|
||||
<div class="line"><a id="l00415" name="l00415"></a><span class="lineno"> 415</span> <span class="keywordflow">while</span> (current_state != <span class="keyword">nullptr</span>) {</div>
|
||||
<div class="line"><a id="l00416" name="l00416"></a><span class="lineno"> 416</span> answer.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/emplace_back.html">emplace_back</a>(*current_state->state);</div>
|
||||
<div class="line"><a id="l00417" name="l00417"></a><span class="lineno"> 417</span> current_state = parent_of.find(current_state)->second;</div>
|
||||
<div class="line"><a id="l00418" name="l00418"></a><span class="lineno"> 418</span> }</div>
|
||||
<div class="line"><a id="l00419" name="l00419"></a><span class="lineno"> 419</span> <span class="keywordflow">return</span> answer;</div>
|
||||
<div class="line"><a id="l00420" name="l00420"></a><span class="lineno"> 420</span> }</div>
|
||||
<div class="ttc" id="aemplace_back_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/emplace_back.html">std::vector::emplace_back</a></div><div class="ttdeci">T emplace_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="../../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search_afaeb1cde711f5198dc3dd213dedbd726_cgraph.svg" width="407" 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="../../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search_a0a26aa9ad3d73707370d9fe83707aca4_cgraph.svg" width="407" height="88"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -459,7 +450,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="../../d8/d77/namespacemachine__learning.html">machine_learning</a></li><li class="navelem"><b>aystar_search</b></li><li class="navelem"><a class="el" href="../../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html">AyStarSearch</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>
|
||||
|
||||
@@ -1,14 +1,9 @@
|
||||
var classmachine__learning_1_1aystar__search_1_1_ay_star_search =
|
||||
[
|
||||
[ "comparison_operator", "d3/d2a/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1comparison__operator.html", "d3/d2a/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1comparison__operator" ],
|
||||
[ "comparison_operator", "d3/d2a/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1comparison__operator.html", null ],
|
||||
[ "Info", "da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html", "da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info" ],
|
||||
[ "Info", "da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#a47b9bc9815a2e7123ac1dc13e5377301", null ],
|
||||
[ "MapOfPuzzleInfoWithInteger", "da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#abb04e9c0f316e6febcd486da47c4b2d0", null ],
|
||||
[ "MapOfPuzzleInfoWithPuzzleInfo", "da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#ad37c0d6640f887d001dbf562deba4971", null ],
|
||||
[ "SetOfPuzzleInfo", "da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#acffa24ad24940c421bf6bb77f71a762c", null ],
|
||||
[ "AyStarSearch", "da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#abaff2ea6d309e1133fd95bbd1e39946e", null ],
|
||||
[ "a_star_search", "da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#a5bb772fd41005fdefa8bd32edbf00cc3", null ],
|
||||
[ "Solution", "da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#afaeb1cde711f5198dc3dd213dedbd726", null ],
|
||||
[ "Final", "da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#a1686cbc0c50ae9e6f949b1e4b46be9ff", null ],
|
||||
[ "Initial", "da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#ac11d62d01fac136efbd2bace6c55cea5", null ]
|
||||
[ "a_star_search", "da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#a48284e156fdd48fd0c41008c7e48f201", null ],
|
||||
[ "Solution", "da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#a0a26aa9ad3d73707370d9fe83707aca4", null ]
|
||||
];
|
||||
@@ -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: machine_learning::aystar_search::AyStarSearch::Solution Pages: 1 -->
|
||||
<svg width="305pt" height="66pt"
|
||||
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.8 KiB |
@@ -3,11 +3,11 @@
|
||||
<area shape="rect" id="node2" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/set/begin.html#" title=" " alt="" coords="257,5,362,32"/>
|
||||
<area shape="rect" id="node3" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/set/emplace.html#" title=" " alt="" coords="248,56,371,83"/>
|
||||
<area shape="rect" id="node4" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/set/empty.html#" title=" " alt="" coords="255,107,364,133"/>
|
||||
<area shape="rect" id="node5" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/map/end.html#" title=" " alt="" coords="258,157,361,184"/>
|
||||
<area shape="rect" id="node6" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/set/end.html#" title=" " alt="" coords="262,208,357,235"/>
|
||||
<area shape="rect" id="node5" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/set/end.html#" title=" " alt="" coords="262,157,357,184"/>
|
||||
<area shape="rect" id="node6" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/map/end.html#" title=" " alt="" coords="258,208,361,235"/>
|
||||
<area shape="rect" id="node7" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/set/erase.html#" title=" " alt="" coords="257,259,362,285"/>
|
||||
<area shape="rect" id="node8" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/map/find.html#" title=" " alt="" coords="480,343,583,369"/>
|
||||
<area shape="rect" id="node9" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/set/find.html#" title=" " alt="" coords="263,360,356,387"/>
|
||||
<area shape="rect" id="node10" href="$da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#afaeb1cde711f5198dc3dd213dedbd726" title="A helper solution: launches when a solution for AyStarSearch is found." alt="" coords="224,411,395,467"/>
|
||||
<area shape="rect" id="node8" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/set/find.html#" title=" " alt="" coords="263,309,356,336"/>
|
||||
<area shape="rect" id="node9" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/map/find.html#" title=" " alt="" coords="480,368,583,395"/>
|
||||
<area shape="rect" id="node10" href="$da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#a0a26aa9ad3d73707370d9fe83707aca4" title="A helper solution: launches when a solution for AyStarSearch is found." alt="" coords="224,411,395,467"/>
|
||||
<area shape="rect" id="node11" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/emplace_back.html#" title=" " alt="" coords="443,425,620,452"/>
|
||||
</map>
|
||||
@@ -0,0 +1 @@
|
||||
917ef1f6aec9dcbb1295ded3f018b12e
|
||||
@@ -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: machine_learning::aystar_search::AyStarSearch::a_star_search Pages: 1 -->
|
||||
<svg width="469pt" height="354pt"
|
||||
@@ -68,32 +68,32 @@
|
||||
<!-- 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/map/end.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="189.5,-212.5 189.5,-231.5 266.5,-231.5 266.5,-212.5 189.5,-212.5"/>
|
||||
<text text-anchor="middle" x="228" y="-219.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::map::end</text>
|
||||
<g id="a_node5"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/set/end.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="192.5,-212.5 192.5,-231.5 263.5,-231.5 263.5,-212.5 192.5,-212.5"/>
|
||||
<text text-anchor="middle" x="228" y="-219.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::set::end</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node5 -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>Node1->Node5</title>
|
||||
<path fill="none" stroke="midnightblue" d="M128.1,-198.8C145,-202.77 163.01,-206.99 178.96,-210.73"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="178.57,-214.24 189.11,-213.11 180.17,-207.42 178.57,-214.24"/>
|
||||
<path fill="none" stroke="midnightblue" d="M128.1,-198.8C146.2,-203.05 165.55,-207.59 182.29,-211.51"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="181.81,-215 192.35,-213.87 183.41,-208.18 181.81,-215"/>
|
||||
</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/set/end.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="192.5,-174.5 192.5,-193.5 263.5,-193.5 263.5,-174.5 192.5,-174.5"/>
|
||||
<text text-anchor="middle" x="228" y="-181.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::set::end</text>
|
||||
<g id="a_node6"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/map/end.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="189.5,-174.5 189.5,-193.5 266.5,-193.5 266.5,-174.5 189.5,-174.5"/>
|
||||
<text text-anchor="middle" x="228" y="-181.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::map::end</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node6 -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>Node1->Node6</title>
|
||||
<path fill="none" stroke="midnightblue" d="M128.1,-184C146.2,-184 165.55,-184 182.29,-184"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="182.35,-187.5 192.35,-184 182.35,-180.5 182.35,-187.5"/>
|
||||
<path fill="none" stroke="midnightblue" d="M128.1,-184C145,-184 163.01,-184 178.96,-184"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="179.11,-187.5 189.11,-184 179.11,-180.5 179.11,-187.5"/>
|
||||
</g>
|
||||
<!-- Node7 -->
|
||||
<g id="node7" class="node">
|
||||
@@ -113,37 +113,37 @@
|
||||
<!-- 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/map/find.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="356,-73.5 356,-92.5 433,-92.5 433,-73.5 356,-73.5"/>
|
||||
<text text-anchor="middle" x="394.5" y="-80.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::map::find</text>
|
||||
<g id="a_node8"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/set/find.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="193,-98.5 193,-117.5 263,-117.5 263,-98.5 193,-98.5"/>
|
||||
<text text-anchor="middle" x="228" y="-105.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::set::find</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node8 -->
|
||||
<g id="edge7" class="edge">
|
||||
<title>Node1->Node8</title>
|
||||
<path fill="none" stroke="midnightblue" d="M94.91,-163.26C113.91,-150.99 139.46,-136.12 164,-127 224.58,-104.48 298.64,-92.95 345.94,-87.45"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="346.36,-90.93 355.9,-86.34 345.58,-83.97 346.36,-90.93"/>
|
||||
<path fill="none" stroke="midnightblue" d="M96.58,-163.32C115.56,-151.54 140.51,-137.14 164,-127 169.99,-124.41 176.44,-122.04 182.85,-119.9"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="184.33,-123.11 192.81,-116.76 182.22,-116.43 184.33,-123.11"/>
|
||||
</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/container/set/find.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="193,-60.5 193,-79.5 263,-79.5 263,-60.5 193,-60.5"/>
|
||||
<text text-anchor="middle" x="228" y="-67.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::set::find</text>
|
||||
<g id="a_node9"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/map/find.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="356,-54.5 356,-73.5 433,-73.5 433,-54.5 356,-54.5"/>
|
||||
<text text-anchor="middle" x="394.5" y="-61.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::map::find</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node9 -->
|
||||
<g id="edge8" class="edge">
|
||||
<title>Node1->Node9</title>
|
||||
<path fill="none" stroke="midnightblue" d="M83.32,-163.35C101.96,-143.37 132.53,-113.33 164,-94 170.73,-89.86 178.29,-86.24 185.78,-83.15"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="187.09,-86.39 195.15,-79.51 184.56,-79.87 187.09,-86.39"/>
|
||||
<path fill="none" stroke="midnightblue" d="M79.82,-163.23C97.18,-140.7 128.17,-105.72 164,-89 222.2,-61.84 297.46,-58.89 345.62,-60.48"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="345.63,-63.98 355.76,-60.89 345.92,-56.99 345.63,-63.98"/>
|
||||
</g>
|
||||
<!-- Node10 -->
|
||||
<g id="node10" class="node">
|
||||
<title>Node10</title>
|
||||
<g id="a_node10"><a xlink:href="../../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#afaeb1cde711f5198dc3dd213dedbd726" target="_top" xlink:title="A helper solution: launches when a solution for AyStarSearch is found.">
|
||||
<g id="a_node10"><a xlink:href="../../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#a0a26aa9ad3d73707370d9fe83707aca4" target="_top" xlink:title="A helper solution: launches when a solution for AyStarSearch is found.">
|
||||
<polygon fill="white" stroke="black" points="164,-0.5 164,-41.5 292,-41.5 292,-0.5 164,-0.5"/>
|
||||
<text text-anchor="start" x="172" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">machine_learning::aystar</text>
|
||||
<text text-anchor="start" x="172" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">_search::AyStarSearch::</text>
|
||||
@@ -154,14 +154,14 @@
|
||||
<!-- Node1->Node10 -->
|
||||
<g id="edge9" class="edge">
|
||||
<title>Node1->Node10</title>
|
||||
<path fill="none" stroke="midnightblue" d="M76.22,-163.06C92.38,-134.54 124.63,-83.34 164,-51 165.54,-49.73 167.15,-48.5 168.81,-47.31"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="170.96,-50.08 177.42,-41.69 167.13,-44.22 170.96,-50.08"/>
|
||||
<path fill="none" stroke="midnightblue" d="M77.26,-163.29C94.14,-136.09 126.71,-88.04 164,-56 167.66,-52.85 171.65,-49.86 175.79,-47.04"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="177.88,-49.86 184.42,-41.53 174.11,-43.96 177.88,-49.86"/>
|
||||
</g>
|
||||
<!-- Node10->Node8 -->
|
||||
<!-- Node10->Node9 -->
|
||||
<g id="edge11" class="edge">
|
||||
<title>Node10->Node8</title>
|
||||
<path fill="none" stroke="midnightblue" d="M283.78,-41.65C308.42,-50.93 336.77,-61.62 358.48,-69.8"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="357.36,-73.12 367.95,-73.37 359.83,-66.57 357.36,-73.12"/>
|
||||
<title>Node10->Node9</title>
|
||||
<path fill="none" stroke="midnightblue" d="M292.13,-37.5C310.46,-42.29 330.13,-47.43 347.22,-51.9"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="346.39,-55.3 356.95,-54.45 348.16,-48.53 346.39,-55.3"/>
|
||||
</g>
|
||||
<!-- Node11 -->
|
||||
<g id="node11" class="node">
|
||||
|
Before Width: | Height: | Size: 9.5 KiB After Width: | Height: | Size: 9.5 KiB |
@@ -1 +0,0 @@
|
||||
22d81ef3e73688a898844740f45dacc4
|
||||
@@ -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/eulers_totient_function.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++
|
||||
 <span id="projectnumber">1.0.0</span>
|
||||
<div id="projectname">Algorithms_in_C++<span id="projectnumber"> 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&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "../../search",false,'Search','.html');
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&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&dn=gpl-2.0.txt GPL-v2 */
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&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&dn=gpl-2.0.txt GPL-v2 */
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||
$(document).ready(function(){initNavTree('da/d23/eulers__totient__function_8cpp.html','../../'); initResizable(); });
|
||||
/* @license-end */
|
||||
</script>
|
||||
@@ -92,12 +92,11 @@ $(document).ready(function(){initNavTree('da/d23/eulers__totient__function_8cpp.
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#func-members">Functions</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">eulers_totient_function.cpp File Reference</div> </div>
|
||||
<div class="headertitle"><div class="title">eulers_totient_function.cpp File Reference</div></div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>C++ Program to find <a href="https://en.wikipedia.org/wiki/Euler%27s_totient_function">Euler's Totient</a> function.
|
||||
<p>C++ Program to find <a href="https://en.wikipedia.org/wiki/Euler%27s_totient_function" target="_blank">Euler's Totient</a> function.
|
||||
<a href="#details">More...</a></p>
|
||||
<div class="textblock"><code>#include <cstdlib></code><br />
|
||||
<code>#include <iostream></code><br />
|
||||
@@ -108,18 +107,17 @@ Include dependency graph for eulers_totient_function.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:a35e4874a3e1d67eb708dc57944c8aea0"><td class="memItemLeft" align="right" valign="top">uint64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d23/eulers__totient__function_8cpp.html#a35e4874a3e1d67eb708dc57944c8aea0">phiFunction</a> (uint64_t n)</td></tr>
|
||||
<tr class="separator:a35e4874a3e1d67eb708dc57944c8aea0"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a0ddf1224851353fc92bfbff6f499fa97"><td class="memItemLeft" align="right" valign="top"><a id="a0ddf1224851353fc92bfbff6f499fa97"></a>
|
||||
int </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d23/eulers__totient__function_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97">main</a> (int argc, char *argv[])</td></tr>
|
||||
<tr class="memdesc:a0ddf1224851353fc92bfbff6f499fa97"><td class="mdescLeft"> </td><td class="mdescRight">Main function. <br /></td></tr>
|
||||
<tr class="memitem:a0ddf1224851353fc92bfbff6f499fa97"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d23/eulers__totient__function_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97">main</a> (int argc, char *argv[])</td></tr>
|
||||
<tr class="memdesc:a0ddf1224851353fc92bfbff6f499fa97"><td class="mdescLeft"> </td><td class="mdescRight">Main function. <a href="../../da/d23/eulers__totient__function_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97">More...</a><br /></td></tr>
|
||||
<tr class="separator:a0ddf1224851353fc92bfbff6f499fa97"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p>C++ Program to find <a href="https://en.wikipedia.org/wiki/Euler%27s_totient_function">Euler's Totient</a> function. </p>
|
||||
<p>Euler Totient Function is also known as phi function. </p><p class="formulaDsp">
|
||||
<div class="textblock"><p >C++ Program to find <a href="https://en.wikipedia.org/wiki/Euler%27s_totient_function" target="_blank">Euler's Totient</a> function. </p>
|
||||
<p >Euler Totient Function is also known as phi function. </p><p class="formulaDsp">
|
||||
\[\phi(n) = \phi\left({p_1}^{a_1}\right)\cdot\phi\left({p_2}^{a_2}\right)\ldots\]
|
||||
</p>
|
||||
<p> where \(p_1\), \(p_2\), \(\ldots\) are prime factors of n. <br />
|
||||
@@ -128,7 +126,7 @@ int </td><td class="memItemRight" valign="bottom"><a class="el" href="../..
|
||||
<li>\(\phi(n^k) = n^k - n^{k-1}\)</li>
|
||||
<li>\(\phi(a,b) = \phi(a)\cdot\phi(b)\) where a and b are relative primes.</li>
|
||||
</ol>
|
||||
<p>Applying this 3 properties on the first equation. </p><p class="formulaDsp">
|
||||
<p >Applying this 3 properties on the first equation. </p><p class="formulaDsp">
|
||||
\[\phi(n) = n\cdot\left(1-\frac{1}{p_1}\right)\cdot\left(1-\frac{1}{p_2}\right)\cdots\]
|
||||
</p>
|
||||
<p> where \(p_1\), \(p_2\)... are prime factors. Hence Implementation in \(O\left(\sqrt{n}\right)\). <br />
|
||||
@@ -139,7 +137,58 @@ Some known values are:</p><ul>
|
||||
<li>\(\phi(1420) = 560\) </li>
|
||||
</ul>
|
||||
</div><h2 class="groupheader">Function Documentation</h2>
|
||||
<a id="a35e4874a3e1d67eb708dc57944c8aea0"></a>
|
||||
<a id="a0ddf1224851353fc92bfbff6f499fa97" name="a0ddf1224851353fc92bfbff6f499fa97"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a0ddf1224851353fc92bfbff6f499fa97">◆ </a></span>main()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">int main </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"><em>argc</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">char * </td>
|
||||
<td class="paramname"><em>argv</em>[] </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Main function. </p>
|
||||
<div class="fragment"><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> uint64_t n;</div>
|
||||
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> <span class="keywordflow">if</span> (argc < 2) {</div>
|
||||
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Enter the number: "</span>;</div>
|
||||
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> } <span class="keywordflow">else</span> {</div>
|
||||
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> n = <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/byte/strtoul.html">strtoull</a>(argv[1], <span class="keyword">nullptr</span>, 10);</div>
|
||||
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> }</div>
|
||||
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> >> n;</div>
|
||||
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <a class="code hl_function" href="../../da/d23/eulers__totient__function_8cpp.html#a35e4874a3e1d67eb708dc57944c8aea0">phiFunction</a>(n);</div>
|
||||
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> <span class="keywordflow">return</span> 0;</div>
|
||||
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</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="aeulers__totient__function_8cpp_html_a35e4874a3e1d67eb708dc57944c8aea0"><div class="ttname"><a href="../../da/d23/eulers__totient__function_8cpp.html#a35e4874a3e1d67eb708dc57944c8aea0">phiFunction</a></div><div class="ttdeci">uint64_t phiFunction(uint64_t n)</div><div class="ttdef"><b>Definition:</b> eulers_totient_function.cpp:32</div></div>
|
||||
<div class="ttc" id="astrtoul_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/string/byte/strtoul.html">std::strtoull</a></div><div class="ttdeci">T strtoull(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="../../da/d23/eulers__totient__function_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg" width="200" 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="a35e4874a3e1d67eb708dc57944c8aea0" name="a35e4874a3e1d67eb708dc57944c8aea0"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a35e4874a3e1d67eb708dc57944c8aea0">◆ </a></span>phiFunction()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
@@ -154,21 +203,21 @@ Some known values are:</p><ul>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Function to caculate Euler's totient phi </p>
|
||||
<div class="fragment"><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>  {</div>
|
||||
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  uint64_t <a class="code" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a> = n;</div>
|
||||
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  <span class="keywordflow">for</span> (uint64_t i = 2; i * i <= n; i++) {</div>
|
||||
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  <span class="keywordflow">if</span> (n % i == 0) {</div>
|
||||
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  <span class="keywordflow">while</span> (n % i == 0) {</div>
|
||||
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  n /= i;</div>
|
||||
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  }</div>
|
||||
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  <a class="code" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a> -= <a class="code" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a> / i;</div>
|
||||
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  }</div>
|
||||
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  }</div>
|
||||
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  <span class="keywordflow">if</span> (n > 1)</div>
|
||||
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  <a class="code" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a> -= <a class="code" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a> / n;</div>
|
||||
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <span class="keywordflow">return</span> <a class="code" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a>;</div>
|
||||
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span> }</div>
|
||||
<p >Function to caculate Euler's totient phi </p>
|
||||
<div class="fragment"><div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> {</div>
|
||||
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> uint64_t <a class="code hl_function" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a> = n;</div>
|
||||
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> <span class="keywordflow">for</span> (uint64_t i = 2; i * i <= n; i++) {</div>
|
||||
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> <span class="keywordflow">if</span> (n % i == 0) {</div>
|
||||
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> <span class="keywordflow">while</span> (n % i == 0) {</div>
|
||||
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> n /= i;</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> <a class="code hl_function" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a> -= <a class="code hl_function" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a> / i;</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> }</div>
|
||||
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> <span class="keywordflow">if</span> (n > 1)</div>
|
||||
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> <a class="code hl_function" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a> -= <a class="code hl_function" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a> / n;</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/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a>;</div>
|
||||
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span>}</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>
|
||||
@@ -179,7 +228,7 @@ Some known values are:</p><ul>
|
||||
<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="../../da/d23/eulers__totient__function_8cpp.html">eulers_totient_function.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>
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
<map id="main" name="main">
|
||||
<area shape="rect" id="node1" title="Main function." alt="" coords="5,5,56,32"/>
|
||||
<area shape="rect" id="node2" href="$da/d23/eulers__totient__function_8cpp.html#a35e4874a3e1d67eb708dc57944c8aea0" title=" " alt="" coords="104,5,195,32"/>
|
||||
</map>
|
||||
@@ -0,0 +1 @@
|
||||
f2b66bea651630a1bb3b259c52dac761
|
||||
@@ -0,0 +1,37 @@
|
||||
<?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: main Pages: 1 -->
|
||||
<svg width="150pt" height="28pt"
|
||||
viewBox="0.00 0.00 150.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)">
|
||||
<title>main</title>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-24 146,-24 146,4 -4,4"/>
|
||||
<!-- Node1 -->
|
||||
<g id="node1" class="node">
|
||||
<title>Node1</title>
|
||||
<g id="a_node1"><a xlink:title="Main function.">
|
||||
<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-19.5 38,-19.5 38,-0.5 0,-0.5"/>
|
||||
<text text-anchor="middle" x="19" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">main</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node2 -->
|
||||
<g id="node2" class="node">
|
||||
<title>Node2</title>
|
||||
<g id="a_node2"><a xlink:href="../../da/d23/eulers__totient__function_8cpp.html#a35e4874a3e1d67eb708dc57944c8aea0" target="_top" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="74,-0.5 74,-19.5 142,-19.5 142,-0.5 74,-0.5"/>
|
||||
<text text-anchor="middle" x="108" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">phiFunction</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node2 -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>Node1->Node2</title>
|
||||
<path fill="none" stroke="midnightblue" d="M38.03,-10C45.55,-10 54.64,-10 63.72,-10"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="63.88,-13.5 73.88,-10 63.88,-6.5 63.88,-13.5"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.6 KiB |
@@ -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/sqrt_double.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++
|
||||
 <span id="projectnumber">1.0.0</span>
|
||||
<div id="projectname">Algorithms_in_C++<span id="projectnumber"> 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&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "../../search",false,'Search','.html');
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&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&dn=gpl-2.0.txt GPL-v2 */
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&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&dn=gpl-2.0.txt GPL-v2 */
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||
$(document).ready(function(){initNavTree('da/d24/sqrt__double_8cpp.html','../../'); initResizable(); });
|
||||
/* @license-end */
|
||||
</script>
|
||||
@@ -92,12 +92,11 @@ $(document).ready(function(){initNavTree('da/d24/sqrt__double_8cpp.html','../../
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#func-members">Functions</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">sqrt_double.cpp File Reference</div> </div>
|
||||
<div class="headertitle"><div class="title">sqrt_double.cpp File Reference</div></div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>Calculate the square root of any positive real number in \(O(\log N)\) time, with precision fixed using <a href="https://en.wikipedia.org/wiki/Bisection_method">bisection method</a> of root-finding.
|
||||
<p>Calculate the square root of any positive real number in \(O(\log N)\) time, with precision fixed using <a href="https://en.wikipedia.org/wiki/Bisection_method" target="_blank">bisection method</a> of root-finding.
|
||||
<a href="#details">More...</a></p>
|
||||
<div class="textblock"><code>#include <cassert></code><br />
|
||||
<code>#include <iostream></code><br />
|
||||
@@ -108,7 +107,7 @@ Include dependency graph for sqrt_double.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:ae662282ad0740d2063ac404ca3bd74fc"><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d24/sqrt__double_8cpp.html#ae662282ad0740d2063ac404ca3bd74fc">Sqrt</a> (double a)</td></tr>
|
||||
<tr class="separator:ae662282ad0740d2063ac404ca3bd74fc"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
@@ -116,10 +115,10 @@ Functions</h2></td></tr>
|
||||
<tr class="separator:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p>Calculate the square root of any positive real number in \(O(\log N)\) time, with precision fixed using <a href="https://en.wikipedia.org/wiki/Bisection_method">bisection method</a> of root-finding. </p>
|
||||
<div class="textblock"><p >Calculate the square root of any positive real number in \(O(\log N)\) time, with precision fixed using <a href="https://en.wikipedia.org/wiki/Bisection_method" target="_blank">bisection method</a> of root-finding. </p>
|
||||
<dl class="section see"><dt>See also</dt><dd>Can be implemented using faster and better algorithms like <a class="el" href="../../de/dd3/newton__raphson__method_8cpp.html" title="Solve the equation using Newton-Raphson method for both real and complex solutions.">newton_raphson_method.cpp</a> and <a class="el" href="../../dd/d29/false__position_8cpp.html" title="Solve the equation using false position method, also known as the Secant method.">false_position.cpp</a> </dd></dl>
|
||||
</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">◆ </a></span>main()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
@@ -134,15 +133,15 @@ Functions</h2></td></tr>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>main function </p>
|
||||
<div class="fragment"><div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  {</div>
|
||||
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  <span class="keywordtype">double</span> n{};</div>
|
||||
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> >> n;</div>
|
||||
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  assert(n >= 0);</div>
|
||||
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <span class="comment">// Change this line for a better precision</span></div>
|
||||
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a>.precision(12);</div>
|
||||
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/fixed.html">std::fixed</a> << <a class="code" href="../../da/d24/sqrt__double_8cpp.html#ae662282ad0740d2063ac404ca3bd74fc">Sqrt</a>(n);</div>
|
||||
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> }</div>
|
||||
<p >main function </p>
|
||||
<div class="fragment"><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="keywordtype">double</span> n{};</div>
|
||||
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> >> n;</div>
|
||||
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> assert(n >= 0);</div>
|
||||
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> <span class="comment">// Change this line for a better precision</span></div>
|
||||
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a>.precision(12);</div>
|
||||
<div class="line"><a id="l00048" name="l00048"></a><span class="lineno"> 48</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/fixed.html">std::fixed</a> << <a class="code hl_function" href="../../da/d24/sqrt__double_8cpp.html#ae662282ad0740d2063ac404ca3bd74fc">Sqrt</a>(n);</div>
|
||||
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</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="afixed_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/manip/fixed.html">std::fixed</a></div><div class="ttdeci">T fixed(T... args)</div></div>
|
||||
@@ -150,13 +149,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="../../da/d24/sqrt__double_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg" width="186" 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="../../da/d24/sqrt__double_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg" width="186" height="112"><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="ae662282ad0740d2063ac404ca3bd74fc"></a>
|
||||
<a id="ae662282ad0740d2063ac404ca3bd74fc" name="ae662282ad0740d2063ac404ca3bd74fc"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ae662282ad0740d2063ac404ca3bd74fc">◆ </a></span>Sqrt()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
@@ -171,32 +170,38 @@ Here is the call graph for this function:</div>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Bisection method implemented for the function \(x^2-a=0\) whose roots are \(\pm\sqrt{a}\) and only the positive root is returned. </p>
|
||||
<div class="fragment"><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>  {</div>
|
||||
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>  <span class="keywordflow">if</span> (a > 0 && a < 1) {</div>
|
||||
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>  <span class="keywordflow">return</span> 1 / <a class="code" href="../../da/d24/sqrt__double_8cpp.html#ae662282ad0740d2063ac404ca3bd74fc">Sqrt</a>(1 / a);</div>
|
||||
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>  }</div>
|
||||
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>  <span class="keywordtype">double</span> l = 0, r = a;</div>
|
||||
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>  <span class="comment">/* Epsilon is the precision.</span></div>
|
||||
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> A great precision is</span></div>
|
||||
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> between 1e-7 and 1e-12.</span></div>
|
||||
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> double epsilon = 1e-12;</span></div>
|
||||
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> */</span></div>
|
||||
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>  <span class="keywordtype">double</span> epsilon = 1e-12;</div>
|
||||
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>  <span class="keywordflow">while</span> (l <= r) {</div>
|
||||
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>  <span class="keywordtype">double</span> mid = (l + r) / 2;</div>
|
||||
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>  <span class="keywordflow">if</span> (mid * mid > a) {</div>
|
||||
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>  r = mid;</div>
|
||||
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>  } <span class="keywordflow">else</span> {</div>
|
||||
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>  <span class="keywordflow">if</span> (a - mid * mid < epsilon) {</div>
|
||||
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  <span class="keywordflow">return</span> mid;</div>
|
||||
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  }</div>
|
||||
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  l = mid;</div>
|
||||
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  }</div>
|
||||
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  }</div>
|
||||
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  <span class="keywordflow">return</span> -1;</div>
|
||||
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span> }</div>
|
||||
</div><!-- fragment -->
|
||||
<p >Bisection method implemented for the function \(x^2-a=0\) whose roots are \(\pm\sqrt{a}\) and only the positive root is returned. </p>
|
||||
<div class="fragment"><div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> {</div>
|
||||
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span> <span class="keywordflow">if</span> (a > 0 && a < 1) {</div>
|
||||
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span> <span class="keywordflow">return</span> 1 / <a class="code hl_function" href="../../da/d24/sqrt__double_8cpp.html#ae662282ad0740d2063ac404ca3bd74fc">Sqrt</a>(1 / a);</div>
|
||||
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> }</div>
|
||||
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span> <span class="keywordtype">double</span> l = 0, r = a;</div>
|
||||
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> <span class="comment">/* Epsilon is the precision.</span></div>
|
||||
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="comment"> A great precision is</span></div>
|
||||
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="comment"> between 1e-7 and 1e-12.</span></div>
|
||||
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="comment"> double epsilon = 1e-12;</span></div>
|
||||
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="comment"> */</span></div>
|
||||
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> <span class="keywordtype">double</span> epsilon = 1e-12;</div>
|
||||
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> <span class="keywordflow">while</span> (l <= r) {</div>
|
||||
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> <span class="keywordtype">double</span> mid = (l + r) / 2;</div>
|
||||
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> <span class="keywordflow">if</span> (mid * mid > a) {</div>
|
||||
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> r = mid;</div>
|
||||
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> } <span class="keywordflow">else</span> {</div>
|
||||
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> <span class="keywordflow">if</span> (a - mid * mid < epsilon) {</div>
|
||||
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> <span class="keywordflow">return</span> mid;</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> l = mid;</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> }</div>
|
||||
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> <span class="keywordflow">return</span> -1;</div>
|
||||
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</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="../../da/d24/sqrt__double_8cpp_ae662282ad0740d2063ac404ca3bd74fc_cgraph.svg" width="58" 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>
|
||||
</div><!-- contents -->
|
||||
@@ -205,7 +210,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="../../da/d24/sqrt__double_8cpp.html">sqrt_double.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>
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
<map id="Sqrt" name="Sqrt">
|
||||
<area shape="rect" id="node1" title=" " alt="" coords="5,29,52,56"/>
|
||||
</map>
|
||||
@@ -0,0 +1 @@
|
||||
0e54ef49b6c704c09032de16c68a599c
|
||||
@@ -0,0 +1,28 @@
|
||||
<?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: Sqrt Pages: 1 -->
|
||||
<svg width="43pt" height="46pt"
|
||||
viewBox="0.00 0.00 43.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>Sqrt</title>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-42 39,-42 39,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,-19.5 35,-19.5 35,-0.5 0,-0.5"/>
|
||||
<text text-anchor="middle" x="17.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">Sqrt</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node1 -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>Node1->Node1</title>
|
||||
<path fill="none" stroke="midnightblue" d="M12.26,-19.76C9.71,-28.57 11.46,-38 17.5,-38 21.18,-38 23.27,-34.5 23.76,-29.77"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="27.24,-29.35 22.74,-19.76 20.27,-30.06 27.24,-29.35"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.2 KiB |
@@ -1,5 +1,5 @@
|
||||
<map id="main" name="main">
|
||||
<area shape="rect" id="node1" title=" " alt="" coords="5,31,56,57"/>
|
||||
<area shape="rect" id="node1" title=" " alt="" coords="5,43,56,69"/>
|
||||
<area shape="rect" id="node2" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/io/manip/fixed.html#" title=" " alt="" coords="104,5,180,32"/>
|
||||
<area shape="rect" id="node3" href="$da/d24/sqrt__double_8cpp.html#ae662282ad0740d2063ac404ca3bd74fc" title=" " alt="" coords="119,56,165,83"/>
|
||||
<area shape="rect" id="node3" href="$da/d24/sqrt__double_8cpp.html#ae662282ad0740d2063ac404ca3bd74fc" title=" " alt="" coords="119,80,165,107"/>
|
||||
</map>
|
||||
|
||||
@@ -1 +1 @@
|
||||
e3514af1839cd3c62227523102e3f8cc
|
||||
06ef7e8fa10ba826c829428dba33d325
|
||||
@@ -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="139pt" height="66pt"
|
||||
viewBox="0.00 0.00 139.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="139pt" height="84pt"
|
||||
viewBox="0.00 0.00 139.00 84.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 80)">
|
||||
<title>main</title>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-62 135,-62 135,4 -4,4"/>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-80 135,-80 135,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 target="_blank" xlink:href="http://en.cppreference.com/w/cpp/io/manip/fixed.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="74,-38.5 74,-57.5 131,-57.5 131,-38.5 74,-38.5"/>
|
||||
<text text-anchor="middle" x="102.5" y="-45.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::fixed</text>
|
||||
<polygon fill="white" stroke="black" points="74,-56.5 74,-75.5 131,-75.5 131,-56.5 74,-56.5"/>
|
||||
<text text-anchor="middle" x="102.5" y="-63.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::fixed</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node2 -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>Node1->Node2</title>
|
||||
<path fill="none" stroke="midnightblue" d="M38.09,-33.22C45.72,-35 54.91,-37.14 63.89,-39.23"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="63.32,-42.69 73.85,-41.55 64.91,-35.88 63.32,-42.69"/>
|
||||
<path fill="none" stroke="midnightblue" d="M38.09,-44.21C45.8,-46.86 55.1,-50.06 64.18,-53.18"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="63.26,-56.56 73.85,-56.5 65.53,-49.94 63.26,-56.56"/>
|
||||
</g>
|
||||
<!-- Node3 -->
|
||||
<g id="node3" class="node">
|
||||
@@ -45,8 +45,14 @@
|
||||
<!-- Node1->Node3 -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>Node1->Node3</title>
|
||||
<path fill="none" stroke="midnightblue" d="M38.09,-24.78C48.9,-22.26 62.82,-19.02 74.87,-16.21"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="75.91,-19.56 84.85,-13.88 74.32,-12.74 75.91,-19.56"/>
|
||||
<path fill="none" stroke="midnightblue" d="M38.09,-31.79C49.01,-28.03 63.11,-23.19 75.24,-19.02"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="76.53,-22.28 84.85,-15.72 74.26,-15.66 76.53,-22.28"/>
|
||||
</g>
|
||||
<!-- Node3->Node3 -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>Node3->Node3</title>
|
||||
<path fill="none" stroke="midnightblue" d="M89.86,-19.76C83.71,-28.57 87.93,-38 102.5,-38 111.38,-38 116.41,-34.5 117.6,-29.77"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="120.93,-28.63 115.14,-19.76 114.13,-30.3 120.93,-28.63"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.6 KiB |
@@ -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/strand_sort.cpp Pages: 1 -->
|
||||
<svg width="126pt" height="84pt"
|
||||
|
||||
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
@@ -1,4 +0,0 @@
|
||||
<map id="data_structures::trie_using_hashmap::Trie" name="data_structures::trie_using_hashmap::Trie">
|
||||
<area shape="rect" id="node1" title="Trie class, implementation of trie using hashmap in each trie node for all the characters of char16_t..." alt="" coords="11,124,165,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="5,5,171,61"/>
|
||||
</map>
|
||||
@@ -1 +0,0 @@
|
||||
dd594ab078d3e9e11bb8b100e19cbafa
|
||||
@@ -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::trie_using_hashmap::Trie Pages: 1 -->
|
||||
<svg width="132pt" height="128pt"
|
||||
viewBox="0.00 0.00 132.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::trie_using_hashmap::Trie</title>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-124 128,-124 128,4 -4,4"/>
|
||||
<!-- Node1 -->
|
||||
<g id="node1" class="node">
|
||||
<title>Node1</title>
|
||||
<g id="a_node1"><a xlink:title="Trie class, implementation of trie using hashmap in each trie node for all the characters of char16_t...">
|
||||
<polygon fill="#bfbfbf" stroke="black" points="4.5,-0.5 4.5,-30.5 119.5,-30.5 119.5,-0.5 4.5,-0.5"/>
|
||||
<text text-anchor="start" x="12.5" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::trie</text>
|
||||
<text text-anchor="middle" x="62" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">_using_hashmap::Trie</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="0,-78.5 0,-119.5 124,-119.5 124,-78.5 0,-78.5"/>
|
||||
<text text-anchor="start" x="8" y="-107.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::shared_ptr< data</text>
|
||||
<text text-anchor="start" x="8" y="-96.5" font-family="Helvetica,sans-Serif" font-size="10.00">_structures::trie_using</text>
|
||||
<text text-anchor="middle" x="62" y="-85.5" font-family="Helvetica,sans-Serif" font-size="10.00">_hashmap::Trie::Node ></text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node2->Node1 -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>Node2->Node1</title>
|
||||
<path fill="none" stroke="#9a32cd" stroke-dasharray="5,2" d="M62,-68.03C62,-55.26 62,-40.97 62,-30.68"/>
|
||||
<polygon fill="#9a32cd" stroke="#9a32cd" points="58.5,-68.27 62,-78.27 65.5,-68.27 58.5,-68.27"/>
|
||||
<text text-anchor="middle" x="86" y="-52" font-family="Helvetica,sans-Serif" font-size="10.00"> root_node</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 2.3 KiB |
@@ -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/sieve_of_eratosthenes.cpp Pages: 1 -->
|
||||
<svg width="193pt" height="84pt"
|
||||
|
||||
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.9 KiB |
@@ -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::sparse_table::Sparse_table 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++
|
||||
 <span id="projectnumber">1.0.0</span>
|
||||
<div id="projectname">Algorithms_in_C++<span id="projectnumber"> 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&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "../../search",false,'Search','.html');
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&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&dn=gpl-2.0.txt GPL-v2 */
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&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&dn=gpl-2.0.txt GPL-v2 */
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||
$(document).ready(function(){initNavTree('da/d37/structdata__structures_1_1sparse__table_1_1_sparse__table.html','../../'); initResizable(); });
|
||||
/* @license-end */
|
||||
</script>
|
||||
@@ -94,43 +94,36 @@ $(document).ready(function(){initNavTree('da/d37/structdata__structures_1_1spars
|
||||
<a href="#pub-methods">Public Member Functions</a> |
|
||||
<a href="#pub-attribs">Public Attributes</a> |
|
||||
<a href="../../db/d32/structdata__structures_1_1sparse__table_1_1_sparse__table-members.html">List of all members</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">data_structures::sparse_table::Sparse_table Struct Reference</div> </div>
|
||||
<div class="headertitle"><div class="title">data_structures::sparse_table::Sparse_table Struct Reference</div></div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="dynheader">
|
||||
Collaboration diagram for data_structures::sparse_table::Sparse_table:</div>
|
||||
<div class="dyncontent">
|
||||
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d3/daa/structdata__structures_1_1sparse__table_1_1_sparse__table__coll__graph.svg" width="268" height="335"><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:a0c8cbe7239232863f104793c08273039"><td class="memItemLeft" align="right" valign="top">int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d37/structdata__structures_1_1sparse__table_1_1_sparse__table.html#a0c8cbe7239232863f104793c08273039">query</a> (int64_t l, int64_t r)</td></tr>
|
||||
<tr class="memdesc:a0c8cbe7239232863f104793c08273039"><td class="mdescLeft"> </td><td class="mdescRight">Queries the sparse table for the value of the interval <a href="../../i.e. from l to r inclusive">l, r</a>. <a href="../../da/d37/structdata__structures_1_1sparse__table_1_1_sparse__table.html#a0c8cbe7239232863f104793c08273039">More...</a><br /></td></tr>
|
||||
<tr class="memdesc:a0c8cbe7239232863f104793c08273039"><td class="mdescLeft"> </td><td class="mdescRight">Queries the sparse table for the value of the interval <a href="../../i.e. from l to r inclusive" target="_blank">l, r</a>. <a href="../../da/d37/structdata__structures_1_1sparse__table_1_1_sparse__table.html#a0c8cbe7239232863f104793c08273039">More...</a><br /></td></tr>
|
||||
<tr class="separator:a0c8cbe7239232863f104793c08273039"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><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:ad71ecd43d0af1127df5f4006258f9635"><td class="memItemLeft" align="right" valign="top"><a id="ad71ecd43d0af1127df5f4006258f9635"></a>
|
||||
size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d37/structdata__structures_1_1sparse__table_1_1_sparse__table.html#ad71ecd43d0af1127df5f4006258f9635">n</a> = 0</td></tr>
|
||||
<tr class="memitem:ad71ecd43d0af1127df5f4006258f9635"><td class="memItemLeft" align="right" valign="top"><a id="ad71ecd43d0af1127df5f4006258f9635" name="ad71ecd43d0af1127df5f4006258f9635"></a>
|
||||
size_t </td><td class="memItemRight" valign="bottom"><b>n</b> = 0</td></tr>
|
||||
<tr class="memdesc:ad71ecd43d0af1127df5f4006258f9635"><td class="mdescLeft"> </td><td class="mdescRight">size of input array. <br /></td></tr>
|
||||
<tr class="separator:ad71ecd43d0af1127df5f4006258f9635"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ab78620742305a35ff2f8d61179f47d3e"><td class="memItemLeft" align="right" valign="top"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a>< int64_t, N > </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d37/structdata__structures_1_1sparse__table_1_1_sparse__table.html#ab78620742305a35ff2f8d61179f47d3e">A</a> = {}</td></tr>
|
||||
<tr class="memdesc:ab78620742305a35ff2f8d61179f47d3e"><td class="mdescLeft"> </td><td class="mdescRight">input array to perform RMQ. <a href="../../da/d37/structdata__structures_1_1sparse__table_1_1_sparse__table.html#ab78620742305a35ff2f8d61179f47d3e">More...</a><br /></td></tr>
|
||||
<tr class="separator:ab78620742305a35ff2f8d61179f47d3e"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ad36b9a20fed47b068e407008c04e9f81"><td class="memItemLeft" align="right" valign="top"><a id="ad36b9a20fed47b068e407008c04e9f81"></a>
|
||||
<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a>< <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a>< int64_t, N >, M > </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d37/structdata__structures_1_1sparse__table_1_1_sparse__table.html#ad36b9a20fed47b068e407008c04e9f81">ST</a> {}</td></tr>
|
||||
<tr class="memitem:ad36b9a20fed47b068e407008c04e9f81"><td class="memItemLeft" align="right" valign="top"><a id="ad36b9a20fed47b068e407008c04e9f81" name="ad36b9a20fed47b068e407008c04e9f81"></a>
|
||||
<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a>< <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a>< int64_t, N >, M > </td><td class="memItemRight" valign="bottom"><b>ST</b> {}</td></tr>
|
||||
<tr class="memdesc:ad36b9a20fed47b068e407008c04e9f81"><td class="mdescLeft"> </td><td class="mdescRight">the sparse table storing <code><a class="el" href="../../da/d52/minimum__edit__distance_8cpp.html#a0138c226bd79ffe6d839c787cfc60347" title="Takes input of the cost of three operations: Insert, Replace and Delete and return the minimum cost a...">min()</a></code> values for given interval. <br /></td></tr>
|
||||
<tr class="separator:ad36b9a20fed47b068e407008c04e9f81"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a6cf72f93b1551f0d943c585b4f173be3"><td class="memItemLeft" align="right" valign="top"><a id="a6cf72f93b1551f0d943c585b4f173be3"></a>
|
||||
<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a>< int64_t, N > </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d37/structdata__structures_1_1sparse__table_1_1_sparse__table.html#a6cf72f93b1551f0d943c585b4f173be3">LOG</a> = {}</td></tr>
|
||||
<tr class="memitem:a6cf72f93b1551f0d943c585b4f173be3"><td class="memItemLeft" align="right" valign="top"><a id="a6cf72f93b1551f0d943c585b4f173be3" name="a6cf72f93b1551f0d943c585b4f173be3"></a>
|
||||
<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a>< int64_t, N > </td><td class="memItemRight" valign="bottom"><b>LOG</b> = {}</td></tr>
|
||||
<tr class="memdesc:a6cf72f93b1551f0d943c585b4f173be3"><td class="mdescLeft"> </td><td class="mdescRight">where floor(log2(i)) are precomputed. <br /></td></tr>
|
||||
<tr class="separator:a6cf72f93b1551f0d943c585b4f173be3"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<h2 class="groupheader">Member Function Documentation</h2>
|
||||
<a id="a0c8cbe7239232863f104793c08273039"></a>
|
||||
<a id="a0c8cbe7239232863f104793c08273039" name="a0c8cbe7239232863f104793c08273039"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a0c8cbe7239232863f104793c08273039">◆ </a></span>query()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
@@ -164,7 +157,7 @@ size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="..
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Queries the sparse table for the value of the interval <a href="../../i.e. from l to r inclusive">l, r</a>. </p>
|
||||
<p>Queries the sparse table for the value of the interval <a href="../../i.e. from l to r inclusive" target="_blank">l, r</a>. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">l</td><td>the left index of the range (inclusive). </td></tr>
|
||||
@@ -173,21 +166,21 @@ size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="..
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>the computed value of the given interval. @complexity: O(1) </dd></dl>
|
||||
<p>< smallest power of 2 covering [l,r]</p>
|
||||
<p>< represents minimum value over the range [g,l]</p>
|
||||
<p>< represents minimum value over the range [g, r - pow(2,g) + 1]</p>
|
||||
<p>< represents minimum value over the whole range [l,r]</p>
|
||||
<div class="fragment"><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  {</div>
|
||||
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  int64_t g = <a class="code" href="../../da/d37/structdata__structures_1_1sparse__table_1_1_sparse__table.html#a6cf72f93b1551f0d943c585b4f173be3">LOG</a>[r - l + 1]; <span class="comment">///< smallest power of 2 covering [l,r]</span></div>
|
||||
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  int64_t x = <a class="code" href="../../da/d37/structdata__structures_1_1sparse__table_1_1_sparse__table.html#ad36b9a20fed47b068e407008c04e9f81">ST</a>[g][l]; <span class="comment">///< represents minimum value over the range</span><span class="comment"></span></div>
|
||||
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="comment"> ///< [g,l]</span></div>
|
||||
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="comment"></span> int64_t y =</div>
|
||||
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <a class="code" href="../../da/d37/structdata__structures_1_1sparse__table_1_1_sparse__table.html#ad36b9a20fed47b068e407008c04e9f81">ST</a>[g][r - (1 << g) + 1]; <span class="comment">///< represents minimum value over the</span><span class="comment"></span></div>
|
||||
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="comment"> ///< range [g, r - pow(2,g) + 1]</span></div>
|
||||
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="comment"></span> </div>
|
||||
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <span class="keywordflow">return</span> (<a class="code" href="../../da/d37/structdata__structures_1_1sparse__table_1_1_sparse__table.html#ab78620742305a35ff2f8d61179f47d3e">A</a>[x] <= <a class="code" href="../../da/d37/structdata__structures_1_1sparse__table_1_1_sparse__table.html#ab78620742305a35ff2f8d61179f47d3e">A</a>[y] ? x : y); <span class="comment">///< represents minimum value over</span><span class="comment"></span></div>
|
||||
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="comment"> ///< the whole range [l,r]</span></div>
|
||||
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="comment"></span> }</div>
|
||||
<p >< smallest power of 2 covering [l,r]</p>
|
||||
<p >< represents minimum value over the range [g,l]</p>
|
||||
<p >< represents minimum value over the range [g, r - pow(2,g) + 1]</p>
|
||||
<p >< represents minimum value over the whole range [l,r]</p>
|
||||
<div class="fragment"><div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> {</div>
|
||||
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> int64_t g = <a class="code hl_variable" href="../../da/d37/structdata__structures_1_1sparse__table_1_1_sparse__table.html#a6cf72f93b1551f0d943c585b4f173be3">LOG</a>[r - l + 1]; <span class="comment">///< smallest power of 2 covering [l,r]</span></div>
|
||||
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> int64_t x = <a class="code hl_variable" href="../../da/d37/structdata__structures_1_1sparse__table_1_1_sparse__table.html#ad36b9a20fed47b068e407008c04e9f81">ST</a>[g][l]; <span class="comment">///< represents minimum value over the range</span><span class="comment"></span></div>
|
||||
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span><span class="comment"> ///< [g,l]</span></div>
|
||||
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span><span class="comment"></span> int64_t y =</div>
|
||||
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> <a class="code hl_variable" href="../../da/d37/structdata__structures_1_1sparse__table_1_1_sparse__table.html#ad36b9a20fed47b068e407008c04e9f81">ST</a>[g][r - (1 << g) + 1]; <span class="comment">///< represents minimum value over the</span><span class="comment"></span></div>
|
||||
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span><span class="comment"> ///< range [g, r - pow(2,g) + 1]</span></div>
|
||||
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span><span class="comment"></span> </div>
|
||||
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> <span class="keywordflow">return</span> (<a class="code hl_variable" href="../../da/d37/structdata__structures_1_1sparse__table_1_1_sparse__table.html#ab78620742305a35ff2f8d61179f47d3e">A</a>[x] <= <a class="code hl_variable" href="../../da/d37/structdata__structures_1_1sparse__table_1_1_sparse__table.html#ab78620742305a35ff2f8d61179f47d3e">A</a>[y] ? x : y); <span class="comment">///< represents minimum value over</span><span class="comment"></span></div>
|
||||
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span><span class="comment"> ///< the whole range [l,r]</span></div>
|
||||
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span><span class="comment"></span> }</div>
|
||||
<div class="ttc" id="astructdata__structures_1_1sparse__table_1_1_sparse__table_html_a6cf72f93b1551f0d943c585b4f173be3"><div class="ttname"><a href="../../da/d37/structdata__structures_1_1sparse__table_1_1_sparse__table.html#a6cf72f93b1551f0d943c585b4f173be3">data_structures::sparse_table::Sparse_table::LOG</a></div><div class="ttdeci">std::array< int64_t, N > LOG</div><div class="ttdoc">where floor(log2(i)) are precomputed.</div><div class="ttdef"><b>Definition:</b> sparse_table.cpp:59</div></div>
|
||||
<div class="ttc" id="astructdata__structures_1_1sparse__table_1_1_sparse__table_html_ab78620742305a35ff2f8d61179f47d3e"><div class="ttname"><a href="../../da/d37/structdata__structures_1_1sparse__table_1_1_sparse__table.html#ab78620742305a35ff2f8d61179f47d3e">data_structures::sparse_table::Sparse_table::A</a></div><div class="ttdeci">std::array< int64_t, N > A</div><div class="ttdoc">input array to perform RMQ.</div><div class="ttdef"><b>Definition:</b> sparse_table.cpp:56</div></div>
|
||||
<div class="ttc" id="astructdata__structures_1_1sparse__table_1_1_sparse__table_html_ad36b9a20fed47b068e407008c04e9f81"><div class="ttname"><a href="../../da/d37/structdata__structures_1_1sparse__table_1_1_sparse__table.html#ad36b9a20fed47b068e407008c04e9f81">data_structures::sparse_table::Sparse_table::ST</a></div><div class="ttdeci">std::array< std::array< int64_t, N >, M > ST</div><div class="ttdoc">the sparse table storing min() values for given interval.</div><div class="ttdef"><b>Definition:</b> sparse_table.cpp:58</div></div>
|
||||
@@ -195,7 +188,7 @@ size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="..
|
||||
</div>
|
||||
</div>
|
||||
<h2 class="groupheader">Member Data Documentation</h2>
|
||||
<a id="ab78620742305a35ff2f8d61179f47d3e"></a>
|
||||
<a id="ab78620742305a35ff2f8d61179f47d3e" name="ab78620742305a35ff2f8d61179f47d3e"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ab78620742305a35ff2f8d61179f47d3e">◆ </a></span>A</h2>
|
||||
|
||||
<div class="memitem">
|
||||
@@ -221,7 +214,7 @@ size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="..
|
||||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="../../d5/d3c/namespacedata__structures.html">data_structures</a></li><li class="navelem"><b>sparse_table</b></li><li class="navelem"><a class="el" href="../../da/d37/structdata__structures_1_1sparse__table_1_1_sparse__table.html">Sparse_table</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>
|
||||
|
||||
@@ -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++: ciphers/uint128_t.hpp 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++
|
||||
 <span id="projectnumber">1.0.0</span>
|
||||
<div id="projectname">Algorithms_in_C++<span id="projectnumber"> 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&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "../../search",false,'Search','.html');
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&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&dn=gpl-2.0.txt GPL-v2 */
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&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&dn=gpl-2.0.txt GPL-v2 */
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||
$(document).ready(function(){initNavTree('da/d41/uint128__t_8hpp.html','../../'); initResizable(); });
|
||||
/* @license-end */
|
||||
</script>
|
||||
@@ -94,8 +94,7 @@ $(document).ready(function(){initNavTree('da/d41/uint128__t_8hpp.html','../../')
|
||||
<a href="#nested-classes">Classes</a> |
|
||||
<a href="#define-members">Macros</a> |
|
||||
<a href="#func-members">Functions</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">uint128_t.hpp File Reference</div> </div>
|
||||
<div class="headertitle"><div class="title">uint128_t.hpp File Reference</div></div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="textblock"><code>#include <algorithm></code><br />
|
||||
@@ -117,7 +116,7 @@ This graph shows which files directly or indirectly include this file:</div>
|
||||
</div>
|
||||
<p><a href="../../da/d41/uint128__t_8hpp_source.html">Go to the source code of this file.</a></p>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
|
||||
Classes</h2></td></tr>
|
||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/dd4/structstd_1_1is__integral_3_01uint128__t_01_4.html">std::is_integral< uint128_t ></a></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
@@ -129,87 +128,71 @@ Classes</h2></td></tr>
|
||||
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">class for 128-bit unsigned integer <a href="../../db/d9a/classuint128__t.html#details">More...</a><br /></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </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:acce684d03a24f9c13a9ed36de6d24a57"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d41/uint128__t_8hpp.html#acce684d03a24f9c13a9ed36de6d24a57">CIPHERS_UINT128_T_HPP_</a></td></tr>
|
||||
<tr class="memdesc:acce684d03a24f9c13a9ed36de6d24a57"><td class="mdescLeft"> </td><td class="mdescRight">for <code><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair</a></code> library <a href="../../da/d41/uint128__t_8hpp.html#acce684d03a24f9c13a9ed36de6d24a57">More...</a><br /></td></tr>
|
||||
<tr class="separator:acce684d03a24f9c13a9ed36de6d24a57"><td class="memSeparator" colspan="2"> </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:a3ff77262ffd6743df5b808d41382a6f3"><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> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d41/uint128__t_8hpp.html#a3ff77262ffd6743df5b808d41382a6f3">add</a> (const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> &first, const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> &second)</td></tr>
|
||||
<tr class="memdesc:a3ff77262ffd6743df5b808d41382a6f3"><td class="mdescLeft"> </td><td class="mdescRight">Adding two string. <a href="../../da/d41/uint128__t_8hpp.html#a3ff77262ffd6743df5b808d41382a6f3">More...</a><br /></td></tr>
|
||||
<tr class="separator:a3ff77262ffd6743df5b808d41382a6f3"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:aaaf018bfb929bea8e60320cfad566a04"><td class="memTemplParams" colspan="2"><a id="aaaf018bfb929bea8e60320cfad566a04"></a>
|
||||
template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </td></tr>
|
||||
<tr class="memitem:aaaf018bfb929bea8e60320cfad566a04"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> </td><td class="memTemplItemRight" valign="bottom"><b>operator+</b> (const T &p, const <a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> &q)</td></tr>
|
||||
<tr class="memitem:aaaf018bfb929bea8e60320cfad566a04"><td class="memTemplParams" colspan="2">template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </td></tr>
|
||||
<tr class="memitem:aaaf018bfb929bea8e60320cfad566a04"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../da/d41/uint128__t_8hpp.html#aaaf018bfb929bea8e60320cfad566a04">operator+</a> (const T &p, const <a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> &q)</td></tr>
|
||||
<tr class="separator:aaaf018bfb929bea8e60320cfad566a04"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a1830551ab558c59d101c6ec44353b334"><td class="memTemplParams" colspan="2"><a id="a1830551ab558c59d101c6ec44353b334"></a>
|
||||
template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </td></tr>
|
||||
<tr class="memitem:a1830551ab558c59d101c6ec44353b334"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> </td><td class="memTemplItemRight" valign="bottom"><b>operator-</b> (const T p, const <a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> &q)</td></tr>
|
||||
<tr class="memitem:a1830551ab558c59d101c6ec44353b334"><td class="memTemplParams" colspan="2">template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </td></tr>
|
||||
<tr class="memitem:a1830551ab558c59d101c6ec44353b334"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../da/d41/uint128__t_8hpp.html#a1830551ab558c59d101c6ec44353b334">operator-</a> (const T p, const <a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> &q)</td></tr>
|
||||
<tr class="separator:a1830551ab558c59d101c6ec44353b334"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a7c61bcd19e8f3647df520c6afa5a81db"><td class="memTemplParams" colspan="2"><a id="a7c61bcd19e8f3647df520c6afa5a81db"></a>
|
||||
template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </td></tr>
|
||||
<tr class="memitem:a7c61bcd19e8f3647df520c6afa5a81db"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> </td><td class="memTemplItemRight" valign="bottom"><b>operator*</b> (const T p, const <a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> &q)</td></tr>
|
||||
<tr class="memitem:a7c61bcd19e8f3647df520c6afa5a81db"><td class="memTemplParams" colspan="2">template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </td></tr>
|
||||
<tr class="memitem:a7c61bcd19e8f3647df520c6afa5a81db"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../da/d41/uint128__t_8hpp.html#a7c61bcd19e8f3647df520c6afa5a81db">operator*</a> (const T p, const <a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> &q)</td></tr>
|
||||
<tr class="separator:a7c61bcd19e8f3647df520c6afa5a81db"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ac569881744750b9808197fd3ee9b6033"><td class="memTemplParams" colspan="2"><a id="ac569881744750b9808197fd3ee9b6033"></a>
|
||||
template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </td></tr>
|
||||
<tr class="memitem:ac569881744750b9808197fd3ee9b6033"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> </td><td class="memTemplItemRight" valign="bottom"><b>operator/</b> (const T p, const <a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> &q)</td></tr>
|
||||
<tr class="memitem:ac569881744750b9808197fd3ee9b6033"><td class="memTemplParams" colspan="2">template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </td></tr>
|
||||
<tr class="memitem:ac569881744750b9808197fd3ee9b6033"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../da/d41/uint128__t_8hpp.html#ac569881744750b9808197fd3ee9b6033">operator/</a> (const T p, const <a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> &q)</td></tr>
|
||||
<tr class="separator:ac569881744750b9808197fd3ee9b6033"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a00bd5dd1340b527e8943cb6d02dcd960"><td class="memTemplParams" colspan="2"><a id="a00bd5dd1340b527e8943cb6d02dcd960"></a>
|
||||
template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </td></tr>
|
||||
<tr class="memitem:a00bd5dd1340b527e8943cb6d02dcd960"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> </td><td class="memTemplItemRight" valign="bottom"><b>operator%</b> (const T p, const <a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> &q)</td></tr>
|
||||
<tr class="memitem:a00bd5dd1340b527e8943cb6d02dcd960"><td class="memTemplParams" colspan="2">template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </td></tr>
|
||||
<tr class="memitem:a00bd5dd1340b527e8943cb6d02dcd960"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../da/d41/uint128__t_8hpp.html#a00bd5dd1340b527e8943cb6d02dcd960">operator%</a> (const T p, const <a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> &q)</td></tr>
|
||||
<tr class="separator:a00bd5dd1340b527e8943cb6d02dcd960"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ae0ba0b7e84f0b26958238ed71c42222c"><td class="memTemplParams" colspan="2"><a id="ae0ba0b7e84f0b26958238ed71c42222c"></a>
|
||||
template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </td></tr>
|
||||
<tr class="memitem:ae0ba0b7e84f0b26958238ed71c42222c"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> </td><td class="memTemplItemRight" valign="bottom"><b>operator&</b> (const T &p, const <a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> &q)</td></tr>
|
||||
<tr class="memitem:ae0ba0b7e84f0b26958238ed71c42222c"><td class="memTemplParams" colspan="2">template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </td></tr>
|
||||
<tr class="memitem:ae0ba0b7e84f0b26958238ed71c42222c"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../da/d41/uint128__t_8hpp.html#ae0ba0b7e84f0b26958238ed71c42222c">operator&</a> (const T &p, const <a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> &q)</td></tr>
|
||||
<tr class="separator:ae0ba0b7e84f0b26958238ed71c42222c"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ac613e24349a810b800314cc3bd50cfdd"><td class="memTemplParams" colspan="2"><a id="ac613e24349a810b800314cc3bd50cfdd"></a>
|
||||
template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </td></tr>
|
||||
<tr class="memitem:ac613e24349a810b800314cc3bd50cfdd"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> </td><td class="memTemplItemRight" valign="bottom"><b>operator|</b> (const T p, const <a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> &q)</td></tr>
|
||||
<tr class="memitem:ac613e24349a810b800314cc3bd50cfdd"><td class="memTemplParams" colspan="2">template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </td></tr>
|
||||
<tr class="memitem:ac613e24349a810b800314cc3bd50cfdd"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../da/d41/uint128__t_8hpp.html#ac613e24349a810b800314cc3bd50cfdd">operator|</a> (const T p, const <a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> &q)</td></tr>
|
||||
<tr class="separator:ac613e24349a810b800314cc3bd50cfdd"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a9ce42f459b208a143d60389e8307ef0c"><td class="memTemplParams" colspan="2"><a id="a9ce42f459b208a143d60389e8307ef0c"></a>
|
||||
template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </td></tr>
|
||||
<tr class="memitem:a9ce42f459b208a143d60389e8307ef0c"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> </td><td class="memTemplItemRight" valign="bottom"><b>operator^</b> (const T p, const <a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> &q)</td></tr>
|
||||
<tr class="memitem:a9ce42f459b208a143d60389e8307ef0c"><td class="memTemplParams" colspan="2">template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </td></tr>
|
||||
<tr class="memitem:a9ce42f459b208a143d60389e8307ef0c"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../da/d41/uint128__t_8hpp.html#a9ce42f459b208a143d60389e8307ef0c">operator^</a> (const T p, const <a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> &q)</td></tr>
|
||||
<tr class="separator:a9ce42f459b208a143d60389e8307ef0c"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a943a16dafe860452ad6ab031075faebd"><td class="memTemplParams" colspan="2"><a id="a943a16dafe860452ad6ab031075faebd"></a>
|
||||
template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </td></tr>
|
||||
<tr class="memitem:a943a16dafe860452ad6ab031075faebd"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator&&</b> (const T p, const <a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> &q)</td></tr>
|
||||
<tr class="memitem:a943a16dafe860452ad6ab031075faebd"><td class="memTemplParams" colspan="2">template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </td></tr>
|
||||
<tr class="memitem:a943a16dafe860452ad6ab031075faebd"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../da/d41/uint128__t_8hpp.html#a943a16dafe860452ad6ab031075faebd">operator&&</a> (const T p, const <a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> &q)</td></tr>
|
||||
<tr class="separator:a943a16dafe860452ad6ab031075faebd"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a732c5a7abd06e859de30c545b29f175a"><td class="memTemplParams" colspan="2"><a id="a732c5a7abd06e859de30c545b29f175a"></a>
|
||||
template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </td></tr>
|
||||
<tr class="memitem:a732c5a7abd06e859de30c545b29f175a"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator||</b> (const T p, const <a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> &q)</td></tr>
|
||||
<tr class="memitem:a732c5a7abd06e859de30c545b29f175a"><td class="memTemplParams" colspan="2">template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </td></tr>
|
||||
<tr class="memitem:a732c5a7abd06e859de30c545b29f175a"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../da/d41/uint128__t_8hpp.html#a732c5a7abd06e859de30c545b29f175a">operator||</a> (const T p, const <a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> &q)</td></tr>
|
||||
<tr class="separator:a732c5a7abd06e859de30c545b29f175a"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a71d5a067d5273c0208a5b8ccbe1e6bfe"><td class="memTemplParams" colspan="2"><a id="a71d5a067d5273c0208a5b8ccbe1e6bfe"></a>
|
||||
template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </td></tr>
|
||||
<tr class="memitem:a71d5a067d5273c0208a5b8ccbe1e6bfe"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator==</b> (const T p, const <a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> &q)</td></tr>
|
||||
<tr class="memitem:a71d5a067d5273c0208a5b8ccbe1e6bfe"><td class="memTemplParams" colspan="2">template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </td></tr>
|
||||
<tr class="memitem:a71d5a067d5273c0208a5b8ccbe1e6bfe"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../da/d41/uint128__t_8hpp.html#a71d5a067d5273c0208a5b8ccbe1e6bfe">operator==</a> (const T p, const <a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> &q)</td></tr>
|
||||
<tr class="separator:a71d5a067d5273c0208a5b8ccbe1e6bfe"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a78df90238f0ea15d5c6f813873b85464"><td class="memTemplParams" colspan="2"><a id="a78df90238f0ea15d5c6f813873b85464"></a>
|
||||
template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </td></tr>
|
||||
<tr class="memitem:a78df90238f0ea15d5c6f813873b85464"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator!=</b> (const T p, const <a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> &q)</td></tr>
|
||||
<tr class="memitem:a78df90238f0ea15d5c6f813873b85464"><td class="memTemplParams" colspan="2">template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </td></tr>
|
||||
<tr class="memitem:a78df90238f0ea15d5c6f813873b85464"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../da/d41/uint128__t_8hpp.html#a78df90238f0ea15d5c6f813873b85464">operator!=</a> (const T p, const <a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> &q)</td></tr>
|
||||
<tr class="separator:a78df90238f0ea15d5c6f813873b85464"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:aab09ed8ebbfd9a573a8f862d83e70df4"><td class="memTemplParams" colspan="2"><a id="aab09ed8ebbfd9a573a8f862d83e70df4"></a>
|
||||
template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </td></tr>
|
||||
<tr class="memitem:aab09ed8ebbfd9a573a8f862d83e70df4"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator<</b> (const T p, const <a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> &q)</td></tr>
|
||||
<tr class="memitem:aab09ed8ebbfd9a573a8f862d83e70df4"><td class="memTemplParams" colspan="2">template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </td></tr>
|
||||
<tr class="memitem:aab09ed8ebbfd9a573a8f862d83e70df4"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../da/d41/uint128__t_8hpp.html#aab09ed8ebbfd9a573a8f862d83e70df4">operator<</a> (const T p, const <a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> &q)</td></tr>
|
||||
<tr class="separator:aab09ed8ebbfd9a573a8f862d83e70df4"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a8cdb417cc47fa541e4ff46808a7dc105"><td class="memTemplParams" colspan="2"><a id="a8cdb417cc47fa541e4ff46808a7dc105"></a>
|
||||
template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </td></tr>
|
||||
<tr class="memitem:a8cdb417cc47fa541e4ff46808a7dc105"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator<=</b> (const T p, const <a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> &q)</td></tr>
|
||||
<tr class="memitem:a8cdb417cc47fa541e4ff46808a7dc105"><td class="memTemplParams" colspan="2">template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </td></tr>
|
||||
<tr class="memitem:a8cdb417cc47fa541e4ff46808a7dc105"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../da/d41/uint128__t_8hpp.html#a8cdb417cc47fa541e4ff46808a7dc105">operator<=</a> (const T p, const <a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> &q)</td></tr>
|
||||
<tr class="separator:a8cdb417cc47fa541e4ff46808a7dc105"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a06aa8321ed132222570adc96251b8185"><td class="memTemplParams" colspan="2"><a id="a06aa8321ed132222570adc96251b8185"></a>
|
||||
template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </td></tr>
|
||||
<tr class="memitem:a06aa8321ed132222570adc96251b8185"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator></b> (const T p, const <a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> &q)</td></tr>
|
||||
<tr class="memitem:a06aa8321ed132222570adc96251b8185"><td class="memTemplParams" colspan="2">template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </td></tr>
|
||||
<tr class="memitem:a06aa8321ed132222570adc96251b8185"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../da/d41/uint128__t_8hpp.html#a06aa8321ed132222570adc96251b8185">operator></a> (const T p, const <a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> &q)</td></tr>
|
||||
<tr class="separator:a06aa8321ed132222570adc96251b8185"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a1b359e53da68ae18fe293dcb3c4d7f9f"><td class="memTemplParams" colspan="2"><a id="a1b359e53da68ae18fe293dcb3c4d7f9f"></a>
|
||||
template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </td></tr>
|
||||
<tr class="memitem:a1b359e53da68ae18fe293dcb3c4d7f9f"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator>=</b> (const T p, const <a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> &q)</td></tr>
|
||||
<tr class="memitem:a1b359e53da68ae18fe293dcb3c4d7f9f"><td class="memTemplParams" colspan="2">template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </td></tr>
|
||||
<tr class="memitem:a1b359e53da68ae18fe293dcb3c4d7f9f"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../da/d41/uint128__t_8hpp.html#a1b359e53da68ae18fe293dcb3c4d7f9f">operator>=</a> (const T p, const <a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> &q)</td></tr>
|
||||
<tr class="separator:a1b359e53da68ae18fe293dcb3c4d7f9f"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p>Implementation of 128-bit unsigned integers. </p><dl class="section note"><dt>Note</dt><dd>The implementation can be flagged as not completed. This header is used with enough operations as a part of bigger integer types 256-bit integer. </dd></dl>
|
||||
<dl class="section author"><dt>Author</dt><dd><a href="https://github.com/AshishYUO">Ashish Daulatabad</a> </dd></dl>
|
||||
<div class="textblock"><p >Implementation of 128-bit unsigned integers. </p><dl class="section note"><dt>Note</dt><dd>The implementation can be flagged as not completed. This header is used with enough operations as a part of bigger integer types 256-bit integer. </dd></dl>
|
||||
<dl class="section author"><dt>Author</dt><dd><a href="https://github.com/AshishYUO" target="_blank">Ashish Daulatabad</a> </dd></dl>
|
||||
</div><h2 class="groupheader">Macro Definition Documentation</h2>
|
||||
<a id="acce684d03a24f9c13a9ed36de6d24a57"></a>
|
||||
<a id="acce684d03a24f9c13a9ed36de6d24a57" name="acce684d03a24f9c13a9ed36de6d24a57"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#acce684d03a24f9c13a9ed36de6d24a57">◆ </a></span>CIPHERS_UINT128_T_HPP_</h2>
|
||||
|
||||
<div class="memitem">
|
||||
@@ -222,12 +205,12 @@ template<typename T , typename = typename std::enable_if<
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>for <code><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair</a></code> library </p>
|
||||
<p>for <code><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/reverse.html">std::reverse</a></code> and other operations for <code><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a></code> overload for <code><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a></code> </p>
|
||||
<p >for <code><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/reverse.html">std::reverse</a></code> and other operations for <code><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a></code> overload for <code><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a></code> </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<h2 class="groupheader">Function Documentation</h2>
|
||||
<a id="a3ff77262ffd6743df5b808d41382a6f3"></a>
|
||||
<a id="a3ff77262ffd6743df5b808d41382a6f3" name="a3ff77262ffd6743df5b808d41382a6f3"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a3ff77262ffd6743df5b808d41382a6f3">◆ </a></span>add()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
@@ -254,7 +237,7 @@ template<typename T , typename = typename std::enable_if<
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Adding two string. </p>
|
||||
<p>Adds two long integer, only used for printing numbers </p><dl class="params"><dt>Parameters</dt><dd>
|
||||
<p >Adds two long integer, only used for printing numbers </p><dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">first</td><td>First integer string </td></tr>
|
||||
<tr><td class="paramname">second</td><td>Second integer string </td></tr>
|
||||
@@ -262,28 +245,28 @@ template<typename T , typename = typename std::enable_if<
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>string denoting the addition of both the strings </dd></dl>
|
||||
<div class="fragment"><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  {</div>
|
||||
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> third;</div>
|
||||
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  int16_t <a class="code" href="../../d8/d77/namespacemachine__learning.html#a5305cc18d11943d3dc0d66e70d7e9c44">sum</a> = 0, carry = 0;</div>
|
||||
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  <span class="keywordflow">for</span> (int32_t i = <span class="keyword">static_cast<</span>int32_t<span class="keyword">></span>(first.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string/size.html">size</a>()) - 1,</div>
|
||||
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  j = <span class="keyword">static_cast<</span>int32_t<span class="keyword">></span>(second.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string/size.html">size</a>()) - 1;</div>
|
||||
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  i >= 0 || j >= 0; --i, --j) {</div>
|
||||
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  <a class="code" href="../../d8/d77/namespacemachine__learning.html#a5305cc18d11943d3dc0d66e70d7e9c44">sum</a> = ((i >= 0 ? first[i] - <span class="charliteral">'0'</span> : 0) + (j >= 0 ? second[j] - <span class="charliteral">'0'</span> : 0) +</div>
|
||||
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  carry);</div>
|
||||
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  carry = <a class="code" href="../../d8/d77/namespacemachine__learning.html#a5305cc18d11943d3dc0d66e70d7e9c44">sum</a> / 10;</div>
|
||||
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <a class="code" href="../../d8/d77/namespacemachine__learning.html#a5305cc18d11943d3dc0d66e70d7e9c44">sum</a> %= 10;</div>
|
||||
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  third.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string/push_back.html">push_back</a>(<a class="code" href="../../d8/d77/namespacemachine__learning.html#a5305cc18d11943d3dc0d66e70d7e9c44">sum</a> + <span class="charliteral">'0'</span>);</div>
|
||||
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  }</div>
|
||||
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  <span class="keywordflow">if</span> (carry) {</div>
|
||||
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  third.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string/push_back.html">push_back</a>(<span class="charliteral">'1'</span>);</div>
|
||||
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  }</div>
|
||||
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/reverse.html">std::reverse</a>(third.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string/begin.html">begin</a>(), third.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string/end.html">end</a>());</div>
|
||||
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  <span class="keywordflow">return</span> third;</div>
|
||||
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span> }</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/string/basic_string.html">std::string</a> third;</div>
|
||||
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> int16_t <a class="code hl_function" href="../../d8/d77/namespacemachine__learning.html#a6f1c98c016ad34ff3d9f39372161bd35">sum</a> = 0, carry = 0;</div>
|
||||
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> <span class="keywordflow">for</span> (int32_t i = <span class="keyword">static_cast<</span>int32_t<span class="keyword">></span>(first.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string/size.html">size</a>()) - 1,</div>
|
||||
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> j = <span class="keyword">static_cast<</span>int32_t<span class="keyword">></span>(second.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string/size.html">size</a>()) - 1;</div>
|
||||
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> i >= 0 || j >= 0; --i, --j) {</div>
|
||||
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> <a class="code hl_function" href="../../d8/d77/namespacemachine__learning.html#a6f1c98c016ad34ff3d9f39372161bd35">sum</a> = ((i >= 0 ? first[i] - <span class="charliteral">'0'</span> : 0) + (j >= 0 ? second[j] - <span class="charliteral">'0'</span> : 0) +</div>
|
||||
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> carry);</div>
|
||||
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> carry = <a class="code hl_function" href="../../d8/d77/namespacemachine__learning.html#a6f1c98c016ad34ff3d9f39372161bd35">sum</a> / 10;</div>
|
||||
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> <a class="code hl_function" href="../../d8/d77/namespacemachine__learning.html#a6f1c98c016ad34ff3d9f39372161bd35">sum</a> %= 10;</div>
|
||||
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> third.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string/push_back.html">push_back</a>(<a class="code hl_function" href="../../d8/d77/namespacemachine__learning.html#a6f1c98c016ad34ff3d9f39372161bd35">sum</a> + <span class="charliteral">'0'</span>);</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> <span class="keywordflow">if</span> (carry) {</div>
|
||||
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> third.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string/push_back.html">push_back</a>(<span class="charliteral">'1'</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> <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/reverse.html">std::reverse</a>(third.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string/begin.html">begin</a>(), third.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string/end.html">end</a>());</div>
|
||||
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> <span class="keywordflow">return</span> third;</div>
|
||||
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</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="abegin_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/string/basic_string/begin.html">std::string::begin</a></div><div class="ttdeci">T begin(T... args)</div></div>
|
||||
<div class="ttc" id="aend_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/string/basic_string/end.html">std::string::end</a></div><div class="ttdeci">T end(T... args)</div></div>
|
||||
<div class="ttc" id="anamespacemachine__learning_html_a5305cc18d11943d3dc0d66e70d7e9c44"><div class="ttname"><a href="../../d8/d77/namespacemachine__learning.html#a5305cc18d11943d3dc0d66e70d7e9c44">machine_learning::sum</a></div><div class="ttdeci">T sum(const std::vector< std::valarray< T >> &A)</div><div class="ttdef"><b>Definition:</b> vector_ops.hpp:232</div></div>
|
||||
<div class="ttc" id="anamespacemachine__learning_html_a6f1c98c016ad34ff3d9f39372161bd35"><div class="ttname"><a href="../../d8/d77/namespacemachine__learning.html#a6f1c98c016ad34ff3d9f39372161bd35">machine_learning::sum</a></div><div class="ttdeci">T sum(const std::vector< std::valarray< T > > &A)</div><div class="ttdef"><b>Definition:</b> vector_ops.hpp:232</div></div>
|
||||
<div class="ttc" id="apush_back_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/string/basic_string/push_back.html">std::string::push_back</a></div><div class="ttdeci">T push_back(T... args)</div></div>
|
||||
<div class="ttc" id="areverse_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/algorithm/reverse.html">std::reverse</a></div><div class="ttdeci">T reverse(T... args)</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::size</a></div><div class="ttdeci">T size(T... args)</div></div>
|
||||
@@ -294,6 +277,663 @@ Here is the call graph for this function:</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a78df90238f0ea15d5c6f813873b85464" name="a78df90238f0ea15d5c6f813873b85464"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a78df90238f0ea15d5c6f813873b85464">◆ </a></span>operator!=()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">bool operator!= </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const T </td>
|
||||
<td class="paramname"><em>p</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const <a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> & </td>
|
||||
<td class="paramname"><em>q</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<div class="fragment"><div class="line"><a id="l01078" name="l01078"></a><span class="lineno"> 1078</span> {</div>
|
||||
<div class="line"><a id="l01079" name="l01079"></a><span class="lineno"> 1079</span> <span class="keywordflow">return</span> <a class="code hl_class" href="../../db/d9a/classuint128__t.html">uint128_t</a>(p) != q;</div>
|
||||
<div class="line"><a id="l01080" name="l01080"></a><span class="lineno"> 1080</span>}</div>
|
||||
<div class="ttc" id="aclassuint128__t_html"><div class="ttname"><a href="../../db/d9a/classuint128__t.html">uint128_t</a></div><div class="ttdoc">class for 128-bit unsigned integer</div><div class="ttdef"><b>Definition:</b> uint128_t.hpp:59</div></div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="a00bd5dd1340b527e8943cb6d02dcd960" name="a00bd5dd1340b527e8943cb6d02dcd960"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a00bd5dd1340b527e8943cb6d02dcd960">◆ </a></span>operator%()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname"><a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> operator% </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const T </td>
|
||||
<td class="paramname"><em>p</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const <a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> & </td>
|
||||
<td class="paramname"><em>q</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<div class="fragment"><div class="line"><a id="l01033" name="l01033"></a><span class="lineno"> 1033</span> {</div>
|
||||
<div class="line"><a id="l01034" name="l01034"></a><span class="lineno"> 1034</span> <span class="keywordflow">return</span> <a class="code hl_class" href="../../db/d9a/classuint128__t.html">uint128_t</a>(p) % q;</div>
|
||||
<div class="line"><a id="l01035" name="l01035"></a><span class="lineno"> 1035</span>}</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="ae0ba0b7e84f0b26958238ed71c42222c" name="ae0ba0b7e84f0b26958238ed71c42222c"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ae0ba0b7e84f0b26958238ed71c42222c">◆ </a></span>operator&()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname"><a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> operator& </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const T & </td>
|
||||
<td class="paramname"><em>p</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const <a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> & </td>
|
||||
<td class="paramname"><em>q</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<div class="fragment"><div class="line"><a id="l01040" name="l01040"></a><span class="lineno"> 1040</span> {</div>
|
||||
<div class="line"><a id="l01041" name="l01041"></a><span class="lineno"> 1041</span> <span class="keywordflow">return</span> <a class="code hl_class" href="../../db/d9a/classuint128__t.html">uint128_t</a>(p) & q;</div>
|
||||
<div class="line"><a id="l01042" name="l01042"></a><span class="lineno"> 1042</span>}</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="a943a16dafe860452ad6ab031075faebd" name="a943a16dafe860452ad6ab031075faebd"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a943a16dafe860452ad6ab031075faebd">◆ </a></span>operator&&()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">bool operator&& </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const T </td>
|
||||
<td class="paramname"><em>p</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const <a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> & </td>
|
||||
<td class="paramname"><em>q</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<div class="fragment"><div class="line"><a id="l01059" name="l01059"></a><span class="lineno"> 1059</span> {</div>
|
||||
<div class="line"><a id="l01060" name="l01060"></a><span class="lineno"> 1060</span> <span class="keywordflow">return</span> <a class="code hl_class" href="../../db/d9a/classuint128__t.html">uint128_t</a>(p) && q;</div>
|
||||
<div class="line"><a id="l01061" name="l01061"></a><span class="lineno"> 1061</span>}</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="a7c61bcd19e8f3647df520c6afa5a81db" name="a7c61bcd19e8f3647df520c6afa5a81db"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a7c61bcd19e8f3647df520c6afa5a81db">◆ </a></span>operator*()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname"><a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> operator* </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const T </td>
|
||||
<td class="paramname"><em>p</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const <a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> & </td>
|
||||
<td class="paramname"><em>q</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<div class="fragment"><div class="line"><a id="l01021" name="l01021"></a><span class="lineno"> 1021</span> {</div>
|
||||
<div class="line"><a id="l01022" name="l01022"></a><span class="lineno"> 1022</span> <span class="keywordflow">return</span> <a class="code hl_class" href="../../db/d9a/classuint128__t.html">uint128_t</a>(p) * q;</div>
|
||||
<div class="line"><a id="l01023" name="l01023"></a><span class="lineno"> 1023</span>}</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="aaaf018bfb929bea8e60320cfad566a04" name="aaaf018bfb929bea8e60320cfad566a04"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#aaaf018bfb929bea8e60320cfad566a04">◆ </a></span>operator+()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname"><a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> operator+ </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const T & </td>
|
||||
<td class="paramname"><em>p</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const <a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> & </td>
|
||||
<td class="paramname"><em>q</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<div class="fragment"><div class="line"><a id="l01009" name="l01009"></a><span class="lineno"> 1009</span> {</div>
|
||||
<div class="line"><a id="l01010" name="l01010"></a><span class="lineno"> 1010</span> <span class="keywordflow">return</span> <a class="code hl_class" href="../../db/d9a/classuint128__t.html">uint128_t</a>(p) + q;</div>
|
||||
<div class="line"><a id="l01011" name="l01011"></a><span class="lineno"> 1011</span>}</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="a1830551ab558c59d101c6ec44353b334" name="a1830551ab558c59d101c6ec44353b334"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a1830551ab558c59d101c6ec44353b334">◆ </a></span>operator-()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname"><a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> operator- </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const T </td>
|
||||
<td class="paramname"><em>p</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const <a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> & </td>
|
||||
<td class="paramname"><em>q</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<div class="fragment"><div class="line"><a id="l01015" name="l01015"></a><span class="lineno"> 1015</span> {</div>
|
||||
<div class="line"><a id="l01016" name="l01016"></a><span class="lineno"> 1016</span> <span class="keywordflow">return</span> <a class="code hl_class" href="../../db/d9a/classuint128__t.html">uint128_t</a>(p) - q;</div>
|
||||
<div class="line"><a id="l01017" name="l01017"></a><span class="lineno"> 1017</span>}</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="ac569881744750b9808197fd3ee9b6033" name="ac569881744750b9808197fd3ee9b6033"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ac569881744750b9808197fd3ee9b6033">◆ </a></span>operator/()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname"><a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> operator/ </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const T </td>
|
||||
<td class="paramname"><em>p</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const <a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> & </td>
|
||||
<td class="paramname"><em>q</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<div class="fragment"><div class="line"><a id="l01027" name="l01027"></a><span class="lineno"> 1027</span> {</div>
|
||||
<div class="line"><a id="l01028" name="l01028"></a><span class="lineno"> 1028</span> <span class="keywordflow">return</span> <a class="code hl_class" href="../../db/d9a/classuint128__t.html">uint128_t</a>(p) / q;</div>
|
||||
<div class="line"><a id="l01029" name="l01029"></a><span class="lineno"> 1029</span>}</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="aab09ed8ebbfd9a573a8f862d83e70df4" name="aab09ed8ebbfd9a573a8f862d83e70df4"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#aab09ed8ebbfd9a573a8f862d83e70df4">◆ </a></span>operator<()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">bool operator< </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const T </td>
|
||||
<td class="paramname"><em>p</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const <a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> & </td>
|
||||
<td class="paramname"><em>q</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<div class="fragment"><div class="line"><a id="l01084" name="l01084"></a><span class="lineno"> 1084</span> {</div>
|
||||
<div class="line"><a id="l01085" name="l01085"></a><span class="lineno"> 1085</span> <span class="keywordflow">return</span> <a class="code hl_class" href="../../db/d9a/classuint128__t.html">uint128_t</a>(p) < q;</div>
|
||||
<div class="line"><a id="l01086" name="l01086"></a><span class="lineno"> 1086</span>}</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="a8cdb417cc47fa541e4ff46808a7dc105" name="a8cdb417cc47fa541e4ff46808a7dc105"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a8cdb417cc47fa541e4ff46808a7dc105">◆ </a></span>operator<=()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">bool operator<= </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const T </td>
|
||||
<td class="paramname"><em>p</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const <a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> & </td>
|
||||
<td class="paramname"><em>q</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<div class="fragment"><div class="line"><a id="l01090" name="l01090"></a><span class="lineno"> 1090</span> {</div>
|
||||
<div class="line"><a id="l01091" name="l01091"></a><span class="lineno"> 1091</span> <span class="keywordflow">return</span> <a class="code hl_class" href="../../db/d9a/classuint128__t.html">uint128_t</a>(p) <= q;</div>
|
||||
<div class="line"><a id="l01092" name="l01092"></a><span class="lineno"> 1092</span>}</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="a71d5a067d5273c0208a5b8ccbe1e6bfe" name="a71d5a067d5273c0208a5b8ccbe1e6bfe"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a71d5a067d5273c0208a5b8ccbe1e6bfe">◆ </a></span>operator==()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">bool operator== </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const T </td>
|
||||
<td class="paramname"><em>p</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const <a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> & </td>
|
||||
<td class="paramname"><em>q</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<div class="fragment"><div class="line"><a id="l01072" name="l01072"></a><span class="lineno"> 1072</span> {</div>
|
||||
<div class="line"><a id="l01073" name="l01073"></a><span class="lineno"> 1073</span> <span class="keywordflow">return</span> <a class="code hl_class" href="../../db/d9a/classuint128__t.html">uint128_t</a>(p) == q;</div>
|
||||
<div class="line"><a id="l01074" name="l01074"></a><span class="lineno"> 1074</span>}</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="a06aa8321ed132222570adc96251b8185" name="a06aa8321ed132222570adc96251b8185"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a06aa8321ed132222570adc96251b8185">◆ </a></span>operator>()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">bool operator> </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const T </td>
|
||||
<td class="paramname"><em>p</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const <a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> & </td>
|
||||
<td class="paramname"><em>q</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<div class="fragment"><div class="line"><a id="l01096" name="l01096"></a><span class="lineno"> 1096</span> {</div>
|
||||
<div class="line"><a id="l01097" name="l01097"></a><span class="lineno"> 1097</span> <span class="keywordflow">return</span> <a class="code hl_class" href="../../db/d9a/classuint128__t.html">uint128_t</a>(p) > q;</div>
|
||||
<div class="line"><a id="l01098" name="l01098"></a><span class="lineno"> 1098</span>}</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="a1b359e53da68ae18fe293dcb3c4d7f9f" name="a1b359e53da68ae18fe293dcb3c4d7f9f"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a1b359e53da68ae18fe293dcb3c4d7f9f">◆ </a></span>operator>=()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">bool operator>= </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const T </td>
|
||||
<td class="paramname"><em>p</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const <a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> & </td>
|
||||
<td class="paramname"><em>q</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<div class="fragment"><div class="line"><a id="l01102" name="l01102"></a><span class="lineno"> 1102</span> {</div>
|
||||
<div class="line"><a id="l01103" name="l01103"></a><span class="lineno"> 1103</span> <span class="keywordflow">return</span> <a class="code hl_class" href="../../db/d9a/classuint128__t.html">uint128_t</a>(p) >= q;</div>
|
||||
<div class="line"><a id="l01104" name="l01104"></a><span class="lineno"> 1104</span>}</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="a9ce42f459b208a143d60389e8307ef0c" name="a9ce42f459b208a143d60389e8307ef0c"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a9ce42f459b208a143d60389e8307ef0c">◆ </a></span>operator^()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname"><a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> operator^ </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const T </td>
|
||||
<td class="paramname"><em>p</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const <a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> & </td>
|
||||
<td class="paramname"><em>q</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<div class="fragment"><div class="line"><a id="l01052" name="l01052"></a><span class="lineno"> 1052</span> {</div>
|
||||
<div class="line"><a id="l01053" name="l01053"></a><span class="lineno"> 1053</span> <span class="keywordflow">return</span> <a class="code hl_class" href="../../db/d9a/classuint128__t.html">uint128_t</a>(p) ^ q;</div>
|
||||
<div class="line"><a id="l01054" name="l01054"></a><span class="lineno"> 1054</span>}</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="ac613e24349a810b800314cc3bd50cfdd" name="ac613e24349a810b800314cc3bd50cfdd"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ac613e24349a810b800314cc3bd50cfdd">◆ </a></span>operator|()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname"><a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> operator| </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const T </td>
|
||||
<td class="paramname"><em>p</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const <a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> & </td>
|
||||
<td class="paramname"><em>q</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<div class="fragment"><div class="line"><a id="l01046" name="l01046"></a><span class="lineno"> 1046</span> {</div>
|
||||
<div class="line"><a id="l01047" name="l01047"></a><span class="lineno"> 1047</span> <span class="keywordflow">return</span> <a class="code hl_class" href="../../db/d9a/classuint128__t.html">uint128_t</a>(p) | q;</div>
|
||||
<div class="line"><a id="l01048" name="l01048"></a><span class="lineno"> 1048</span>}</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="a732c5a7abd06e859de30c545b29f175a" name="a732c5a7abd06e859de30c545b29f175a"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a732c5a7abd06e859de30c545b29f175a">◆ </a></span>operator||()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">bool operator|| </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const T </td>
|
||||
<td class="paramname"><em>p</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const <a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a> & </td>
|
||||
<td class="paramname"><em>q</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<div class="fragment"><div class="line"><a id="l01065" name="l01065"></a><span class="lineno"> 1065</span> {</div>
|
||||
<div class="line"><a id="l01066" name="l01066"></a><span class="lineno"> 1066</span> <span class="keywordflow">return</span> <a class="code hl_class" href="../../db/d9a/classuint128__t.html">uint128_t</a>(p) || q;</div>
|
||||
<div class="line"><a id="l01067" name="l01067"></a><span class="lineno"> 1067</span>}</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- contents -->
|
||||
@@ -302,7 +942,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_4d6e05837bf820fb089a8a8cdf2f42b7.html">ciphers</a></li><li class="navelem"><a class="el" href="../../da/d41/uint128__t_8hpp.html">uint128_t.hpp</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>
|
||||
|
||||
@@ -1,25 +1,9 @@
|
||||
var uint128__t_8hpp =
|
||||
[
|
||||
[ "is_integral< uint128_t >", "d2/dd4/structstd_1_1is__integral_3_01uint128__t_01_4.html", null ],
|
||||
[ "is_arithmetic< uint128_t >", "d2/dfc/structstd_1_1is__arithmetic_3_01uint128__t_01_4.html", null ],
|
||||
[ "is_unsigned< uint128_t >", "d5/d25/structstd_1_1is__unsigned_3_01uint128__t_01_4.html", null ],
|
||||
[ "std::is_integral< uint128_t >", "d2/dd4/structstd_1_1is__integral_3_01uint128__t_01_4.html", null ],
|
||||
[ "std::is_arithmetic< uint128_t >", "d2/dfc/structstd_1_1is__arithmetic_3_01uint128__t_01_4.html", null ],
|
||||
[ "std::is_unsigned< uint128_t >", "d5/d25/structstd_1_1is__unsigned_3_01uint128__t_01_4.html", null ],
|
||||
[ "uint128_t", "db/d9a/classuint128__t.html", "db/d9a/classuint128__t" ],
|
||||
[ "CIPHERS_UINT128_T_HPP_", "da/d41/uint128__t_8hpp.html#acce684d03a24f9c13a9ed36de6d24a57", null ],
|
||||
[ "add", "da/d41/uint128__t_8hpp.html#a3ff77262ffd6743df5b808d41382a6f3", null ],
|
||||
[ "operator!=", "da/d41/uint128__t_8hpp.html#a78df90238f0ea15d5c6f813873b85464", null ],
|
||||
[ "operator%", "da/d41/uint128__t_8hpp.html#a00bd5dd1340b527e8943cb6d02dcd960", null ],
|
||||
[ "operator&", "da/d41/uint128__t_8hpp.html#ae0ba0b7e84f0b26958238ed71c42222c", null ],
|
||||
[ "operator&&", "da/d41/uint128__t_8hpp.html#a943a16dafe860452ad6ab031075faebd", null ],
|
||||
[ "operator*", "da/d41/uint128__t_8hpp.html#a7c61bcd19e8f3647df520c6afa5a81db", null ],
|
||||
[ "operator+", "da/d41/uint128__t_8hpp.html#aaaf018bfb929bea8e60320cfad566a04", null ],
|
||||
[ "operator-", "da/d41/uint128__t_8hpp.html#a1830551ab558c59d101c6ec44353b334", null ],
|
||||
[ "operator/", "da/d41/uint128__t_8hpp.html#ac569881744750b9808197fd3ee9b6033", null ],
|
||||
[ "operator<", "da/d41/uint128__t_8hpp.html#aab09ed8ebbfd9a573a8f862d83e70df4", null ],
|
||||
[ "operator<=", "da/d41/uint128__t_8hpp.html#a8cdb417cc47fa541e4ff46808a7dc105", null ],
|
||||
[ "operator==", "da/d41/uint128__t_8hpp.html#a71d5a067d5273c0208a5b8ccbe1e6bfe", null ],
|
||||
[ "operator>", "da/d41/uint128__t_8hpp.html#a06aa8321ed132222570adc96251b8185", null ],
|
||||
[ "operator>=", "da/d41/uint128__t_8hpp.html#a1b359e53da68ae18fe293dcb3c4d7f9f", null ],
|
||||
[ "operator^", "da/d41/uint128__t_8hpp.html#a9ce42f459b208a143d60389e8307ef0c", null ],
|
||||
[ "operator|", "da/d41/uint128__t_8hpp.html#ac613e24349a810b800314cc3bd50cfdd", null ],
|
||||
[ "operator||", "da/d41/uint128__t_8hpp.html#a732c5a7abd06e859de30c545b29f175a", null ]
|
||||
[ "add", "da/d41/uint128__t_8hpp.html#a3ff77262ffd6743df5b808d41382a6f3", null ]
|
||||
];
|
||||
@@ -5,5 +5,5 @@
|
||||
<area shape="rect" id="node4" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/string/basic_string/push_back.html#" title=" " alt="" coords="101,107,253,133"/>
|
||||
<area shape="rect" id="node5" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/algorithm/reverse.html#" title=" " alt="" coords="131,157,223,184"/>
|
||||
<area shape="rect" id="node6" 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="122,208,233,235"/>
|
||||
<area shape="rect" id="node7" href="$d8/d77/namespacemachine__learning.html#a5305cc18d11943d3dc0d66e70d7e9c44" title=" " alt="" coords="97,259,257,285"/>
|
||||
<area shape="rect" id="node7" href="$d8/d77/namespacemachine__learning.html#a6f1c98c016ad34ff3d9f39372161bd35" title=" " alt="" coords="97,259,257,285"/>
|
||||
</map>
|
||||
|
||||
@@ -1 +1 @@
|
||||
0488c28a4644dd1c1998315f301235f8
|
||||
19a694775ab854678641dd37aa60cc1d
|
||||
@@ -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="197pt" height="218pt"
|
||||
@@ -96,7 +96,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="69,-0.5 69,-19.5 189,-19.5 189,-0.5 69,-0.5"/>
|
||||
<text text-anchor="middle" x="129" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">machine_learning::sum</text>
|
||||
</a>
|
||||
|
||||
|
Before Width: | Height: | Size: 5.4 KiB After Width: | Height: | Size: 5.4 KiB |
@@ -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/depth_first_search_with_stack.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++
|
||||
 <span id="projectnumber">1.0.0</span>
|
||||
<div id="projectname">Algorithms_in_C++<span id="projectnumber"> 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&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "../../search",false,'Search','.html');
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&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&dn=gpl-2.0.txt GPL-v2 */
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&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&dn=gpl-2.0.txt GPL-v2 */
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||
$(document).ready(function(){initNavTree('da/d4b/depth__first__search__with__stack_8cpp.html','../../'); initResizable(); });
|
||||
/* @license-end */
|
||||
</script>
|
||||
@@ -94,12 +94,11 @@ $(document).ready(function(){initNavTree('da/d4b/depth__first__search__with__sta
|
||||
<a href="#namespaces">Namespaces</a> |
|
||||
<a href="#func-members">Functions</a> |
|
||||
<a href="#var-members">Variables</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">depth_first_search_with_stack.cpp File Reference</div> </div>
|
||||
<div class="headertitle"><div class="title">depth_first_search_with_stack.cpp File Reference</div></div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p><a href="https://en.wikipedia.org/wiki/Depth-first_search">Depth First Search Algorithm using Stack (Depth First Search Algorithm)</a>
|
||||
<p><a href="https://en.wikipedia.org/wiki/Depth-first_search" target="_blank">Depth First Search Algorithm using Stack (Depth First Search Algorithm)</a>
|
||||
<a href="#details">More...</a></p>
|
||||
<div class="textblock"><code>#include <iostream></code><br />
|
||||
<code>#include <stack></code><br />
|
||||
@@ -113,53 +112,53 @@ Include dependency graph for depth_first_search_with_stack.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:df/dce/namespacegraph"><td class="memItemLeft" align="right" valign="top">  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dce/namespacegraph.html">graph</a></td></tr>
|
||||
<tr class="memitem:df/dce/namespacegraph"><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dce/namespacegraph.html">graph</a></td></tr>
|
||||
<tr class="memdesc:df/dce/namespacegraph"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="../../dc/d61/classgraph_1_1_graph.html">Graph</a> Algorithms. <br /></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:d8/da7/namespacedepth__first__search"><td class="memItemLeft" align="right" valign="top">  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/da7/namespacedepth__first__search.html">depth_first_search</a></td></tr>
|
||||
<tr class="memdesc:d8/da7/namespacedepth__first__search"><td class="mdescLeft"> </td><td class="mdescRight">Functions for <a href="https://en.wikipedia.org/wiki/Depth-first_search">Depth First Search</a> algorithm. <br /></td></tr>
|
||||
<tr class="memitem:d8/da7/namespacedepth__first__search"><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/da7/namespacedepth__first__search.html">depth_first_search</a></td></tr>
|
||||
<tr class="memdesc:d8/da7/namespacedepth__first__search"><td class="mdescLeft"> </td><td class="mdescRight">Functions for <a href="https://en.wikipedia.org/wiki/Depth-first_search" target="_blank">Depth First Search</a> algorithm. <br /></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </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:a7511fcdb330b3ab599ff9e15229ae068"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d4b/depth__first__search__with__stack_8cpp.html#a7511fcdb330b3ab599ff9e15229ae068">graph::depth_first_search::addEdge</a> (<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>< <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>< size_t >> *adj, size_t u, size_t v)</td></tr>
|
||||
<tr class="memdesc:a7511fcdb330b3ab599ff9e15229ae068"><td class="mdescLeft"> </td><td class="mdescRight">Adds and edge between two vertices of graph say u and v in this case. <a href="../../da/d4b/depth__first__search__with__stack_8cpp.html#a7511fcdb330b3ab599ff9e15229ae068">More...</a><br /></td></tr>
|
||||
<tr class="separator:a7511fcdb330b3ab599ff9e15229ae068"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ae198aeaad22ccd56712b7380bd62f777"><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>< size_t > </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d4b/depth__first__search__with__stack_8cpp.html#ae198aeaad22ccd56712b7380bd62f777">graph::depth_first_search::dfs</a> (const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>< <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>< size_t > > &graph, size_t start)</td></tr>
|
||||
<tr class="memdesc:ae198aeaad22ccd56712b7380bd62f777"><td class="mdescLeft"> </td><td class="mdescRight">Explores the given vertex, exploring a vertex means traversing over all the vertices which are connected to the vertex that is currently being explored and push it onto the stack. <a href="../../da/d4b/depth__first__search__with__stack_8cpp.html#ae198aeaad22ccd56712b7380bd62f777">More...</a><br /></td></tr>
|
||||
<tr class="separator:ae198aeaad22ccd56712b7380bd62f777"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:aadebe9c855821d6515ca5b171222ef7b"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d4b/depth__first__search__with__stack_8cpp.html#aadebe9c855821d6515ca5b171222ef7b">graph::depth_first_search::addEdge</a> (<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>< <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>< size_t > > *adj, size_t u, size_t v)</td></tr>
|
||||
<tr class="memdesc:aadebe9c855821d6515ca5b171222ef7b"><td class="mdescLeft"> </td><td class="mdescRight">Adds and edge between two vertices of graph say u and v in this case. <a href="../../da/d4b/depth__first__search__with__stack_8cpp.html#aadebe9c855821d6515ca5b171222ef7b">More...</a><br /></td></tr>
|
||||
<tr class="separator:aadebe9c855821d6515ca5b171222ef7b"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a5738da9f508f6a9e87f123c9fb6f2ea9"><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>< size_t > </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d4b/depth__first__search__with__stack_8cpp.html#a5738da9f508f6a9e87f123c9fb6f2ea9">graph::depth_first_search::dfs</a> (const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>< <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>< size_t > > &graph, size_t start)</td></tr>
|
||||
<tr class="memdesc:a5738da9f508f6a9e87f123c9fb6f2ea9"><td class="mdescLeft"> </td><td class="mdescRight">Explores the given vertex, exploring a vertex means traversing over all the vertices which are connected to the vertex that is currently being explored and push it onto the stack. <a href="../../da/d4b/depth__first__search__with__stack_8cpp.html#a5738da9f508f6a9e87f123c9fb6f2ea9">More...</a><br /></td></tr>
|
||||
<tr class="separator:a5738da9f508f6a9e87f123c9fb6f2ea9"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a483bb8ccf42aaf7375a83e91490eda1e"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d4b/depth__first__search__with__stack_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e">tests</a> ()</td></tr>
|
||||
<tr class="separator:a483bb8ccf42aaf7375a83e91490eda1e"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d4b/depth__first__search__with__stack_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a> ()</td></tr>
|
||||
<tr class="memdesc:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="mdescLeft"> </td><td class="mdescRight">Main function. <a href="../../da/d4b/depth__first__search__with__stack_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">More...</a><br /></td></tr>
|
||||
<tr class="separator:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="memSeparator" colspan="2"> </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:afb80b42b42381658a12a57a975ecd0c7"><td class="memItemLeft" align="right" valign="top">constexpr int </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d4b/depth__first__search__with__stack_8cpp.html#afb80b42b42381658a12a57a975ecd0c7">WHITE</a> = 0</td></tr>
|
||||
<tr class="separator:afb80b42b42381658a12a57a975ecd0c7"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a43e30173f12330e85cce6239a277527e"><td class="memItemLeft" align="right" valign="top"><a id="a43e30173f12330e85cce6239a277527e"></a>
|
||||
constexpr int </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d4b/depth__first__search__with__stack_8cpp.html#a43e30173f12330e85cce6239a277527e">GREY</a> = 1</td></tr>
|
||||
<tr class="memitem:a43e30173f12330e85cce6239a277527e"><td class="memItemLeft" align="right" valign="top"><a id="a43e30173f12330e85cce6239a277527e" name="a43e30173f12330e85cce6239a277527e"></a>
|
||||
constexpr int </td><td class="memItemRight" valign="bottom"><b>GREY</b> = 1</td></tr>
|
||||
<tr class="memdesc:a43e30173f12330e85cce6239a277527e"><td class="mdescLeft"> </td><td class="mdescRight">indicates the node hasn't been explored <br /></td></tr>
|
||||
<tr class="separator:a43e30173f12330e85cce6239a277527e"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a7f1cd94cf4da32933e8551cb3577e18b"><td class="memItemLeft" align="right" valign="top"><a id="a7f1cd94cf4da32933e8551cb3577e18b"></a>
|
||||
constexpr int </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d4b/depth__first__search__with__stack_8cpp.html#a7f1cd94cf4da32933e8551cb3577e18b">BLACK</a> = 2</td></tr>
|
||||
<tr class="memitem:a7f1cd94cf4da32933e8551cb3577e18b"><td class="memItemLeft" align="right" valign="top"><a id="a7f1cd94cf4da32933e8551cb3577e18b" name="a7f1cd94cf4da32933e8551cb3577e18b"></a>
|
||||
constexpr int </td><td class="memItemRight" valign="bottom"><b>BLACK</b> = 2</td></tr>
|
||||
<tr class="memdesc:a7f1cd94cf4da32933e8551cb3577e18b"><td class="mdescLeft"> </td><td class="mdescRight">indicates node is in stack waiting to be explored <br /></td></tr>
|
||||
<tr class="separator:a7f1cd94cf4da32933e8551cb3577e18b"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a330a2b0a904f01802ada1f8f3b28e76c"><td class="memItemLeft" align="right" valign="top"><a id="a330a2b0a904f01802ada1f8f3b28e76c"></a>
|
||||
constexpr int64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d4b/depth__first__search__with__stack_8cpp.html#a330a2b0a904f01802ada1f8f3b28e76c">INF</a> = <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/types/numeric_limits.html">std::numeric_limits</a><int16_t>::max()</td></tr>
|
||||
<tr class="memitem:a330a2b0a904f01802ada1f8f3b28e76c"><td class="memItemLeft" align="right" valign="top"><a id="a330a2b0a904f01802ada1f8f3b28e76c" name="a330a2b0a904f01802ada1f8f3b28e76c"></a>
|
||||
constexpr int64_t </td><td class="memItemRight" valign="bottom"><b>INF</b> = <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/types/numeric_limits.html">std::numeric_limits</a><int16_t>::max()</td></tr>
|
||||
<tr class="memdesc:a330a2b0a904f01802ada1f8f3b28e76c"><td class="mdescLeft"> </td><td class="mdescRight">indicates node has already been explored <br /></td></tr>
|
||||
<tr class="separator:a330a2b0a904f01802ada1f8f3b28e76c"><td class="memSeparator" colspan="2"> </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/Depth-first_search">Depth First Search Algorithm using Stack (Depth First Search Algorithm)</a> </p>
|
||||
<dl class="section author"><dt>Author</dt><dd><a href="http://github.com/ayaankhan98">Ayaan Khan</a> </dd>
|
||||
<div class="textblock"><p ><a href="https://en.wikipedia.org/wiki/Depth-first_search" target="_blank">Depth First Search Algorithm using Stack (Depth First Search Algorithm)</a> </p>
|
||||
<dl class="section author"><dt>Author</dt><dd><a href="http://github.com/ayaankhan98" target="_blank">Ayaan Khan</a> </dd>
|
||||
<dd>
|
||||
<a href="https://github.com/sauravUppoor">Saurav Uppoor</a></dd></dl>
|
||||
<a href="https://github.com/sauravUppoor" target="_blank">Saurav Uppoor</a></dd></dl>
|
||||
<p>Depth First Search also quoted as DFS is a <a class="el" href="../../da/d9a/class_graph.html">Graph</a> Traversal Algorithm. Time Complexity O(|V| + |E|) where V is number of vertices and E is number of edges in graph.</p>
|
||||
<p>Application of Depth First Search are</p>
|
||||
<p >Application of Depth First Search are</p>
|
||||
<ol type="1">
|
||||
<li>Finding connected components</li>
|
||||
<li>Finding 2-(edge or vertex)-connected components.</li>
|
||||
@@ -177,8 +176,8 @@ constexpr int64_t </td><td class="memItemRight" valign="bottom"><a class="e
|
||||
<li>Repeat steps 4 and 5 until the stack is empty. </li>
|
||||
</ol>
|
||||
</div><h2 class="groupheader">Function Documentation</h2>
|
||||
<a id="a7511fcdb330b3ab599ff9e15229ae068"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a7511fcdb330b3ab599ff9e15229ae068">◆ </a></span>addEdge()</h2>
|
||||
<a id="aadebe9c855821d6515ca5b171222ef7b" name="aadebe9c855821d6515ca5b171222ef7b"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#aadebe9c855821d6515ca5b171222ef7b">◆ </a></span>addEdge()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
@@ -186,7 +185,7 @@ constexpr int64_t </td><td class="memItemRight" valign="bottom"><a class="e
|
||||
<tr>
|
||||
<td class="memname">void graph::depth_first_search::addEdge </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>< <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>< size_t >> * </td>
|
||||
<td class="paramtype"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>< <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>< size_t > > * </td>
|
||||
<td class="paramname"><em>adj</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
@@ -218,27 +217,27 @@ constexpr int64_t </td><td class="memItemRight" valign="bottom"><a class="e
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<div class="fragment"><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  {</div>
|
||||
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <span class="comment">/*</span></div>
|
||||
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span> <span class="comment"> *</span></div>
|
||||
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment"> * Here we are considering undirected graph that's the</span></div>
|
||||
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment"> * reason we are adding v to the adjacency list representation of u</span></div>
|
||||
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span> <span class="comment"> * and also adding u to the adjacency list representation of v</span></div>
|
||||
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> <span class="comment"> *</span></div>
|
||||
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span> <span class="comment"> */</span></div>
|
||||
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  (*adj)[u - 1].push_back(v - 1);</div>
|
||||
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> }</div>
|
||||
<div class="fragment"><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">/*</span></div>
|
||||
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span><span class="comment"> *</span></div>
|
||||
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span><span class="comment"> * Here we are considering undirected graph that's the</span></div>
|
||||
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span><span class="comment"> * reason we are adding v to the adjacency list representation of u</span></div>
|
||||
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span><span class="comment"> * and also adding u to the adjacency list representation of v</span></div>
|
||||
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span><span class="comment"> *</span></div>
|
||||
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span><span class="comment"> */</span></div>
|
||||
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> (*adj)[u - 1].push_back(v - 1);</div>
|
||||
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span>}</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="ae198aeaad22ccd56712b7380bd62f777"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ae198aeaad22ccd56712b7380bd62f777">◆ </a></span>dfs()</h2>
|
||||
<a id="a5738da9f508f6a9e87f123c9fb6f2ea9" name="a5738da9f508f6a9e87f123c9fb6f2ea9"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a5738da9f508f6a9e87f123c9fb6f2ea9">◆ </a></span>dfs()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<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><size_t> graph::depth_first_search::dfs </td>
|
||||
<td class="memname"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>< size_t > graph::depth_first_search::dfs </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>< <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>< size_t > > & </td>
|
||||
<td class="paramname"><em>graph</em>, </td>
|
||||
@@ -266,40 +265,40 @@ constexpr int64_t </td><td class="memItemRight" valign="bottom"><a class="e
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>vector with nodes stored in the order of DFS traversal </dd></dl>
|
||||
<p>checked[i] stores the status of each node</p>
|
||||
<p>while stack is not empty we keep exploring the node on top of stack</p>
|
||||
<p>push the node to the final result vector</p>
|
||||
<p>exploring the neighbours of the current node</p>
|
||||
<p><a class="el" href="../../db/d8b/struct_node.html">Node</a> has been explored</p>
|
||||
<div class="fragment"><div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  {<span class="comment"></span></div>
|
||||
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="comment"> /// checked[i] stores the status of each node</span></div>
|
||||
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="comment"></span> <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<size_t></a> checked(<a class="code" href="../../df/dce/namespacegraph.html">graph</a>.size(), <a class="code" href="../../da/d4b/depth__first__search__with__stack_8cpp.html#afb80b42b42381658a12a57a975ecd0c7">WHITE</a>), traversed_path;</div>
|
||||
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  </div>
|
||||
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  checked[start] = <a class="code" href="../../da/d4b/depth__first__search__with__stack_8cpp.html#a43e30173f12330e85cce6239a277527e">GREY</a>;</div>
|
||||
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/stack.html">std::stack<size_t></a> <a class="code" href="../../dc/dc5/paranthesis__matching_8cpp.html#aa37d24a036d239b3b528f13b9de880c7">stack</a>;</div>
|
||||
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <a class="code" href="../../d1/dc2/classstack.html">stack</a>.<a class="code" href="../../d1/dc2/classstack.html#a5705c3926dcf5fd3f9c964467a50b81d">push</a>(start);</div>
|
||||
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> <span class="comment"></span> </div>
|
||||
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="comment"> /// while stack is not empty we keep exploring the node on top of stack</span></div>
|
||||
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="comment"></span> <span class="keywordflow">while</span> (!<a class="code" href="../../d1/dc2/classstack.html">stack</a>.empty()) {</div>
|
||||
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <span class="keywordtype">int</span> act = <a class="code" href="../../d1/dc2/classstack.html">stack</a>.<a class="code" href="../../d1/dc2/classstack.html#a21c0bb6ce7dcfe445cc12031977ea344">top</a>();</div>
|
||||
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  <a class="code" href="../../d1/dc2/classstack.html">stack</a>.<a class="code" href="../../d1/dc2/classstack.html#a6cd4b95d5de00d41b2491392338384dc">pop</a>();</div>
|
||||
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  </div>
|
||||
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <span class="keywordflow">if</span> (checked[act] == <a class="code" href="../../da/d4b/depth__first__search__with__stack_8cpp.html#a43e30173f12330e85cce6239a277527e">GREY</a>) {<span class="comment"></span></div>
|
||||
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="comment"> /// push the node to the final result vector</span></div>
|
||||
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="comment"></span> traversed_path.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">push_back</a>(act + 1);</div>
|
||||
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="comment"></span> </div>
|
||||
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="comment"> /// exploring the neighbours of the current node</span></div>
|
||||
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="comment"></span> <span class="keywordflow">for</span> (<span class="keyword">auto</span> it : <a class="code" href="../../df/dce/namespacegraph.html">graph</a>[act]) {</div>
|
||||
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <a class="code" href="../../d1/dc2/classstack.html">stack</a>.<a class="code" href="../../d1/dc2/classstack.html#a5705c3926dcf5fd3f9c964467a50b81d">push</a>(it);</div>
|
||||
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <span class="keywordflow">if</span> (checked[it] != <a class="code" href="../../da/d4b/depth__first__search__with__stack_8cpp.html#a7f1cd94cf4da32933e8551cb3577e18b">BLACK</a>) {</div>
|
||||
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  checked[it] = <a class="code" href="../../da/d4b/depth__first__search__with__stack_8cpp.html#a43e30173f12330e85cce6239a277527e">GREY</a>;</div>
|
||||
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  }</div>
|
||||
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  }</div>
|
||||
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  checked[act] = <a class="code" href="../../da/d4b/depth__first__search__with__stack_8cpp.html#a7f1cd94cf4da32933e8551cb3577e18b">BLACK</a>; <span class="comment">/// Node has been explored</span></div>
|
||||
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  }</div>
|
||||
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  }</div>
|
||||
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <span class="keywordflow">return</span> traversed_path;</div>
|
||||
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> }</div>
|
||||
<p >checked[i] stores the status of each node</p>
|
||||
<p >while stack is not empty we keep exploring the node on top of stack</p>
|
||||
<p >push the node to the final result vector</p>
|
||||
<p >exploring the neighbours of the current node</p>
|
||||
<p ><a class="el" href="../../db/d8b/struct_node.html">Node</a> has been explored</p>
|
||||
<div class="fragment"><div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> {<span class="comment"></span></div>
|
||||
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span><span class="comment"> /// checked[i] stores the status of each node</span></div>
|
||||
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span><span class="comment"></span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<size_t></a> checked(<a class="code hl_namespace" href="../../df/dce/namespacegraph.html">graph</a>.size(), <a class="code hl_variable" href="../../da/d4b/depth__first__search__with__stack_8cpp.html#afb80b42b42381658a12a57a975ecd0c7">WHITE</a>), traversed_path;</div>
|
||||
<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> checked[start] = <a class="code hl_variable" href="../../da/d4b/depth__first__search__with__stack_8cpp.html#a43e30173f12330e85cce6239a277527e">GREY</a>;</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/container/stack.html">std::stack<size_t></a> <a class="code hl_variable" href="../../dc/dc5/paranthesis__matching_8cpp.html#aa37d24a036d239b3b528f13b9de880c7">stack</a>;</div>
|
||||
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> <a class="code hl_class" href="../../d1/dc2/classstack.html">stack</a>.<a class="code hl_function" href="../../d1/dc2/classstack.html#a5705c3926dcf5fd3f9c964467a50b81d">push</a>(start);</div>
|
||||
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span><span class="comment"></span> </div>
|
||||
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span><span class="comment"> /// while stack is not empty we keep exploring the node on top of stack</span></div>
|
||||
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span><span class="comment"></span> <span class="keywordflow">while</span> (!<a class="code hl_class" href="../../d1/dc2/classstack.html">stack</a>.empty()) {</div>
|
||||
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> <span class="keywordtype">int</span> act = <a class="code hl_class" href="../../d1/dc2/classstack.html">stack</a>.<a class="code hl_function" href="../../d1/dc2/classstack.html#a21c0bb6ce7dcfe445cc12031977ea344">top</a>();</div>
|
||||
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> <a class="code hl_class" href="../../d1/dc2/classstack.html">stack</a>.<a class="code hl_function" href="../../d1/dc2/classstack.html#a6cd4b95d5de00d41b2491392338384dc">pop</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="keywordflow">if</span> (checked[act] == <a class="code hl_variable" href="../../da/d4b/depth__first__search__with__stack_8cpp.html#a43e30173f12330e85cce6239a277527e">GREY</a>) {<span class="comment"></span></div>
|
||||
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span><span class="comment"> /// push the node to the final result vector</span></div>
|
||||
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span><span class="comment"></span> traversed_path.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">push_back</a>(act + 1);</div>
|
||||
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span><span class="comment"></span> </div>
|
||||
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span><span class="comment"> /// exploring the neighbours of the current node</span></div>
|
||||
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span><span class="comment"></span> <span class="keywordflow">for</span> (<span class="keyword">auto</span> it : <a class="code hl_namespace" href="../../df/dce/namespacegraph.html">graph</a>[act]) {</div>
|
||||
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span> <a class="code hl_class" href="../../d1/dc2/classstack.html">stack</a>.<a class="code hl_function" href="../../d1/dc2/classstack.html#a5705c3926dcf5fd3f9c964467a50b81d">push</a>(it);</div>
|
||||
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span> <span class="keywordflow">if</span> (checked[it] != <a class="code hl_variable" href="../../da/d4b/depth__first__search__with__stack_8cpp.html#a7f1cd94cf4da32933e8551cb3577e18b">BLACK</a>) {</div>
|
||||
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> checked[it] = <a class="code hl_variable" href="../../da/d4b/depth__first__search__with__stack_8cpp.html#a43e30173f12330e85cce6239a277527e">GREY</a>;</div>
|
||||
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> }</div>
|
||||
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> }</div>
|
||||
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> checked[act] = <a class="code hl_variable" href="../../da/d4b/depth__first__search__with__stack_8cpp.html#a7f1cd94cf4da32933e8551cb3577e18b">BLACK</a>; <span class="comment">/// Node has been explored</span></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> }</div>
|
||||
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> <span class="keywordflow">return</span> traversed_path;</div>
|
||||
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span>}</div>
|
||||
<div class="ttc" id="aclassstack_html"><div class="ttname"><a href="../../d1/dc2/classstack.html">stack</a></div><div class="ttdef"><b>Definition:</b> stack.h:26</div></div>
|
||||
<div class="ttc" id="aclassstack_html_a21c0bb6ce7dcfe445cc12031977ea344"><div class="ttname"><a href="../../d1/dc2/classstack.html#a21c0bb6ce7dcfe445cc12031977ea344">stack::top</a></div><div class="ttdeci">Type top()</div><div class="ttdef"><b>Definition:</b> stack.h:93</div></div>
|
||||
<div class="ttc" id="aclassstack_html_a5705c3926dcf5fd3f9c964467a50b81d"><div class="ttname"><a href="../../d1/dc2/classstack.html#a5705c3926dcf5fd3f9c964467a50b81d">stack::push</a></div><div class="ttdeci">void push(Type item)</div><div class="ttdef"><b>Definition:</b> stack.h:83</div></div>
|
||||
@@ -315,13 +314,13 @@ constexpr int64_t </td><td class="memItemRight" valign="bottom"><a class="e
|
||||
</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="../../da/d4b/depth__first__search__with__stack_8cpp_ae198aeaad22ccd56712b7380bd62f777_cgraph.svg" width="530" height="215"><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="../../da/d4b/depth__first__search__with__stack_8cpp_a5738da9f508f6a9e87f123c9fb6f2ea9_cgraph.svg" width="530" height="215"><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">◆ </a></span>main()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
@@ -339,50 +338,50 @@ 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>
|
||||
<p>creating a graph</p>
|
||||
<p>taking input for the edges</p>
|
||||
<p>taking input for the starting position</p>
|
||||
<p>Printing the order of traversal</p>
|
||||
<div class="fragment"><div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  {</div>
|
||||
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  <a class="code" href="../../da/d4b/depth__first__search__with__stack_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e">tests</a>(); <span class="comment">// execute the tests</span></div>
|
||||
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  </div>
|
||||
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  <span class="keywordtype">size_t</span> vertices = 0, edges = 0, start_pos = 1;</div>
|
||||
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<size_t></a> traversal;</div>
|
||||
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  </div>
|
||||
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Enter the Vertices : "</span>;</div>
|
||||
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> >> vertices;</div>
|
||||
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Enter the Edges : "</span>;</div>
|
||||
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> >> edges;</div>
|
||||
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="comment"></span> </div>
|
||||
<div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="comment"> /// creating a graph</span></div>
|
||||
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="comment"></span> <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<std::vector<size_t></a> > adj(vertices, <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<size_t></a>());</div>
|
||||
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="comment"></span> </div>
|
||||
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="comment"> /// taking input for the edges</span></div>
|
||||
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="comment"></span> <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Enter the vertices which have edges between them : "</span> << <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="l00189"></a><span class="lineno"> 189</span>  <span class="keywordflow">while</span> (edges--) {</div>
|
||||
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  <span class="keywordtype">size_t</span> u = 0, v = 0;</div>
|
||||
<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> >> u >> v;</div>
|
||||
<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  <a class="code" href="../../da/d4b/depth__first__search__with__stack_8cpp.html#a7511fcdb330b3ab599ff9e15229ae068">graph::depth_first_search::addEdge</a>(&adj, u, v);</div>
|
||||
<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  }</div>
|
||||
<div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="comment"></span> </div>
|
||||
<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="comment"> /// taking input for the starting position</span></div>
|
||||
<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="comment"></span> <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Enter the starting vertex [1,n]: "</span> << <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="l00197"></a><span class="lineno"> 197</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> >> start_pos;</div>
|
||||
<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  start_pos -= 1;</div>
|
||||
<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  traversal = <a class="code" href="../../da/d4b/depth__first__search__with__stack_8cpp.html#ae198aeaad22ccd56712b7380bd62f777">graph::depth_first_search::dfs</a>(adj, start_pos);</div>
|
||||
<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="comment"></span> </div>
|
||||
<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="comment"> /// Printing the order of traversal</span></div>
|
||||
<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> <span class="comment"></span> <span class="keywordflow">for</span> (<span class="keyword">auto</span> x : traversal) {</div>
|
||||
<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << x << <span class="charliteral">' '</span>;</div>
|
||||
<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  }</div>
|
||||
<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  </div>
|
||||
<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  <span class="keywordflow">return</span> 0;</div>
|
||||
<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> }</div>
|
||||
<p >creating a graph</p>
|
||||
<p >taking input for the edges</p>
|
||||
<p >taking input for the starting position</p>
|
||||
<p >Printing the order of traversal</p>
|
||||
<div class="fragment"><div class="line"><a id="l00173" name="l00173"></a><span class="lineno"> 173</span> {</div>
|
||||
<div class="line"><a id="l00174" name="l00174"></a><span class="lineno"> 174</span> <a class="code hl_function" href="../../da/d4b/depth__first__search__with__stack_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e">tests</a>(); <span class="comment">// execute the tests</span></div>
|
||||
<div class="line"><a id="l00175" name="l00175"></a><span class="lineno"> 175</span> </div>
|
||||
<div class="line"><a id="l00176" name="l00176"></a><span class="lineno"> 176</span> <span class="keywordtype">size_t</span> vertices = 0, edges = 0, start_pos = 1;</div>
|
||||
<div class="line"><a id="l00177" name="l00177"></a><span class="lineno"> 177</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<size_t></a> traversal;</div>
|
||||
<div class="line"><a id="l00178" name="l00178"></a><span class="lineno"> 178</span> </div>
|
||||
<div class="line"><a id="l00179" name="l00179"></a><span class="lineno"> 179</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Enter the Vertices : "</span>;</div>
|
||||
<div class="line"><a id="l00180" name="l00180"></a><span class="lineno"> 180</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> >> vertices;</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> << <span class="stringliteral">"Enter the Edges : "</span>;</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/io/basic_istream.html">std::cin</a> >> edges;</div>
|
||||
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span><span class="comment"></span> </div>
|
||||
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span><span class="comment"> /// creating a graph</span></div>
|
||||
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"> 185</span><span class="comment"></span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<std::vector<size_t></a> > adj(vertices, <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<size_t></a>());</div>
|
||||
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"> 186</span><span class="comment"></span> </div>
|
||||
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"> 187</span><span class="comment"> /// taking input for the edges</span></div>
|
||||
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"> 188</span><span class="comment"></span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Enter the vertices which have edges between them : "</span> << <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="l00189" name="l00189"></a><span class="lineno"> 189</span> <span class="keywordflow">while</span> (edges--) {</div>
|
||||
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"> 190</span> <span class="keywordtype">size_t</span> u = 0, v = 0;</div>
|
||||
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"> 191</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> >> u >> v;</div>
|
||||
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"> 192</span> <a class="code hl_function" href="../../da/d4b/depth__first__search__with__stack_8cpp.html#aadebe9c855821d6515ca5b171222ef7b">graph::depth_first_search::addEdge</a>(&adj, u, v);</div>
|
||||
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"> 193</span> }</div>
|
||||
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"> 194</span><span class="comment"></span> </div>
|
||||
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"> 195</span><span class="comment"> /// taking input for the starting position</span></div>
|
||||
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"> 196</span><span class="comment"></span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Enter the starting vertex [1,n]: "</span> << <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="l00197" name="l00197"></a><span class="lineno"> 197</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> >> start_pos;</div>
|
||||
<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"> 198</span> start_pos -= 1;</div>
|
||||
<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"> 199</span> traversal = <a class="code hl_function" href="../../da/d4b/depth__first__search__with__stack_8cpp.html#a5738da9f508f6a9e87f123c9fb6f2ea9">graph::depth_first_search::dfs</a>(adj, start_pos);</div>
|
||||
<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"> 200</span><span class="comment"></span> </div>
|
||||
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"> 201</span><span class="comment"> /// Printing the order of traversal</span></div>
|
||||
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"> 202</span><span class="comment"></span> <span class="keywordflow">for</span> (<span class="keyword">auto</span> x : traversal) {</div>
|
||||
<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"> 203</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << x << <span class="charliteral">' '</span>;</div>
|
||||
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"> 204</span> }</div>
|
||||
<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"> 205</span> </div>
|
||||
<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"> 206</span> <span class="keywordflow">return</span> 0;</div>
|
||||
<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</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="adepth__first__search__with__stack_8cpp_html_a483bb8ccf42aaf7375a83e91490eda1e"><div class="ttname"><a href="../../da/d4b/depth__first__search__with__stack_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e">tests</a></div><div class="ttdeci">static void tests()</div><div class="ttdef"><b>Definition:</b> depth_first_search_with_stack.cpp:123</div></div>
|
||||
<div class="ttc" id="adepth__first__search__with__stack_8cpp_html_a7511fcdb330b3ab599ff9e15229ae068"><div class="ttname"><a href="../../da/d4b/depth__first__search__with__stack_8cpp.html#a7511fcdb330b3ab599ff9e15229ae068">graph::depth_first_search::addEdge</a></div><div class="ttdeci">void addEdge(std::vector< std::vector< size_t >> *adj, size_t u, size_t v)</div><div class="ttdoc">Adds and edge between two vertices of graph say u and v in this case.</div><div class="ttdef"><b>Definition:</b> depth_first_search_with_stack.cpp:64</div></div>
|
||||
<div class="ttc" id="adepth__first__search__with__stack_8cpp_html_ae198aeaad22ccd56712b7380bd62f777"><div class="ttname"><a href="../../da/d4b/depth__first__search__with__stack_8cpp.html#ae198aeaad22ccd56712b7380bd62f777">graph::depth_first_search::dfs</a></div><div class="ttdeci">std::vector< size_t > dfs(const std::vector< std::vector< size_t > > &graph, size_t start)</div><div class="ttdoc">Explores the given vertex, exploring a vertex means traversing over all the vertices which are connec...</div><div class="ttdef"><b>Definition:</b> depth_first_search_with_stack.cpp:87</div></div>
|
||||
<div class="ttc" id="adepth__first__search__with__stack_8cpp_html_a5738da9f508f6a9e87f123c9fb6f2ea9"><div class="ttname"><a href="../../da/d4b/depth__first__search__with__stack_8cpp.html#a5738da9f508f6a9e87f123c9fb6f2ea9">graph::depth_first_search::dfs</a></div><div class="ttdeci">std::vector< size_t > dfs(const std::vector< std::vector< size_t > > &graph, size_t start)</div><div class="ttdoc">Explores the given vertex, exploring a vertex means traversing over all the vertices which are connec...</div><div class="ttdef"><b>Definition:</b> depth_first_search_with_stack.cpp:87</div></div>
|
||||
<div class="ttc" id="adepth__first__search__with__stack_8cpp_html_aadebe9c855821d6515ca5b171222ef7b"><div class="ttname"><a href="../../da/d4b/depth__first__search__with__stack_8cpp.html#aadebe9c855821d6515ca5b171222ef7b">graph::depth_first_search::addEdge</a></div><div class="ttdeci">void addEdge(std::vector< std::vector< size_t > > *adj, size_t u, size_t v)</div><div class="ttdoc">Adds and edge between two vertices of graph say u and v in this case.</div><div class="ttdef"><b>Definition:</b> depth_first_search_with_stack.cpp:64</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><!-- fragment --><div class="dynheader">
|
||||
Here is the call graph for this function:</div>
|
||||
@@ -393,7 +392,7 @@ Here is the call graph for this function:</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a483bb8ccf42aaf7375a83e91490eda1e"></a>
|
||||
<a id="a483bb8ccf42aaf7375a83e91490eda1e" name="a483bb8ccf42aaf7375a83e91490eda1e"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a483bb8ccf42aaf7375a83e91490eda1e">◆ </a></span>tests()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
@@ -415,58 +414,58 @@ Here is the call graph for this function:</div>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Self-test implementations </p><dl class="section return"><dt>Returns</dt><dd>none </dd></dl>
|
||||
<p>Test 1</p>
|
||||
<p>for the above sample data, this is the expected output</p>
|
||||
<p>Test 2</p>
|
||||
<p>for the above sample data, this is the expected output</p>
|
||||
<p>Test 3</p>
|
||||
<p>for the above sample data, this is the expected output</p>
|
||||
<div class="fragment"><div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  {</div>
|
||||
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  <span class="keywordtype">size_t</span> start_pos;</div>
|
||||
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="comment"></span> </div>
|
||||
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="comment"> /// Test 1</span></div>
|
||||
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="comment"></span> <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Case 1: "</span> << <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="l00128"></a><span class="lineno"> 128</span>  start_pos = 1;</div>
|
||||
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<std::vector<size_t></a> > g1(3, <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<size_t></a>());</div>
|
||||
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  </div>
|
||||
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  <a class="code" href="../../da/d4b/depth__first__search__with__stack_8cpp.html#a7511fcdb330b3ab599ff9e15229ae068">graph::depth_first_search::addEdge</a>(&g1, 1, 2);</div>
|
||||
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <a class="code" href="../../da/d4b/depth__first__search__with__stack_8cpp.html#a7511fcdb330b3ab599ff9e15229ae068">graph::depth_first_search::addEdge</a>(&g1, 2, 3);</div>
|
||||
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  <a class="code" href="../../da/d4b/depth__first__search__with__stack_8cpp.html#a7511fcdb330b3ab599ff9e15229ae068">graph::depth_first_search::addEdge</a>(&g1, 3, 1);</div>
|
||||
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  </div>
|
||||
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<size_t></a> expected1 {1, 2, 3}; <span class="comment">/// for the above sample data, this is the expected output</span></div>
|
||||
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  assert(graph::depth_first_search::dfs(g1, start_pos - 1) == expected1);</div>
|
||||
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Passed"</span> << <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="l00138"></a><span class="lineno"> 138</span> <span class="comment"></span> </div>
|
||||
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="comment"> /// Test 2</span></div>
|
||||
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="comment"></span> <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Case 2: "</span> << <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>  start_pos = 1;</div>
|
||||
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<std::vector<size_t></a> > g2(4, <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<size_t></a>());</div>
|
||||
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  </div>
|
||||
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <a class="code" href="../../da/d4b/depth__first__search__with__stack_8cpp.html#a7511fcdb330b3ab599ff9e15229ae068">graph::depth_first_search::addEdge</a>(&g2, 1, 2);</div>
|
||||
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <a class="code" href="../../da/d4b/depth__first__search__with__stack_8cpp.html#a7511fcdb330b3ab599ff9e15229ae068">graph::depth_first_search::addEdge</a>(&g2, 1, 3);</div>
|
||||
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  <a class="code" href="../../da/d4b/depth__first__search__with__stack_8cpp.html#a7511fcdb330b3ab599ff9e15229ae068">graph::depth_first_search::addEdge</a>(&g2, 2, 4);</div>
|
||||
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  <a class="code" href="../../da/d4b/depth__first__search__with__stack_8cpp.html#a7511fcdb330b3ab599ff9e15229ae068">graph::depth_first_search::addEdge</a>(&g2, 4, 1);</div>
|
||||
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  </div>
|
||||
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<size_t></a> expected2 {1, 3, 2, 4}; <span class="comment">/// for the above sample data, this is the expected output</span></div>
|
||||
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  assert(graph::depth_first_search::dfs(g2, start_pos - 1) == expected2);</div>
|
||||
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Passed"</span> << <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="l00152"></a><span class="lineno"> 152</span> <span class="comment"></span> </div>
|
||||
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="comment"> /// Test 3</span></div>
|
||||
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="comment"></span> <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Case 3: "</span> << <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="l00155"></a><span class="lineno"> 155</span>  start_pos = 2;</div>
|
||||
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<std::vector<size_t></a> > g3(4, <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<size_t></a>());</div>
|
||||
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  </div>
|
||||
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  <a class="code" href="../../da/d4b/depth__first__search__with__stack_8cpp.html#a7511fcdb330b3ab599ff9e15229ae068">graph::depth_first_search::addEdge</a>(&g3, 1, 2);</div>
|
||||
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  <a class="code" href="../../da/d4b/depth__first__search__with__stack_8cpp.html#a7511fcdb330b3ab599ff9e15229ae068">graph::depth_first_search::addEdge</a>(&g3, 1, 3);</div>
|
||||
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  <a class="code" href="../../da/d4b/depth__first__search__with__stack_8cpp.html#a7511fcdb330b3ab599ff9e15229ae068">graph::depth_first_search::addEdge</a>(&g3, 2, 4);</div>
|
||||
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  <a class="code" href="../../da/d4b/depth__first__search__with__stack_8cpp.html#a7511fcdb330b3ab599ff9e15229ae068">graph::depth_first_search::addEdge</a>(&g3, 4, 1);</div>
|
||||
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  </div>
|
||||
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<size_t></a> expected3 {2, 4, 1, 3}; <span class="comment">/// for the above sample data, this is the expected output</span></div>
|
||||
<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  assert(graph::depth_first_search::dfs(g3, start_pos - 1) == expected3);</div>
|
||||
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Passed"</span> << <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="l00166"></a><span class="lineno"> 166</span>  </div>
|
||||
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> }</div>
|
||||
<p >Self-test implementations </p><dl class="section return"><dt>Returns</dt><dd>none </dd></dl>
|
||||
<p >Test 1</p>
|
||||
<p >for the above sample data, this is the expected output</p>
|
||||
<p >Test 2</p>
|
||||
<p >for the above sample data, this is the expected output</p>
|
||||
<p >Test 3</p>
|
||||
<p >for the above sample data, this is the expected output</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> <span class="keywordtype">size_t</span> start_pos;</div>
|
||||
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span><span class="comment"></span> </div>
|
||||
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span><span class="comment"> /// Test 1</span></div>
|
||||
<div class="line"><a id="l00127" name="l00127"></a><span class="lineno"> 127</span><span class="comment"></span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Case 1: "</span> << <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="l00128" name="l00128"></a><span class="lineno"> 128</span> start_pos = 1;</div>
|
||||
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<std::vector<size_t></a> > g1(3, <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<size_t></a>());</div>
|
||||
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> </div>
|
||||
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> <a class="code hl_function" href="../../da/d4b/depth__first__search__with__stack_8cpp.html#aadebe9c855821d6515ca5b171222ef7b">graph::depth_first_search::addEdge</a>(&g1, 1, 2);</div>
|
||||
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> <a class="code hl_function" href="../../da/d4b/depth__first__search__with__stack_8cpp.html#aadebe9c855821d6515ca5b171222ef7b">graph::depth_first_search::addEdge</a>(&g1, 2, 3);</div>
|
||||
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> <a class="code hl_function" href="../../da/d4b/depth__first__search__with__stack_8cpp.html#aadebe9c855821d6515ca5b171222ef7b">graph::depth_first_search::addEdge</a>(&g1, 3, 1);</div>
|
||||
<div class="line"><a id="l00134" name="l00134"></a><span class="lineno"> 134</span> </div>
|
||||
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<size_t></a> expected1 {1, 2, 3}; <span class="comment">/// for the above sample data, this is the expected output</span></div>
|
||||
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> assert(graph::depth_first_search::dfs(g1, start_pos - 1) == expected1);</div>
|
||||
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Passed"</span> << <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="l00138" name="l00138"></a><span class="lineno"> 138</span><span class="comment"></span> </div>
|
||||
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span><span class="comment"> /// Test 2</span></div>
|
||||
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span><span class="comment"></span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Case 2: "</span> << <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> start_pos = 1;</div>
|
||||
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<std::vector<size_t></a> > g2(4, <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<size_t></a>());</div>
|
||||
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> </div>
|
||||
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> <a class="code hl_function" href="../../da/d4b/depth__first__search__with__stack_8cpp.html#aadebe9c855821d6515ca5b171222ef7b">graph::depth_first_search::addEdge</a>(&g2, 1, 2);</div>
|
||||
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> <a class="code hl_function" href="../../da/d4b/depth__first__search__with__stack_8cpp.html#aadebe9c855821d6515ca5b171222ef7b">graph::depth_first_search::addEdge</a>(&g2, 1, 3);</div>
|
||||
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span> <a class="code hl_function" href="../../da/d4b/depth__first__search__with__stack_8cpp.html#aadebe9c855821d6515ca5b171222ef7b">graph::depth_first_search::addEdge</a>(&g2, 2, 4);</div>
|
||||
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> <a class="code hl_function" href="../../da/d4b/depth__first__search__with__stack_8cpp.html#aadebe9c855821d6515ca5b171222ef7b">graph::depth_first_search::addEdge</a>(&g2, 4, 1);</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/container/vector.html">std::vector<size_t></a> expected2 {1, 3, 2, 4}; <span class="comment">/// for the above sample data, this is the expected output</span></div>
|
||||
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> assert(graph::depth_first_search::dfs(g2, start_pos - 1) == expected2);</div>
|
||||
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Passed"</span> << <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="l00152" name="l00152"></a><span class="lineno"> 152</span><span class="comment"></span> </div>
|
||||
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span><span class="comment"> /// Test 3</span></div>
|
||||
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span><span class="comment"></span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Case 3: "</span> << <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="l00155" name="l00155"></a><span class="lineno"> 155</span> start_pos = 2;</div>
|
||||
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<std::vector<size_t></a> > g3(4, <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<size_t></a>());</div>
|
||||
<div class="line"><a id="l00157" name="l00157"></a><span class="lineno"> 157</span> </div>
|
||||
<div class="line"><a id="l00158" name="l00158"></a><span class="lineno"> 158</span> <a class="code hl_function" href="../../da/d4b/depth__first__search__with__stack_8cpp.html#aadebe9c855821d6515ca5b171222ef7b">graph::depth_first_search::addEdge</a>(&g3, 1, 2);</div>
|
||||
<div class="line"><a id="l00159" name="l00159"></a><span class="lineno"> 159</span> <a class="code hl_function" href="../../da/d4b/depth__first__search__with__stack_8cpp.html#aadebe9c855821d6515ca5b171222ef7b">graph::depth_first_search::addEdge</a>(&g3, 1, 3);</div>
|
||||
<div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> <a class="code hl_function" href="../../da/d4b/depth__first__search__with__stack_8cpp.html#aadebe9c855821d6515ca5b171222ef7b">graph::depth_first_search::addEdge</a>(&g3, 2, 4);</div>
|
||||
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> <a class="code hl_function" href="../../da/d4b/depth__first__search__with__stack_8cpp.html#aadebe9c855821d6515ca5b171222ef7b">graph::depth_first_search::addEdge</a>(&g3, 4, 1);</div>
|
||||
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> </div>
|
||||
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<size_t></a> expected3 {2, 4, 1, 3}; <span class="comment">/// for the above sample data, this is the expected output</span></div>
|
||||
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</span> assert(graph::depth_first_search::dfs(g3, start_pos - 1) == expected3);</div>
|
||||
<div class="line"><a id="l00165" name="l00165"></a><span class="lineno"> 165</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Passed"</span> << <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="l00166" name="l00166"></a><span class="lineno"> 166</span> </div>
|
||||
<div class="line"><a id="l00167" name="l00167"></a><span class="lineno"> 167</span>}</div>
|
||||
</div><!-- fragment --><div class="dynheader">
|
||||
Here is the call graph for this function:</div>
|
||||
<div class="dyncontent">
|
||||
@@ -477,7 +476,7 @@ Here is the call graph for this function:</div>
|
||||
</div>
|
||||
</div>
|
||||
<h2 class="groupheader">Variable Documentation</h2>
|
||||
<a id="afb80b42b42381658a12a57a975ecd0c7"></a>
|
||||
<a id="afb80b42b42381658a12a57a975ecd0c7" name="afb80b42b42381658a12a57a975ecd0c7"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#afb80b42b42381658a12a57a975ecd0c7">◆ </a></span>WHITE</h2>
|
||||
|
||||
<div class="memitem">
|
||||
@@ -496,7 +495,7 @@ Here is the call graph for this function:</div>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>for IO operations header for <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/stack.html">std::stack</a> header for <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a> header for preprocessor macro assert() header for limits of integral types </p>
|
||||
<p >for IO operations header for <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/stack.html">std::stack</a> header for <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a> header for preprocessor macro assert() header for limits of integral types </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -506,7 +505,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_12552d7fa429bf94a2e32e5cf39f7e69.html">graph</a></li><li class="navelem"><a class="el" href="../../da/d4b/depth__first__search__with__stack_8cpp.html">depth_first_search_with_stack.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>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
var depth__first__search__with__stack_8cpp =
|
||||
[
|
||||
[ "addEdge", "da/d4b/depth__first__search__with__stack_8cpp.html#a7511fcdb330b3ab599ff9e15229ae068", null ],
|
||||
[ "dfs", "da/d4b/depth__first__search__with__stack_8cpp.html#ae198aeaad22ccd56712b7380bd62f777", null ],
|
||||
[ "addEdge", "da/d4b/depth__first__search__with__stack_8cpp.html#aadebe9c855821d6515ca5b171222ef7b", null ],
|
||||
[ "dfs", "da/d4b/depth__first__search__with__stack_8cpp.html#a5738da9f508f6a9e87f123c9fb6f2ea9", null ],
|
||||
[ "main", "da/d4b/depth__first__search__with__stack_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4", null ],
|
||||
[ "tests", "da/d4b/depth__first__search__with__stack_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e", null ],
|
||||
[ "BLACK", "da/d4b/depth__first__search__with__stack_8cpp.html#a7f1cd94cf4da32933e8551cb3577e18b", null ],
|
||||
|
||||
@@ -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: tests Pages: 1 -->
|
||||
<svg width="136pt" height="28pt"
|
||||
|
||||
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
@@ -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: graph::depth_first_search::dfs Pages: 1 -->
|
||||
<svg width="397pt" height="161pt"
|
||||
|
Before Width: | Height: | Size: 5.9 KiB After Width: | Height: | Size: 5.9 KiB |
@@ -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="210pt" height="47pt"
|
||||
|
||||
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |
@@ -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++: bit_manipulation/count_of_trailing_ciphers_in_factorial_n.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++
|
||||
 <span id="projectnumber">1.0.0</span>
|
||||
<div id="projectname">Algorithms_in_C++<span id="projectnumber"> 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&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "../../search",false,'Search','.html');
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&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&dn=gpl-2.0.txt GPL-v2 */
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&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&dn=gpl-2.0.txt GPL-v2 */
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||
$(document).ready(function(){initNavTree('da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp.html','../../'); initResizable(); });
|
||||
/* @license-end */
|
||||
</script>
|
||||
@@ -93,12 +93,11 @@ $(document).ready(function(){initNavTree('da/d50/count__of__trailing__ciphers__i
|
||||
<div class="summary">
|
||||
<a href="#namespaces">Namespaces</a> |
|
||||
<a href="#func-members">Functions</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">count_of_trailing_ciphers_in_factorial_n.cpp File Reference</div> </div>
|
||||
<div class="headertitle"><div class="title">count_of_trailing_ciphers_in_factorial_n.cpp File Reference</div></div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p><a href="https://www.tutorialspoint.com/count-trailing-zeros-in-factorial-of-a-number-in-cplusplus">Count the number of ciphers</a> in <code>n!</code> implementation
|
||||
<p><a href="https://www.tutorialspoint.com/count-trailing-zeros-in-factorial-of-a-number-in-cplusplus" target="_blank">Count the number of ciphers</a> in <code>n!</code> implementation
|
||||
<a href="#details">More...</a></p>
|
||||
<div class="textblock"><code>#include <cassert></code><br />
|
||||
<code>#include <iostream></code><br />
|
||||
@@ -109,16 +108,16 @@ Include dependency graph for count_of_trailing_ciphers_in_factorial_n.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:d7/d81/namespacebit__manipulation"><td class="memItemLeft" align="right" valign="top">  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d81/namespacebit__manipulation.html">bit_manipulation</a></td></tr>
|
||||
<tr class="memitem:d7/d81/namespacebit__manipulation"><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d81/namespacebit__manipulation.html">bit_manipulation</a></td></tr>
|
||||
<tr class="memdesc:d7/d81/namespacebit__manipulation"><td class="mdescLeft"> </td><td class="mdescRight">for <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a> <br /></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:dc/d2f/namespacecount__of__trailing__ciphers__in__factorial__n"><td class="memItemLeft" align="right" valign="top">  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d2f/namespacecount__of__trailing__ciphers__in__factorial__n.html">count_of_trailing_ciphers_in_factorial_n</a></td></tr>
|
||||
<tr class="memdesc:dc/d2f/namespacecount__of__trailing__ciphers__in__factorial__n"><td class="mdescLeft"> </td><td class="mdescRight">Functions for the <a href="https://www.tutorialspoint.com/count-trailing-zeros-in-factorial-of-a-number-in-cplusplus">Count the number of ciphers</a> in <code>n!</code> implementation. <br /></td></tr>
|
||||
<tr class="memitem:dc/d2f/namespacecount__of__trailing__ciphers__in__factorial__n"><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d2f/namespacecount__of__trailing__ciphers__in__factorial__n.html">count_of_trailing_ciphers_in_factorial_n</a></td></tr>
|
||||
<tr class="memdesc:dc/d2f/namespacecount__of__trailing__ciphers__in__factorial__n"><td class="mdescLeft"> </td><td class="mdescRight">Functions for the <a href="https://www.tutorialspoint.com/count-trailing-zeros-in-factorial-of-a-number-in-cplusplus" target="_blank">Count the number of ciphers</a> in <code>n!</code> implementation. <br /></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </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:a0d5e1d651d0d30bd682f176d8f2b83d0"><td class="memItemLeft" align="right" valign="top">uint64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp.html#a0d5e1d651d0d30bd682f176d8f2b83d0">bit_manipulation::count_of_trailing_ciphers_in_factorial_n::numberOfCiphersInFactorialN</a> (uint64_t n)</td></tr>
|
||||
<tr class="memdesc:a0d5e1d651d0d30bd682f176d8f2b83d0"><td class="mdescLeft"> </td><td class="mdescRight">Function to count the number of the trailing ciphers. <a href="../../da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp.html#a0d5e1d651d0d30bd682f176d8f2b83d0">More...</a><br /></td></tr>
|
||||
@@ -131,11 +130,11 @@ Functions</h2></td></tr>
|
||||
<tr class="separator:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p><a href="https://www.tutorialspoint.com/count-trailing-zeros-in-factorial-of-a-number-in-cplusplus">Count the number of ciphers</a> in <code>n!</code> implementation </p>
|
||||
<p>Given an integer number as input. The goal is to find the number of trailing zeroes in the factorial calculated for that number. A factorial of a number N is a product of all numbers in the range [1, N].</p>
|
||||
<p>We know that we get a trailing zero only if the number is multiple of 10 or has a factor pair (2,5). In all factorials of any number greater than 5, we have many 2s more than 5s in the prime factorization of that number. Dividing a number by powers of 5 will give us the count of 5s in its factors. So, the number of 5s will tell us the number of trailing zeroes. </p><dl class="section author"><dt>Author</dt><dd><a href="https://github.com/Swastyy">Swastika Gupta</a> </dd></dl>
|
||||
<div class="textblock"><p ><a href="https://www.tutorialspoint.com/count-trailing-zeros-in-factorial-of-a-number-in-cplusplus" target="_blank">Count the number of ciphers</a> in <code>n!</code> implementation </p>
|
||||
<p >Given an integer number as input. The goal is to find the number of trailing zeroes in the factorial calculated for that number. A factorial of a number N is a product of all numbers in the range [1, N].</p>
|
||||
<p >We know that we get a trailing zero only if the number is multiple of 10 or has a factor pair (2,5). In all factorials of any number greater than 5, we have many 2s more than 5s in the prime factorization of that number. Dividing a number by powers of 5 will give us the count of 5s in its factors. So, the number of 5s will tell us the number of trailing zeroes. </p><dl class="section author"><dt>Author</dt><dd><a href="https://github.com/Swastyy" target="_blank">Swastika Gupta</a> </dd></dl>
|
||||
</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">◆ </a></span>main()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
@@ -153,10 +152,10 @@ Functions</h2></td></tr>
|
||||
|
||||
<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="l00095"></a><span class="lineno"> 95</span>  {</div>
|
||||
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <a class="code" href="../../da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">test</a>(); <span class="comment">// run self-test implementations</span></div>
|
||||
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <span class="keywordflow">return</span> 0;</div>
|
||||
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span> }</div>
|
||||
<div class="fragment"><div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> {</div>
|
||||
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> <a class="code hl_function" href="../../da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">test</a>(); <span class="comment">// run self-test implementations</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="acount__of__trailing__ciphers__in__factorial__n_8cpp_html_aa8dca7b867074164d5f45b0f3851269d"><div class="ttname"><a href="../../da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">test</a></div><div class="ttdeci">static void test()</div><div class="ttdoc">Self-test implementations.</div><div class="ttdef"><b>Definition:</b> count_of_trailing_ciphers_in_factorial_n.cpp:59</div></div>
|
||||
</div><!-- fragment --><div class="dynheader">
|
||||
Here is the call graph for this function:</div>
|
||||
@@ -167,7 +166,7 @@ Here is the call graph for this function:</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a0d5e1d651d0d30bd682f176d8f2b83d0"></a>
|
||||
<a id="a0d5e1d651d0d30bd682f176d8f2b83d0" name="a0d5e1d651d0d30bd682f176d8f2b83d0"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a0d5e1d651d0d30bd682f176d8f2b83d0">◆ </a></span>numberOfCiphersInFactorialN()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
@@ -191,18 +190,18 @@ Here is the call graph for this function:</div>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>count, Number of ciphers in <code>n!</code>. </dd></dl>
|
||||
<div class="fragment"><div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  {</div>
|
||||
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  <span class="comment">// count is to store the number of 5's in factorial(n)</span></div>
|
||||
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  uint64_t count = 0;</div>
|
||||
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  </div>
|
||||
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <span class="comment">// Keep dividing n by powers of</span></div>
|
||||
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <span class="comment">// 5 and update count</span></div>
|
||||
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <span class="keywordflow">for</span> (uint64_t i = 5; n / i >= 1; i *= 5) {</div>
|
||||
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  count += <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(n) / i;</div>
|
||||
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  }</div>
|
||||
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  </div>
|
||||
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <span class="keywordflow">return</span> count;</div>
|
||||
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span> }</div>
|
||||
<div class="fragment"><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="comment">// count is to store the number of 5's in factorial(n)</span></div>
|
||||
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> uint64_t count = 0;</div>
|
||||
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> </div>
|
||||
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> <span class="comment">// Keep dividing n by powers of</span></div>
|
||||
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> <span class="comment">// 5 and update count</span></div>
|
||||
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> <span class="keywordflow">for</span> (uint64_t i = 5; n / i >= 1; i *= 5) {</div>
|
||||
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> count += <span class="keyword">static_cast<</span>uint64_t<span class="keyword">></span>(n) / i;</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> </div>
|
||||
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> <span class="keywordflow">return</span> count;</div>
|
||||
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span>}</div>
|
||||
</div><!-- fragment --><div class="dynheader">
|
||||
Here is the call graph for this function:</div>
|
||||
<div class="dyncontent">
|
||||
@@ -212,7 +211,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">◆ </a></span>test()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
@@ -237,37 +236,37 @@ Here is the call graph for this function:</div>
|
||||
|
||||
<p>Self-test implementations. </p>
|
||||
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>
|
||||
<div class="fragment"><div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  {</div>
|
||||
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <span class="comment">// 1st test</span></div>
|
||||
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"1st test "</span>;</div>
|
||||
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  assert(bit_manipulation::count_of_trailing_ciphers_in_factorial_n::</div>
|
||||
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <a class="code" href="../../da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp.html#a0d5e1d651d0d30bd682f176d8f2b83d0">numberOfCiphersInFactorialN</a>(395) == 97);</div>
|
||||
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"passed"</span> << <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="l00065"></a><span class="lineno"> 65</span>  </div>
|
||||
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <span class="comment">// 2nd test</span></div>
|
||||
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"2nd test "</span>;</div>
|
||||
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  assert(bit_manipulation::count_of_trailing_ciphers_in_factorial_n::</div>
|
||||
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <a class="code" href="../../da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp.html#a0d5e1d651d0d30bd682f176d8f2b83d0">numberOfCiphersInFactorialN</a>(977) == 242);</div>
|
||||
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"passed"</span> << <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="l00071"></a><span class="lineno"> 71</span>  </div>
|
||||
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  <span class="comment">// 3rd test</span></div>
|
||||
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"3rd test "</span>;</div>
|
||||
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  assert(bit_manipulation::count_of_trailing_ciphers_in_factorial_n::</div>
|
||||
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <a class="code" href="../../da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp.html#a0d5e1d651d0d30bd682f176d8f2b83d0">numberOfCiphersInFactorialN</a>(871) == 215);</div>
|
||||
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"passed"</span> << <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
|
||||
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  </div>
|
||||
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <span class="comment">// 4th test</span></div>
|
||||
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"4th test "</span>;</div>
|
||||
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  assert(bit_manipulation::count_of_trailing_ciphers_in_factorial_n::</div>
|
||||
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <a class="code" href="../../da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp.html#a0d5e1d651d0d30bd682f176d8f2b83d0">numberOfCiphersInFactorialN</a>(239) == 57);</div>
|
||||
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"passed"</span> << <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="l00083"></a><span class="lineno"> 83</span>  </div>
|
||||
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  <span class="comment">// 5th test</span></div>
|
||||
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"5th test "</span>;</div>
|
||||
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  assert(bit_manipulation::count_of_trailing_ciphers_in_factorial_n::</div>
|
||||
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <a class="code" href="../../da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp.html#a0d5e1d651d0d30bd682f176d8f2b83d0">numberOfCiphersInFactorialN</a>(0) == 0);</div>
|
||||
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"passed"</span> << <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="l00089"></a><span class="lineno"> 89</span> }</div>
|
||||
<div class="fragment"><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> <span class="comment">// 1st test</span></div>
|
||||
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"1st test "</span>;</div>
|
||||
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> assert(bit_manipulation::count_of_trailing_ciphers_in_factorial_n::</div>
|
||||
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> <a class="code hl_function" href="../../da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp.html#a0d5e1d651d0d30bd682f176d8f2b83d0">numberOfCiphersInFactorialN</a>(395) == 97);</div>
|
||||
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"passed"</span> << <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="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="comment">// 2nd test</span></div>
|
||||
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"2nd test "</span>;</div>
|
||||
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> assert(bit_manipulation::count_of_trailing_ciphers_in_factorial_n::</div>
|
||||
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> <a class="code hl_function" href="../../da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp.html#a0d5e1d651d0d30bd682f176d8f2b83d0">numberOfCiphersInFactorialN</a>(977) == 242);</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/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"passed"</span> << <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="l00071" name="l00071"></a><span class="lineno"> 71</span> </div>
|
||||
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> <span class="comment">// 3rd test</span></div>
|
||||
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"3rd test "</span>;</div>
|
||||
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> assert(bit_manipulation::count_of_trailing_ciphers_in_factorial_n::</div>
|
||||
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> <a class="code hl_function" href="../../da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp.html#a0d5e1d651d0d30bd682f176d8f2b83d0">numberOfCiphersInFactorialN</a>(871) == 215);</div>
|
||||
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"passed"</span> << <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="l00077" name="l00077"></a><span class="lineno"> 77</span> </div>
|
||||
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> <span class="comment">// 4th test</span></div>
|
||||
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"4th test "</span>;</div>
|
||||
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> assert(bit_manipulation::count_of_trailing_ciphers_in_factorial_n::</div>
|
||||
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> <a class="code hl_function" href="../../da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp.html#a0d5e1d651d0d30bd682f176d8f2b83d0">numberOfCiphersInFactorialN</a>(239) == 57);</div>
|
||||
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"passed"</span> << <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="l00083" name="l00083"></a><span class="lineno"> 83</span> </div>
|
||||
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> <span class="comment">// 5th test</span></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> << <span class="stringliteral">"5th test "</span>;</div>
|
||||
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> assert(bit_manipulation::count_of_trailing_ciphers_in_factorial_n::</div>
|
||||
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> <a class="code hl_function" href="../../da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp.html#a0d5e1d651d0d30bd682f176d8f2b83d0">numberOfCiphersInFactorialN</a>(0) == 0);</div>
|
||||
<div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"passed"</span> << <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="l00089" name="l00089"></a><span class="lineno"> 89</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="acount__of__trailing__ciphers__in__factorial__n_8cpp_html_a0d5e1d651d0d30bd682f176d8f2b83d0"><div class="ttname"><a href="../../da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp.html#a0d5e1d651d0d30bd682f176d8f2b83d0">bit_manipulation::count_of_trailing_ciphers_in_factorial_n::numberOfCiphersInFactorialN</a></div><div class="ttdeci">uint64_t numberOfCiphersInFactorialN(uint64_t n)</div><div class="ttdoc">Function to count the number of the trailing ciphers.</div><div class="ttdef"><b>Definition:</b> count_of_trailing_ciphers_in_factorial_n.cpp:40</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>
|
||||
@@ -286,7 +285,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_f3c4fbc4e901afa0a54d0623c5574aa7.html">bit_manipulation</a></li><li class="navelem"><a class="el" href="../../da/d50/count__of__trailing__ciphers__in__factorial__n_8cpp.html">count_of_trailing_ciphers_in_factorial_n.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>
|
||||
|
||||
@@ -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: bit_manipulation::count_of_trailing_ciphers_in_factorial_n::numberOfCiphersInFactorialN Pages: 1 -->
|
||||
<svg width="169pt" height="79pt"
|
||||
|
||||
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
@@ -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="131pt" height="28pt"
|
||||
|
||||
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
@@ -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="205pt" height="28pt"
|
||||
|
||||
|
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.3 KiB |
@@ -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: graph/is_graph_bipartite.cpp Pages: 1 -->
|
||||
<svg width="188pt" height="84pt"
|
||||
|
||||
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.9 KiB |
@@ -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++: dynamic_programming/minimum_edit_distance.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++
|
||||
 <span id="projectnumber">1.0.0</span>
|
||||
<div id="projectname">Algorithms_in_C++<span id="projectnumber"> 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&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "../../search",false,'Search','.html');
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&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&dn=gpl-2.0.txt GPL-v2 */
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&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&dn=gpl-2.0.txt GPL-v2 */
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||
$(document).ready(function(){initNavTree('da/d52/minimum__edit__distance_8cpp.html','../../'); initResizable(); });
|
||||
/* @license-end */
|
||||
</script>
|
||||
@@ -93,12 +93,11 @@ $(document).ready(function(){initNavTree('da/d52/minimum__edit__distance_8cpp.ht
|
||||
<div class="summary">
|
||||
<a href="#namespaces">Namespaces</a> |
|
||||
<a href="#func-members">Functions</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">minimum_edit_distance.cpp File Reference</div> </div>
|
||||
<div class="headertitle"><div class="title">minimum_edit_distance.cpp File Reference</div></div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>Implementation of <a href="https://en.wikipedia.org/wiki/Edit_distance">Minimum Edit Distance</a> using Dynamic Programing.
|
||||
<p>Implementation of <a href="https://en.wikipedia.org/wiki/Edit_distance" target="_blank">Minimum Edit Distance</a> using Dynamic Programing.
|
||||
<a href="#details">More...</a></p>
|
||||
<div class="textblock"><code>#include <cassert></code><br />
|
||||
<code>#include <iostream></code><br />
|
||||
@@ -110,16 +109,16 @@ Include dependency graph for minimum_edit_distance.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:dd/d24/namespacedynamic__programming"><td class="memItemLeft" align="right" valign="top">  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d24/namespacedynamic__programming.html">dynamic_programming</a></td></tr>
|
||||
<tr class="memitem:dd/d24/namespacedynamic__programming"><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/d24/namespacedynamic__programming.html">dynamic_programming</a></td></tr>
|
||||
<tr class="memdesc:dd/d24/namespacedynamic__programming"><td class="mdescLeft"> </td><td class="mdescRight">Dynamic Programming algorithms. <br /></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:d4/d12/namespace_minimum"><td class="memItemLeft" align="right" valign="top">  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d12/namespace_minimum.html">Minimum</a></td></tr>
|
||||
<tr class="memdesc:d4/d12/namespace_minimum"><td class="mdescLeft"> </td><td class="mdescRight">Implementation of <a href="https://en.wikipedia.org/wiki/Edit_distance">Minimum Edit Distance</a> algorithm. <br /></td></tr>
|
||||
<tr class="memitem:d4/d12/namespace_minimum"><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d4/d12/namespace_minimum.html">Minimum</a></td></tr>
|
||||
<tr class="memdesc:d4/d12/namespace_minimum"><td class="mdescLeft"> </td><td class="mdescRight">Implementation of <a href="https://en.wikipedia.org/wiki/Edit_distance" target="_blank">Minimum Edit Distance</a> algorithm. <br /></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </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:a0138c226bd79ffe6d839c787cfc60347"><td class="memItemLeft" align="right" valign="top">uint64_t </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d52/minimum__edit__distance_8cpp.html#a0138c226bd79ffe6d839c787cfc60347">dynamic_programming::minimum_edit_distance::min</a> (uint64_t x, uint64_t y, uint64_t z)</td></tr>
|
||||
<tr class="memdesc:a0138c226bd79ffe6d839c787cfc60347"><td class="mdescLeft"> </td><td class="mdescRight">Takes input of the cost of three operations: Insert, Replace and Delete and return the minimum cost among them. <a href="../../da/d52/minimum__edit__distance_8cpp.html#a0138c226bd79ffe6d839c787cfc60347">More...</a><br /></td></tr>
|
||||
@@ -135,17 +134,17 @@ Functions</h2></td></tr>
|
||||
<tr class="separator:a0ddf1224851353fc92bfbff6f499fa97"><td class="memSeparator" colspan="2"> </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/Edit_distance">Minimum Edit Distance</a> using Dynamic Programing. </p>
|
||||
<p>Given two strings str1 & str2 and we have to calculate the minimum number of operations (Insert, Remove, Replace) required to convert str1 to str2.</p>
|
||||
<div class="textblock"><p >Implementation of <a href="https://en.wikipedia.org/wiki/Edit_distance" target="_blank">Minimum Edit Distance</a> using Dynamic Programing. </p>
|
||||
<p >Given two strings str1 & str2 and we have to calculate the minimum number of operations (Insert, Remove, Replace) required to convert str1 to str2.</p>
|
||||
<h3><a class="anchor" id="autotoc_md64"></a>
|
||||
Algorithm</h3>
|
||||
<p>We will solve this problem using Naive recursion. But as we are approaching with a DP solution. So, we will take a DP array to store the solution of all sub-problems so that we don't have to perform recursion again and again. Now to solve the problem, We can traverse all characters from either right side of the strings or left side. Suppose we will do it from the right side. So, there are two possibilities for every pair of characters being traversed.</p><ol type="1">
|
||||
<p >We will solve this problem using Naive recursion. But as we are approaching with a DP solution. So, we will take a DP array to store the solution of all sub-problems so that we don't have to perform recursion again and again. Now to solve the problem, We can traverse all characters from either right side of the strings or left side. Suppose we will do it from the right side. So, there are two possibilities for every pair of characters being traversed.</p><ol type="1">
|
||||
<li>If the last characters of two strings are the same, Ignore the characters and get the count for the remaining string. So, we get the solution for lengths m-1 and n-1 in a DP array.</li>
|
||||
<li>Else, (If last characters are not the same), we will consider all three operations (Insert, Remove, Replace) on the last character of the first string and compute the minimum cost for all three operations and take the minimum of three values in the DP array. For Insert: Recur for m and n-1 For Remove: Recur for for m-1 and n For Replace: Recur for for m-1 and n-1</li>
|
||||
</ol>
|
||||
<dl class="section author"><dt>Author</dt><dd><a href="../../github.com/nirzak">Nirjas Jakilim</a> </dd></dl>
|
||||
<dl class="section author"><dt>Author</dt><dd><a href="../../github.com/nirzak" target="_blank">Nirjas Jakilim</a> </dd></dl>
|
||||
</div><h2 class="groupheader">Function Documentation</h2>
|
||||
<a id="ade2fcfe0359f3c7691bfaa04b14943e2"></a>
|
||||
<a id="ade2fcfe0359f3c7691bfaa04b14943e2" name="ade2fcfe0359f3c7691bfaa04b14943e2"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ade2fcfe0359f3c7691bfaa04b14943e2">◆ </a></span>editDistDP()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
@@ -195,59 +194,59 @@ Algorithm</h3>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>dp[m][n] the minimum cost of operations needed to convert str1 to str2 </dd></dl>
|
||||
<p>Create a table to store results of subproblems</p>
|
||||
<p>creasting 2D vector dp to store the results of subproblems</p>
|
||||
<p>Fill d[][] in bottom up manner</p>
|
||||
<p>If first string is empty, only option is to insert all characters of second string</p>
|
||||
<p><a class="el" href="../../d4/d12/namespace_minimum.html" title="Implementation of Minimum Edit Distance algorithm.">Minimum</a> operations = j</p>
|
||||
<p>If second string is empty, only option is to remove all characters of second string</p>
|
||||
<p><a class="el" href="../../d4/d12/namespace_minimum.html" title="Implementation of Minimum Edit Distance algorithm.">Minimum</a> operations = i</p>
|
||||
<p>If last characters are same, ignore last char and recur for remaining string</p>
|
||||
<p>If the last character is different, consider all possibilities and find the minimum</p>
|
||||
<p>returning the minimum cost of operations needed to convert str1 to str2</p>
|
||||
<div class="fragment"><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  {<span class="comment"></span></div>
|
||||
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="comment"> /// Create a table to store results of subproblems</span></div>
|
||||
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment"></span> <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<std::vector<uint64_t></a>>dp(m+1, <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<uint64_t></a>(n+1)); <span class="comment">/// creasting 2D vector dp to store the results of subproblems</span></div>
|
||||
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment"></span> </div>
|
||||
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment"> /// Fill d[][] in bottom up manner</span></div>
|
||||
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span> <span class="comment"></span> <span class="keywordflow">for</span> (uint64_t i = 0; i <= m; i++) {</div>
|
||||
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <span class="keywordflow">for</span> (uint64_t j = 0; j <= n; j++) {<span class="comment"></span></div>
|
||||
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span> <span class="comment"> /// If first string is empty, only option is to</span></div>
|
||||
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="comment"> /// insert all characters of second string</span></div>
|
||||
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="comment"></span> <span class="keywordflow">if</span> (i == 0) {</div>
|
||||
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  dp[i][j] = j; <span class="comment">/// Minimum operations = j</span></div>
|
||||
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  }</div>
|
||||
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="comment"></span> </div>
|
||||
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="comment"> /// If second string is empty, only option is to</span></div>
|
||||
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span> <span class="comment"> /// remove all characters of second string</span></div>
|
||||
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="comment"></span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (j == 0) {</div>
|
||||
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  dp[i][j] = i; <span class="comment">/// Minimum operations = i</span></div>
|
||||
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  }</div>
|
||||
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="comment"></span> </div>
|
||||
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="comment"> /// If last characters are same, ignore last char</span></div>
|
||||
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="comment"> /// and recur for remaining string</span></div>
|
||||
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="comment"></span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (str1[i - 1] == str2[j - 1]) {</div>
|
||||
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  dp[i][j] = dp[i - 1][j - 1];</div>
|
||||
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  }</div>
|
||||
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="comment"></span> </div>
|
||||
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="comment"> /// If the last character is different, consider all</span></div>
|
||||
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="comment"> /// possibilities and find the minimum</span></div>
|
||||
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="comment"></span> <span class="keywordflow">else</span> {</div>
|
||||
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  dp[i][j] = 1 + <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/min.html">min</a>(dp[i][j - 1], <span class="comment">// Insert</span></div>
|
||||
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  dp[i - 1][j], <span class="comment">// Remove</span></div>
|
||||
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  dp[i - 1][j - 1]); <span class="comment">// Replace</span></div>
|
||||
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  }</div>
|
||||
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  }</div>
|
||||
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  }</div>
|
||||
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  </div>
|
||||
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <span class="keywordflow">return</span> dp[m][n]; <span class="comment">/// returning the minimum cost of operations needed to convert str1 to str2</span></div>
|
||||
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> }</div>
|
||||
<p >Create a table to store results of subproblems</p>
|
||||
<p >creasting 2D vector dp to store the results of subproblems</p>
|
||||
<p >Fill d[][] in bottom up manner</p>
|
||||
<p >If first string is empty, only option is to insert all characters of second string</p>
|
||||
<p ><a class="el" href="../../d4/d12/namespace_minimum.html" title="Implementation of Minimum Edit Distance algorithm.">Minimum</a> operations = j</p>
|
||||
<p >If second string is empty, only option is to remove all characters of second string</p>
|
||||
<p ><a class="el" href="../../d4/d12/namespace_minimum.html" title="Implementation of Minimum Edit Distance algorithm.">Minimum</a> operations = i</p>
|
||||
<p >If last characters are same, ignore last char and recur for remaining string</p>
|
||||
<p >If the last character is different, consider all possibilities and find the minimum</p>
|
||||
<p >returning the minimum cost of operations needed to convert str1 to str2</p>
|
||||
<div class="fragment"><div class="line"><a id="l00088" name="l00088"></a><span class="lineno"> 88</span> {<span class="comment"></span></div>
|
||||
<div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span><span class="comment"> /// Create a table to store results of subproblems</span></div>
|
||||
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span><span class="comment"></span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<std::vector<uint64_t></a>>dp(m+1, <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<uint64_t></a>(n+1)); <span class="comment">/// creasting 2D vector dp to store the results of subproblems</span></div>
|
||||
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span><span class="comment"></span> </div>
|
||||
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span><span class="comment"> /// Fill d[][] in bottom up manner</span></div>
|
||||
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span><span class="comment"></span> <span class="keywordflow">for</span> (uint64_t i = 0; i <= m; i++) {</div>
|
||||
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> <span class="keywordflow">for</span> (uint64_t j = 0; j <= n; j++) {<span class="comment"></span></div>
|
||||
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span><span class="comment"> /// If first string is empty, only option is to</span></div>
|
||||
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span><span class="comment"> /// insert all characters of second string</span></div>
|
||||
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span><span class="comment"></span> <span class="keywordflow">if</span> (i == 0) {</div>
|
||||
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> dp[i][j] = j; <span class="comment">/// Minimum operations = j</span></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"></span> </div>
|
||||
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span><span class="comment"> /// If second string is empty, only option is to</span></div>
|
||||
<div class="line"><a id="l00102" name="l00102"></a><span class="lineno"> 102</span><span class="comment"> /// remove all characters of second string</span></div>
|
||||
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span><span class="comment"></span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (j == 0) {</div>
|
||||
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> dp[i][j] = i; <span class="comment">/// Minimum operations = i</span></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><span class="comment"></span> </div>
|
||||
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span><span class="comment"> /// If last characters are same, ignore last char</span></div>
|
||||
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span><span class="comment"> /// and recur for remaining string</span></div>
|
||||
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span><span class="comment"></span> <span class="keywordflow">else</span> <span class="keywordflow">if</span> (str1[i - 1] == str2[j - 1]) {</div>
|
||||
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> dp[i][j] = dp[i - 1][j - 1];</div>
|
||||
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span> }</div>
|
||||
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span><span class="comment"></span> </div>
|
||||
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span><span class="comment"> /// If the last character is different, consider all</span></div>
|
||||
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span><span class="comment"> /// possibilities and find the minimum</span></div>
|
||||
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span><span class="comment"></span> <span class="keywordflow">else</span> {</div>
|
||||
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> dp[i][j] = 1 + <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/min.html">min</a>(dp[i][j - 1], <span class="comment">// Insert</span></div>
|
||||
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> dp[i - 1][j], <span class="comment">// Remove</span></div>
|
||||
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> dp[i - 1][j - 1]); <span class="comment">// Replace</span></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> }</div>
|
||||
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> }</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> <span class="keywordflow">return</span> dp[m][n]; <span class="comment">/// returning the minimum cost of operations needed to convert str1 to str2</span></div>
|
||||
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span>}</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="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="a0ddf1224851353fc92bfbff6f499fa97"></a>
|
||||
<a id="a0ddf1224851353fc92bfbff6f499fa97" name="a0ddf1224851353fc92bfbff6f499fa97"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a0ddf1224851353fc92bfbff6f499fa97">◆ </a></span>main()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
@@ -282,10 +281,10 @@ Algorithm</h3>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>0 on exit </dd></dl>
|
||||
<div class="fragment"><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  {</div>
|
||||
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  <a class="code" href="../../da/d52/minimum__edit__distance_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">test</a>(); <span class="comment">// run self-test implementations</span></div>
|
||||
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  <span class="keywordflow">return</span> 0;</div>
|
||||
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> }</div>
|
||||
<div class="fragment"><div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> {</div>
|
||||
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> <a class="code hl_function" href="../../da/d52/minimum__edit__distance_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">test</a>(); <span class="comment">// run self-test implementations</span></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="aminimum__edit__distance_8cpp_html_aa8dca7b867074164d5f45b0f3851269d"><div class="ttname"><a href="../../da/d52/minimum__edit__distance_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">test</a></div><div class="ttdeci">static void test()</div><div class="ttdoc">Self-test implementations.</div><div class="ttdef"><b>Definition:</b> minimum_edit_distance.cpp:132</div></div>
|
||||
</div><!-- fragment --><div class="dynheader">
|
||||
Here is the call graph for this function:</div>
|
||||
@@ -296,7 +295,7 @@ Here is the call graph for this function:</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a0138c226bd79ffe6d839c787cfc60347"></a>
|
||||
<a id="a0138c226bd79ffe6d839c787cfc60347" name="a0138c226bd79ffe6d839c787cfc60347"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a0138c226bd79ffe6d839c787cfc60347">◆ </a></span>min()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
@@ -342,24 +341,24 @@ Here is the call graph for this function:</div>
|
||||
y if <code>y</code> is the minimum value </dd>
|
||||
<dd>
|
||||
z if <code>z</code> is the minimum value </dd></dl>
|
||||
<p>returns x, if x is the minimum value</p>
|
||||
<p>returns y, if y is the minimum value</p>
|
||||
<p>returns z if z is the minimum value</p>
|
||||
<div class="fragment"><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  {</div>
|
||||
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <span class="keywordflow">if</span> (x <= y && x <= z) {</div>
|
||||
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <span class="keywordflow">return</span> x; <span class="comment">/// returns x, if x is the minimum value</span></div>
|
||||
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  }</div>
|
||||
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  <span class="keywordflow">if</span> (y <= x && y <= z) {</div>
|
||||
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="keywordflow">return</span> y; <span class="comment">/// returns y, if y is the minimum value</span></div>
|
||||
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  }</div>
|
||||
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <span class="keywordflow">else</span> {</div>
|
||||
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  <span class="keywordflow">return</span> z; <span class="comment">/// returns z if z is the minimum value</span></div>
|
||||
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  }</div>
|
||||
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> }</div>
|
||||
<p >returns x, if x is the minimum value</p>
|
||||
<p >returns y, if y is the minimum value</p>
|
||||
<p >returns z if z is the minimum value</p>
|
||||
<div class="fragment"><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="keywordflow">if</span> (x <= y && x <= z) {</div>
|
||||
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> <span class="keywordflow">return</span> x; <span class="comment">/// returns x, if x is the minimum value</span></div>
|
||||
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> }</div>
|
||||
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> <span class="keywordflow">if</span> (y <= x && y <= z) {</div>
|
||||
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> <span class="keywordflow">return</span> y; <span class="comment">/// returns y, if y is the minimum value</span></div>
|
||||
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> }</div>
|
||||
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> <span class="keywordflow">else</span> {</div>
|
||||
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span> <span class="keywordflow">return</span> z; <span class="comment">/// returns z if z is the minimum value</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><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="aa8dca7b867074164d5f45b0f3851269d"></a>
|
||||
<a id="aa8dca7b867074164d5f45b0f3851269d" name="aa8dca7b867074164d5f45b0f3851269d"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#aa8dca7b867074164d5f45b0f3851269d">◆ </a></span>test()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
@@ -384,27 +383,27 @@ z if <code>z</code> is the minimum value </dd></dl>
|
||||
|
||||
<p>Self-test implementations. </p>
|
||||
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>
|
||||
<div class="fragment"><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  {</div>
|
||||
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  <span class="comment">// 1st test</span></div>
|
||||
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> str1 = <span class="stringliteral">"INTENTION"</span>; <span class="comment">// Sample input of 1st string</span></div>
|
||||
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> str2 = <span class="stringliteral">"EXECUTION"</span>; <span class="comment">// Sample input of 2nd string</span></div>
|
||||
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  uint64_t expected_output1 = 5; <span class="comment">// Expected minimum cost</span></div>
|
||||
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  uint64_t output1 = <a class="code" href="../../da/d52/minimum__edit__distance_8cpp.html#ade2fcfe0359f3c7691bfaa04b14943e2">dynamic_programming::minimum_edit_distance::editDistDP</a>(</div>
|
||||
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  str1, str2, str1.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string/size.html">length</a>(), str2.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string/size.html">length</a>()); <span class="comment">// calling the editDistDP function and storing the result on output1</span></div>
|
||||
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  assert(output1 == expected_output1); <span class="comment">// comparing the output with the expected output</span></div>
|
||||
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Minimum Number of Operations Required: "</span> << output1</div>
|
||||
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  << <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="l00142"></a><span class="lineno"> 142</span>  </div>
|
||||
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  <span class="comment">// 2nd test</span></div>
|
||||
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> str3 = <span class="stringliteral">"SATURDAY"</span>;</div>
|
||||
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> str4 = <span class="stringliteral">"SUNDAY"</span>;</div>
|
||||
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  uint64_t expected_output2 = 3;</div>
|
||||
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  uint64_t output2 = <a class="code" href="../../da/d52/minimum__edit__distance_8cpp.html#ade2fcfe0359f3c7691bfaa04b14943e2">dynamic_programming::minimum_edit_distance::editDistDP</a>(</div>
|
||||
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  str3, str4, str3.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string/size.html">length</a>(), str4.<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="l00149"></a><span class="lineno"> 149</span>  assert(output2 == expected_output2);</div>
|
||||
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Minimum Number of Operations Required: "</span> << output2</div>
|
||||
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  << <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="l00152"></a><span class="lineno"> 152</span> }</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="comment">// 1st test</span></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/string/basic_string.html">std::string</a> str1 = <span class="stringliteral">"INTENTION"</span>; <span class="comment">// Sample input of 1st string</span></div>
|
||||
<div class="line"><a id="l00135" name="l00135"></a><span class="lineno"> 135</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> str2 = <span class="stringliteral">"EXECUTION"</span>; <span class="comment">// Sample input of 2nd string</span></div>
|
||||
<div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> uint64_t expected_output1 = 5; <span class="comment">// Expected minimum cost</span></div>
|
||||
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> uint64_t output1 = <a class="code hl_function" href="../../da/d52/minimum__edit__distance_8cpp.html#ade2fcfe0359f3c7691bfaa04b14943e2">dynamic_programming::minimum_edit_distance::editDistDP</a>(</div>
|
||||
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> str1, str2, str1.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string/size.html">length</a>(), str2.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string/size.html">length</a>()); <span class="comment">// calling the editDistDP function and storing the result on output1</span></div>
|
||||
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> assert(output1 == expected_output1); <span class="comment">// comparing the output with the expected output</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> << <span class="stringliteral">"Minimum Number of Operations Required: "</span> << output1</div>
|
||||
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> << <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="l00142" name="l00142"></a><span class="lineno"> 142</span> </div>
|
||||
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> <span class="comment">// 2nd test</span></div>
|
||||
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> str3 = <span class="stringliteral">"SATURDAY"</span>;</div>
|
||||
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> str4 = <span class="stringliteral">"SUNDAY"</span>;</div>
|
||||
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span> uint64_t expected_output2 = 3;</div>
|
||||
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> uint64_t output2 = <a class="code hl_function" href="../../da/d52/minimum__edit__distance_8cpp.html#ade2fcfe0359f3c7691bfaa04b14943e2">dynamic_programming::minimum_edit_distance::editDistDP</a>(</div>
|
||||
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> str3, str4, str3.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string/size.html">length</a>(), str4.<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="l00149" name="l00149"></a><span class="lineno"> 149</span> assert(output2 == expected_output2);</div>
|
||||
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Minimum Number of Operations Required: "</span> << output2</div>
|
||||
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> << <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="l00152" name="l00152"></a><span class="lineno"> 152</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>
|
||||
@@ -425,7 +424,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_8a20dd5bfd5341a725342bf72b6b686f.html">dynamic_programming</a></li><li class="navelem"><a class="el" href="../../da/d52/minimum__edit__distance_8cpp.html">minimum_edit_distance.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>
|
||||
|
||||
@@ -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="244pt" height="66pt"
|
||||
|
||||
|
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.1 KiB |
@@ -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="170pt" height="66pt"
|
||||
|
||||
|
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.3 KiB |
@@ -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++: Complex 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++
|
||||
 <span id="projectnumber">1.0.0</span>
|
||||
<div id="projectname">Algorithms_in_C++<span id="projectnumber"> 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&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "../../search",false,'Search','.html');
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&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&dn=gpl-2.0.txt GPL-v2 */
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&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&dn=gpl-2.0.txt GPL-v2 */
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||
$(document).ready(function(){initNavTree('da/d5a/class_complex.html','../../'); initResizable(); });
|
||||
/* @license-end */
|
||||
</script>
|
||||
@@ -94,15 +94,14 @@ $(document).ready(function(){initNavTree('da/d5a/class_complex.html','../../');
|
||||
<a href="#pub-methods">Public Member Functions</a> |
|
||||
<a href="#pri-attribs">Private Attributes</a> |
|
||||
<a href="../../d6/d1f/class_complex-members.html">List of all members</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">Complex Class Reference</div> </div>
|
||||
<div class="headertitle"><div class="title">Complex Class Reference</div></div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>Class <a class="el" href="../../da/d5a/class_complex.html" title="Class Complex to represent complex numbers as a field.">Complex</a> to represent complex numbers as a field.
|
||||
<a href="../../da/d5a/class_complex.html#details">More...</a></p>
|
||||
<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:a3cfc522c782726f49ee20af17b77f867"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d5a/class_complex.html#a3cfc522c782726f49ee20af17b77f867">Complex</a> (double x=0.f, double y=0.f, bool is_polar=false)</td></tr>
|
||||
<tr class="memdesc:a3cfc522c782726f49ee20af17b77f867"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="../../da/d5a/class_complex.html" title="Class Complex to represent complex numbers as a field.">Complex</a> Constructor which initialises our complex number. <a href="../../da/d5a/class_complex.html#a3cfc522c782726f49ee20af17b77f867">More...</a><br /></td></tr>
|
||||
@@ -110,13 +109,11 @@ Public Member Functions</h2></td></tr>
|
||||
<tr class="memitem:a466cd7b664cc6a864937ceb3dead1323"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d5a/class_complex.html#a466cd7b664cc6a864937ceb3dead1323">Complex</a> (const <a class="el" href="../../da/d5a/class_complex.html">Complex</a> &other)</td></tr>
|
||||
<tr class="memdesc:a466cd7b664cc6a864937ceb3dead1323"><td class="mdescLeft"> </td><td class="mdescRight">Copy Constructor. <a href="../../da/d5a/class_complex.html#a466cd7b664cc6a864937ceb3dead1323">More...</a><br /></td></tr>
|
||||
<tr class="separator:a466cd7b664cc6a864937ceb3dead1323"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a312e4b19146128408fb06e0150b0faf6"><td class="memItemLeft" align="right" valign="top"><a id="a312e4b19146128408fb06e0150b0faf6"></a>
|
||||
double </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d5a/class_complex.html#a312e4b19146128408fb06e0150b0faf6">real</a> () const</td></tr>
|
||||
<tr class="memdesc:a312e4b19146128408fb06e0150b0faf6"><td class="mdescLeft"> </td><td class="mdescRight">Member function to get real value of our complex number. Member function (getter) to access the class' re value. <br /></td></tr>
|
||||
<tr class="memitem:a312e4b19146128408fb06e0150b0faf6"><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d5a/class_complex.html#a312e4b19146128408fb06e0150b0faf6">real</a> () const</td></tr>
|
||||
<tr class="memdesc:a312e4b19146128408fb06e0150b0faf6"><td class="mdescLeft"> </td><td class="mdescRight">Member function to get real value of our complex number. Member function (getter) to access the class' re value. <a href="../../da/d5a/class_complex.html#a312e4b19146128408fb06e0150b0faf6">More...</a><br /></td></tr>
|
||||
<tr class="separator:a312e4b19146128408fb06e0150b0faf6"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:af8aacf982e2e6c142921bc850f6dc974"><td class="memItemLeft" align="right" valign="top"><a id="af8aacf982e2e6c142921bc850f6dc974"></a>
|
||||
double </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d5a/class_complex.html#af8aacf982e2e6c142921bc850f6dc974">imag</a> () const</td></tr>
|
||||
<tr class="memdesc:af8aacf982e2e6c142921bc850f6dc974"><td class="mdescLeft"> </td><td class="mdescRight">Member function to get imaginary value of our complex number. Member function (getter) to access the class' im value. <br /></td></tr>
|
||||
<tr class="memitem:af8aacf982e2e6c142921bc850f6dc974"><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d5a/class_complex.html#af8aacf982e2e6c142921bc850f6dc974">imag</a> () const</td></tr>
|
||||
<tr class="memdesc:af8aacf982e2e6c142921bc850f6dc974"><td class="mdescLeft"> </td><td class="mdescRight">Member function to get imaginary value of our complex number. Member function (getter) to access the class' im value. <a href="../../da/d5a/class_complex.html#af8aacf982e2e6c142921bc850f6dc974">More...</a><br /></td></tr>
|
||||
<tr class="separator:af8aacf982e2e6c142921bc850f6dc974"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ae5b51b749ea4964104b9527af9d8f556"><td class="memItemLeft" align="right" valign="top">double </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d5a/class_complex.html#ae5b51b749ea4964104b9527af9d8f556">abs</a> () const</td></tr>
|
||||
<tr class="memdesc:ae5b51b749ea4964104b9527af9d8f556"><td class="mdescLeft"> </td><td class="mdescRight">Member function to give the modulus of our complex number. Member function to which gives the absolute value (modulus) of our complex number. <a href="../../da/d5a/class_complex.html#ae5b51b749ea4964104b9527af9d8f556">More...</a><br /></td></tr>
|
||||
@@ -139,24 +136,23 @@ double </td><td class="memItemRight" valign="bottom"><a class="el" href="..
|
||||
<tr class="memitem:ac38437c10eb798f176c384a695171b90"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../da/d5a/class_complex.html">Complex</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d5a/class_complex.html#ac38437c10eb798f176c384a695171b90">operator/</a> (const <a class="el" href="../../da/d5a/class_complex.html">Complex</a> &other)</td></tr>
|
||||
<tr class="memdesc:ac38437c10eb798f176c384a695171b90"><td class="mdescLeft"> </td><td class="mdescRight">Operator overload of '/' on <a class="el" href="../../da/d5a/class_complex.html" title="Class Complex to represent complex numbers as a field.">Complex</a> class. Operator overload to be able to divide two complex numbers. This function would throw an exception if the other number is zero. <a href="../../da/d5a/class_complex.html#ac38437c10eb798f176c384a695171b90">More...</a><br /></td></tr>
|
||||
<tr class="separator:ac38437c10eb798f176c384a695171b90"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a889215b7b004a3e7ec4d785ca5e7a2ba"><td class="memItemLeft" align="right" valign="top"><a id="a889215b7b004a3e7ec4d785ca5e7a2ba"></a>
|
||||
const <a class="el" href="../../da/d5a/class_complex.html">Complex</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d5a/class_complex.html#a889215b7b004a3e7ec4d785ca5e7a2ba">operator=</a> (const <a class="el" href="../../da/d5a/class_complex.html">Complex</a> &other)</td></tr>
|
||||
<tr class="memdesc:a889215b7b004a3e7ec4d785ca5e7a2ba"><td class="mdescLeft"> </td><td class="mdescRight">Operator overload of '=' on <a class="el" href="../../da/d5a/class_complex.html" title="Class Complex to represent complex numbers as a field.">Complex</a> class. Operator overload to be able to copy RHS instance of <a class="el" href="../../da/d5a/class_complex.html" title="Class Complex to represent complex numbers as a field.">Complex</a> to LHS instance of <a class="el" href="../../da/d5a/class_complex.html" title="Class Complex to represent complex numbers as a field.">Complex</a>. <br /></td></tr>
|
||||
<tr class="separator:a889215b7b004a3e7ec4d785ca5e7a2ba"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a4ac9f529d54cacf2969f2c7179b4c4ac"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="../../da/d5a/class_complex.html">Complex</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d5a/class_complex.html#a4ac9f529d54cacf2969f2c7179b4c4ac">operator=</a> (const <a class="el" href="../../da/d5a/class_complex.html">Complex</a> &other)</td></tr>
|
||||
<tr class="memdesc:a4ac9f529d54cacf2969f2c7179b4c4ac"><td class="mdescLeft"> </td><td class="mdescRight">Operator overload of '=' on <a class="el" href="../../da/d5a/class_complex.html" title="Class Complex to represent complex numbers as a field.">Complex</a> class. Operator overload to be able to copy RHS instance of <a class="el" href="../../da/d5a/class_complex.html" title="Class Complex to represent complex numbers as a field.">Complex</a> to LHS instance of <a class="el" href="../../da/d5a/class_complex.html" title="Class Complex to represent complex numbers as a field.">Complex</a>. <a href="../../da/d5a/class_complex.html#a4ac9f529d54cacf2969f2c7179b4c4ac">More...</a><br /></td></tr>
|
||||
<tr class="separator:a4ac9f529d54cacf2969f2c7179b4c4ac"><td class="memSeparator" colspan="2"> </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:a843ce2f85af4c57db9063c86f3cd9607"><td class="memItemLeft" align="right" valign="top"><a id="a843ce2f85af4c57db9063c86f3cd9607"></a>
|
||||
<tr class="memitem:a843ce2f85af4c57db9063c86f3cd9607"><td class="memItemLeft" align="right" valign="top"><a id="a843ce2f85af4c57db9063c86f3cd9607" name="a843ce2f85af4c57db9063c86f3cd9607"></a>
|
||||
double </td><td class="memItemRight" valign="bottom"><b>re</b></td></tr>
|
||||
<tr class="separator:a843ce2f85af4c57db9063c86f3cd9607"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a776d595d5a1b576e9136cbc6bac0589c"><td class="memItemLeft" align="right" valign="top"><a id="a776d595d5a1b576e9136cbc6bac0589c"></a>
|
||||
<tr class="memitem:a776d595d5a1b576e9136cbc6bac0589c"><td class="memItemLeft" align="right" valign="top"><a id="a776d595d5a1b576e9136cbc6bac0589c" name="a776d595d5a1b576e9136cbc6bac0589c"></a>
|
||||
double </td><td class="memItemRight" valign="bottom"><b>im</b></td></tr>
|
||||
<tr class="separator:a776d595d5a1b576e9136cbc6bac0589c"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p>Class <a class="el" href="../../da/d5a/class_complex.html" title="Class Complex to represent complex numbers as a field.">Complex</a> to represent complex numbers as a field. </p>
|
||||
<div class="textblock"><p >Class <a class="el" href="../../da/d5a/class_complex.html" title="Class Complex to represent complex numbers as a field.">Complex</a> to represent complex numbers as a field. </p>
|
||||
</div><h2 class="groupheader">Constructor & Destructor Documentation</h2>
|
||||
<a id="a3cfc522c782726f49ee20af17b77f867"></a>
|
||||
<a id="a3cfc522c782726f49ee20af17b77f867" name="a3cfc522c782726f49ee20af17b77f867"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a3cfc522c782726f49ee20af17b77f867">◆ </a></span>Complex() <span class="overload">[1/2]</span></h2>
|
||||
|
||||
<div class="memitem">
|
||||
@@ -197,7 +193,7 @@ double </td><td class="memItemRight" valign="bottom"><b>im</b></td></tr>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p><a class="el" href="../../da/d5a/class_complex.html" title="Class Complex to represent complex numbers as a field.">Complex</a> Constructor which initialises our complex number. </p>
|
||||
<p><a class="el" href="../../da/d5a/class_complex.html" title="Class Complex to represent complex numbers as a field.">Complex</a> Constructor which initialises the complex number which takes three arguments. </p><dl class="params"><dt>Parameters</dt><dd>
|
||||
<p ><a class="el" href="../../da/d5a/class_complex.html" title="Class Complex to represent complex numbers as a field.">Complex</a> Constructor which initialises the complex number which takes three arguments. </p><dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">x</td><td>If the third parameter is 'true' then this x is the absolute value of the complex number, if the third parameter is 'false' then this x is the real value of the complex number (optional). </td></tr>
|
||||
<tr><td class="paramname">y</td><td>If the third parameter is 'true' then this y is the argument of the complex number, if the third parameter is 'false' then this y is the imaginary value of the complex number (optional). </td></tr>
|
||||
@@ -205,16 +201,16 @@ double </td><td class="memItemRight" valign="bottom"><b>im</b></td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<div class="fragment"><div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  {</div>
|
||||
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <span class="keywordflow">if</span> (!is_polar) {</div>
|
||||
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  re = x;</div>
|
||||
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  im = y;</div>
|
||||
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  <span class="keywordflow">return</span>;</div>
|
||||
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  }</div>
|
||||
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  </div>
|
||||
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  re = x * <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/math/cos.html">std::cos</a>(y);</div>
|
||||
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>  im = x * <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/math/sin.html">std::sin</a>(y);</div>
|
||||
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  }</div>
|
||||
<div class="fragment"><div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> {</div>
|
||||
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> <span class="keywordflow">if</span> (!is_polar) {</div>
|
||||
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> re = x;</div>
|
||||
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> im = y;</div>
|
||||
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> <span class="keywordflow">return</span>;</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> </div>
|
||||
<div class="line"><a id="l00050" name="l00050"></a><span class="lineno"> 50</span> re = x * <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/math/cos.html">std::cos</a>(y);</div>
|
||||
<div class="line"><a id="l00051" name="l00051"></a><span class="lineno"> 51</span> im = x * <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/math/sin.html">std::sin</a>(y);</div>
|
||||
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> }</div>
|
||||
<div class="ttc" id="acos_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/numeric/math/cos.html">std::cos</a></div><div class="ttdeci">T cos(T... args)</div></div>
|
||||
<div class="ttc" id="asin_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/numeric/math/sin.html">std::sin</a></div><div class="ttdeci">T sin(T... args)</div></div>
|
||||
</div><!-- fragment --><div class="dynheader">
|
||||
@@ -226,7 +222,7 @@ Here is the call graph for this function:</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a466cd7b664cc6a864937ceb3dead1323"></a>
|
||||
<a id="a466cd7b664cc6a864937ceb3dead1323" name="a466cd7b664cc6a864937ceb3dead1323"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a466cd7b664cc6a864937ceb3dead1323">◆ </a></span>Complex() <span class="overload">[2/2]</span></h2>
|
||||
|
||||
<div class="memitem">
|
||||
@@ -257,14 +253,14 @@ Here is the call graph for this function:</div>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<div class="fragment"><div class="line"><a name="l00058"></a><span class="lineno"> 58</span> : re(other.<a class="code" href="../../da/d5a/class_complex.html#a312e4b19146128408fb06e0150b0faf6">real</a>()), im(other.<a class="code" href="../../da/d5a/class_complex.html#af8aacf982e2e6c142921bc850f6dc974">imag</a>()) {}</div>
|
||||
<div class="fragment"><div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span>: re(other.<a class="code hl_function" href="../../da/d5a/class_complex.html#a312e4b19146128408fb06e0150b0faf6">real</a>()), im(other.<a class="code hl_function" href="../../da/d5a/class_complex.html#af8aacf982e2e6c142921bc850f6dc974">imag</a>()) {}</div>
|
||||
<div class="ttc" id="aclass_complex_html_a312e4b19146128408fb06e0150b0faf6"><div class="ttname"><a href="../../da/d5a/class_complex.html#a312e4b19146128408fb06e0150b0faf6">Complex::real</a></div><div class="ttdeci">double real() const</div><div class="ttdoc">Member function to get real value of our complex number. Member function (getter) to access the class...</div><div class="ttdef"><b>Definition:</b> complex_numbers.cpp:64</div></div>
|
||||
<div class="ttc" id="aclass_complex_html_af8aacf982e2e6c142921bc850f6dc974"><div class="ttname"><a href="../../da/d5a/class_complex.html#af8aacf982e2e6c142921bc850f6dc974">Complex::imag</a></div><div class="ttdeci">double imag() const</div><div class="ttdoc">Member function to get imaginary value of our complex number. Member function (getter) to access the ...</div><div class="ttdef"><b>Definition:</b> complex_numbers.cpp:70</div></div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<h2 class="groupheader">Member Function Documentation</h2>
|
||||
<a id="ae5b51b749ea4964104b9527af9d8f556"></a>
|
||||
<a id="ae5b51b749ea4964104b9527af9d8f556" name="ae5b51b749ea4964104b9527af9d8f556"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ae5b51b749ea4964104b9527af9d8f556">◆ </a></span>abs()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
@@ -289,9 +285,9 @@ Here is the call graph for this function:</div>
|
||||
|
||||
<p>Member function to give the modulus of our complex number. Member function to which gives the absolute value (modulus) of our complex number. </p>
|
||||
<dl class="section return"><dt>Returns</dt><dd>\( \sqrt{z \bar{z}} \) where \( z \) is our complex number. </dd></dl>
|
||||
<div class="fragment"><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  {</div>
|
||||
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <span class="keywordflow">return</span> <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/math/sqrt.html">std::sqrt</a>(this->re * this->re + this->im * this->im);</div>
|
||||
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  }</div>
|
||||
<div class="fragment"><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">return</span> <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/math/sqrt.html">std::sqrt</a>(this->re * this->re + this->im * this->im);</div>
|
||||
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span> }</div>
|
||||
<div class="ttc" id="asqrt_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/numeric/math/sqrt.html">std::sqrt</a></div><div class="ttdeci">T sqrt(T... args)</div></div>
|
||||
</div><!-- fragment --><div class="dynheader">
|
||||
Here is the call graph for this function:</div>
|
||||
@@ -302,7 +298,7 @@ Here is the call graph for this function:</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="ae1e03712837450549e0c9b4017533a41"></a>
|
||||
<a id="ae1e03712837450549e0c9b4017533a41" name="ae1e03712837450549e0c9b4017533a41"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ae1e03712837450549e0c9b4017533a41">◆ </a></span>arg()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
@@ -327,7 +323,7 @@ Here is the call graph for this function:</div>
|
||||
|
||||
<p>Member function to give the argument of our complex number. </p>
|
||||
<dl class="section return"><dt>Returns</dt><dd>Argument of our <a class="el" href="../../da/d5a/class_complex.html" title="Class Complex to represent complex numbers as a field.">Complex</a> number in radians. </dd></dl>
|
||||
<div class="fragment"><div class="line"><a name="l00087"></a><span class="lineno"> 87</span> { <span class="keywordflow">return</span> <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/math/atan2.html">std::atan2</a>(this->im, this->re); }</div>
|
||||
<div class="fragment"><div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span>{ <span class="keywordflow">return</span> <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/math/atan2.html">std::atan2</a>(this->im, this->re); }</div>
|
||||
<div class="ttc" id="aatan2_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/numeric/math/atan2.html">std::atan2</a></div><div class="ttdeci">T atan2(T... args)</div></div>
|
||||
</div><!-- fragment --><div class="dynheader">
|
||||
Here is the call graph for this function:</div>
|
||||
@@ -338,7 +334,35 @@ Here is the call graph for this function:</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="aa9b4a7d6083ca7040ddd4fe93db5c19d"></a>
|
||||
<a id="af8aacf982e2e6c142921bc850f6dc974" name="af8aacf982e2e6c142921bc850f6dc974"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#af8aacf982e2e6c142921bc850f6dc974">◆ </a></span>imag()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">double Complex::imag </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td> const</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Member function to get imaginary value of our complex number. Member function (getter) to access the class' im value. </p>
|
||||
<div class="fragment"><div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span>{ <span class="keywordflow">return</span> this->im; }</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="aa9b4a7d6083ca7040ddd4fe93db5c19d" name="aa9b4a7d6083ca7040ddd4fe93db5c19d"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#aa9b4a7d6083ca7040ddd4fe93db5c19d">◆ </a></span>operator*()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
@@ -370,17 +394,17 @@ Here is the call graph for this function:</div>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>result current number times other number. </dd></dl>
|
||||
<div class="fragment"><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  {</div>
|
||||
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  <a class="code" href="../../da/d5a/class_complex.html">Complex</a> <a class="code" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a>(this->re * other.re - this->im * other.im,</div>
|
||||
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  this->re * other.im + this->im * other.re);</div>
|
||||
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  <span class="keywordflow">return</span> <a class="code" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a>;</div>
|
||||
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  }</div>
|
||||
<div class="fragment"><div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> {</div>
|
||||
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> <a class="code hl_class" href="../../da/d5a/class_complex.html">Complex</a> <a class="code hl_function" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a>(this->re * other.re - this->im * other.im,</div>
|
||||
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span> this->re * other.im + this->im * other.re);</div>
|
||||
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> <span class="keywordflow">return</span> <a class="code hl_function" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a>;</div>
|
||||
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> }</div>
|
||||
<div class="ttc" id="aclass_complex_html"><div class="ttname"><a href="../../da/d5a/class_complex.html">Complex</a></div><div class="ttdoc">Class Complex to represent complex numbers as a field.</div><div class="ttdef"><b>Definition:</b> complex_numbers.cpp:20</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>
|
||||
</div>
|
||||
<a id="a820afcbb330df716577459d7a3aa3a1c"></a>
|
||||
<a id="a820afcbb330df716577459d7a3aa3a1c" name="a820afcbb330df716577459d7a3aa3a1c"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a820afcbb330df716577459d7a3aa3a1c">◆ </a></span>operator+()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
@@ -412,14 +436,14 @@ Here is the call graph for this function:</div>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>result current number plus other number </dd></dl>
|
||||
<div class="fragment"><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  {</div>
|
||||
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <a class="code" href="../../da/d5a/class_complex.html">Complex</a> <a class="code" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a>(this->re + other.re, this->im + other.im);</div>
|
||||
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <span class="keywordflow">return</span> <a class="code" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a>;</div>
|
||||
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  }</div>
|
||||
<div class="fragment"><div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> {</div>
|
||||
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> <a class="code hl_class" href="../../da/d5a/class_complex.html">Complex</a> <a class="code hl_function" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a>(this->re + other.re, this->im + other.im);</div>
|
||||
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> <span class="keywordflow">return</span> <a class="code hl_function" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a>;</div>
|
||||
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> }</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="a36739619a07b5478bcd8a28ad2f8b7da"></a>
|
||||
<a id="a36739619a07b5478bcd8a28ad2f8b7da" name="a36739619a07b5478bcd8a28ad2f8b7da"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a36739619a07b5478bcd8a28ad2f8b7da">◆ </a></span>operator-()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
@@ -451,14 +475,14 @@ Here is the call graph for this function:</div>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>result current number subtract other number </dd></dl>
|
||||
<div class="fragment"><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  {</div>
|
||||
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <a class="code" href="../../da/d5a/class_complex.html">Complex</a> <a class="code" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a>(this->re - other.re, this->im - other.im);</div>
|
||||
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  <span class="keywordflow">return</span> <a class="code" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a>;</div>
|
||||
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  }</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> <a class="code hl_class" href="../../da/d5a/class_complex.html">Complex</a> <a class="code hl_function" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a>(this->re - other.re, this->im - other.im);</div>
|
||||
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span> <span class="keywordflow">return</span> <a class="code hl_function" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a>;</div>
|
||||
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> }</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="ac38437c10eb798f176c384a695171b90"></a>
|
||||
<a id="ac38437c10eb798f176c384a695171b90" name="ac38437c10eb798f176c384a695171b90"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ac38437c10eb798f176c384a695171b90">◆ </a></span>operator/()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
@@ -490,18 +514,18 @@ Here is the call graph for this function:</div>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>result Current number divided by other number. </dd></dl>
|
||||
<div class="fragment"><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  {</div>
|
||||
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  <a class="code" href="../../da/d5a/class_complex.html">Complex</a> <a class="code" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a> = *<span class="keyword">this</span> * ~other;</div>
|
||||
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  <span class="keywordtype">double</span> denominator =</div>
|
||||
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  other.<a class="code" href="../../da/d5a/class_complex.html#a312e4b19146128408fb06e0150b0faf6">real</a>() * other.<a class="code" href="../../da/d5a/class_complex.html#a312e4b19146128408fb06e0150b0faf6">real</a>() + other.<a class="code" href="../../da/d5a/class_complex.html#af8aacf982e2e6c142921bc850f6dc974">imag</a>() * other.<a class="code" href="../../da/d5a/class_complex.html#af8aacf982e2e6c142921bc850f6dc974">imag</a>();</div>
|
||||
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  <span class="keywordflow">if</span> (denominator != 0) {</div>
|
||||
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  <a class="code" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a> = <a class="code" href="../../da/d5a/class_complex.html#a3cfc522c782726f49ee20af17b77f867">Complex</a>(<a class="code" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a>.real() / denominator,</div>
|
||||
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  <a class="code" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a>.imag() / denominator);</div>
|
||||
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <span class="keywordflow">return</span> <a class="code" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a>;</div>
|
||||
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  } <span class="keywordflow">else</span> {</div>
|
||||
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  <span class="keywordflow">throw</span> <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/error/invalid_argument.html">std::invalid_argument</a>(<span class="stringliteral">"Undefined Value"</span>);</div>
|
||||
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  }</div>
|
||||
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  }</div>
|
||||
<div class="fragment"><div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> {</div>
|
||||
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span> <a class="code hl_class" href="../../da/d5a/class_complex.html">Complex</a> <a class="code hl_function" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a> = *<span class="keyword">this</span> * ~other;</div>
|
||||
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span> <span class="keywordtype">double</span> denominator =</div>
|
||||
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span> other.<a class="code hl_function" href="../../da/d5a/class_complex.html#a312e4b19146128408fb06e0150b0faf6">real</a>() * other.<a class="code hl_function" href="../../da/d5a/class_complex.html#a312e4b19146128408fb06e0150b0faf6">real</a>() + other.<a class="code hl_function" href="../../da/d5a/class_complex.html#af8aacf982e2e6c142921bc850f6dc974">imag</a>() * other.<a class="code hl_function" href="../../da/d5a/class_complex.html#af8aacf982e2e6c142921bc850f6dc974">imag</a>();</div>
|
||||
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span> <span class="keywordflow">if</span> (denominator != 0) {</div>
|
||||
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span> <a class="code hl_function" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a> = <a class="code hl_function" href="../../da/d5a/class_complex.html#a3cfc522c782726f49ee20af17b77f867">Complex</a>(<a class="code hl_function" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a>.real() / denominator,</div>
|
||||
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span> <a class="code hl_function" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a>.imag() / denominator);</div>
|
||||
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span> <span class="keywordflow">return</span> <a class="code hl_function" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a>;</div>
|
||||
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span> } <span class="keywordflow">else</span> {</div>
|
||||
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span> <span class="keywordflow">throw</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/error/invalid_argument.html">std::invalid_argument</a>(<span class="stringliteral">"Undefined Value"</span>);</div>
|
||||
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span> }</div>
|
||||
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span> }</div>
|
||||
<div class="ttc" id="aclass_complex_html_a3cfc522c782726f49ee20af17b77f867"><div class="ttname"><a href="../../da/d5a/class_complex.html#a3cfc522c782726f49ee20af17b77f867">Complex::Complex</a></div><div class="ttdeci">Complex(double x=0.f, double y=0.f, bool is_polar=false)</div><div class="ttdoc">Complex Constructor which initialises our complex number.</div><div class="ttdef"><b>Definition:</b> complex_numbers.cpp:43</div></div>
|
||||
<div class="ttc" id="ainvalid_argument_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/error/invalid_argument.html">std::invalid_argument</a></div></div>
|
||||
</div><!-- fragment --><div class="dynheader">
|
||||
@@ -513,7 +537,46 @@ Here is the call graph for this function:</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a8d5427f6c42c15283031d73e1418c59d"></a>
|
||||
<a id="a4ac9f529d54cacf2969f2c7179b4c4ac" name="a4ac9f529d54cacf2969f2c7179b4c4ac"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a4ac9f529d54cacf2969f2c7179b4c4ac">◆ </a></span>operator=()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">const <a class="el" href="../../da/d5a/class_complex.html">Complex</a> & Complex::operator= </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const <a class="el" href="../../da/d5a/class_complex.html">Complex</a> & </td>
|
||||
<td class="paramname"><em>other</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Operator overload of '=' on <a class="el" href="../../da/d5a/class_complex.html" title="Class Complex to represent complex numbers as a field.">Complex</a> class. Operator overload to be able to copy RHS instance of <a class="el" href="../../da/d5a/class_complex.html" title="Class Complex to represent complex numbers as a field.">Complex</a> to LHS instance of <a class="el" href="../../da/d5a/class_complex.html" title="Class Complex to represent complex numbers as a field.">Complex</a>. </p>
|
||||
<div class="fragment"><div class="line"><a id="l00160" name="l00160"></a><span class="lineno"> 160</span> {</div>
|
||||
<div class="line"><a id="l00161" name="l00161"></a><span class="lineno"> 161</span> this->re = other.<a class="code hl_function" href="../../da/d5a/class_complex.html#a312e4b19146128408fb06e0150b0faf6">real</a>();</div>
|
||||
<div class="line"><a id="l00162" name="l00162"></a><span class="lineno"> 162</span> this->im = other.<a class="code hl_function" href="../../da/d5a/class_complex.html#af8aacf982e2e6c142921bc850f6dc974">imag</a>();</div>
|
||||
<div class="line"><a id="l00163" name="l00163"></a><span class="lineno"> 163</span> <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
|
||||
<div class="line"><a id="l00164" name="l00164"></a><span class="lineno"> 164</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="../../da/d5a/class_complex_a4ac9f529d54cacf2969f2c7179b4c4ac_cgraph.svg" width="310" height="88"><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="a8d5427f6c42c15283031d73e1418c59d" name="a8d5427f6c42c15283031d73e1418c59d"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a8d5427f6c42c15283031d73e1418c59d">◆ </a></span>operator~()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
@@ -538,10 +601,38 @@ Here is the call graph for this function:</div>
|
||||
|
||||
<p>Operator overload of '~' on <a class="el" href="../../da/d5a/class_complex.html" title="Class Complex to represent complex numbers as a field.">Complex</a> class. Operator overload of the BITWISE NOT which gives us the conjugate of our complex number. NOTE: This is overloading the BITWISE operator but its not a BITWISE operation in this definition. </p>
|
||||
<dl class="section return"><dt>Returns</dt><dd>result The conjugate of our complex number. </dd></dl>
|
||||
<div class="fragment"><div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  {</div>
|
||||
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  <a class="code" href="../../da/d5a/class_complex.html">Complex</a> <a class="code" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a>(this->re, -(this->im));</div>
|
||||
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  <span class="keywordflow">return</span> <a class="code" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a>;</div>
|
||||
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  }</div>
|
||||
<div class="fragment"><div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> {</div>
|
||||
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> <a class="code hl_class" href="../../da/d5a/class_complex.html">Complex</a> <a class="code hl_function" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a>(this->re, -(this->im));</div>
|
||||
<div class="line"><a id="l00132" name="l00132"></a><span class="lineno"> 132</span> <span class="keywordflow">return</span> <a class="code hl_function" href="../../de/dc3/fibonacci__sum_8cpp.html#aadb40ac4c74a7efc0680b83eeee138aa">result</a>;</div>
|
||||
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</span> }</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="a312e4b19146128408fb06e0150b0faf6" name="a312e4b19146128408fb06e0150b0faf6"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a312e4b19146128408fb06e0150b0faf6">◆ </a></span>real()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">double Complex::real </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td> const</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Member function to get real value of our complex number. Member function (getter) to access the class' re value. </p>
|
||||
<div class="fragment"><div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span>{ <span class="keywordflow">return</span> this->re; }</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
@@ -554,7 +645,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="../../da/d5a/class_complex.html">Complex</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>
|
||||
|
||||
@@ -9,9 +9,7 @@ var class_complex =
|
||||
[ "operator+", "da/d5a/class_complex.html#a820afcbb330df716577459d7a3aa3a1c", null ],
|
||||
[ "operator-", "da/d5a/class_complex.html#a36739619a07b5478bcd8a28ad2f8b7da", null ],
|
||||
[ "operator/", "da/d5a/class_complex.html#ac38437c10eb798f176c384a695171b90", null ],
|
||||
[ "operator=", "da/d5a/class_complex.html#a889215b7b004a3e7ec4d785ca5e7a2ba", null ],
|
||||
[ "operator=", "da/d5a/class_complex.html#a4ac9f529d54cacf2969f2c7179b4c4ac", null ],
|
||||
[ "operator~", "da/d5a/class_complex.html#a8d5427f6c42c15283031d73e1418c59d", null ],
|
||||
[ "real", "da/d5a/class_complex.html#a312e4b19146128408fb06e0150b0faf6", null ],
|
||||
[ "im", "da/d5a/class_complex.html#a776d595d5a1b576e9136cbc6bac0589c", null ],
|
||||
[ "re", "da/d5a/class_complex.html#a843ce2f85af4c57db9063c86f3cd9607", null ]
|
||||
[ "real", "da/d5a/class_complex.html#a312e4b19146128408fb06e0150b0faf6", null ]
|
||||
];
|
||||
@@ -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: Complex::Complex Pages: 1 -->
|
||||
<svg width="196pt" height="66pt"
|
||||
|
||||
|
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 2.4 KiB |
@@ -0,0 +1,5 @@
|
||||
<map id="Complex::operator=" name="Complex::operator=">
|
||||
<area shape="rect" id="node1" title="Operator overload of '=' on Complex class. Operator overload to be able to copy RHS instance of Compl..." alt="" coords="5,31,145,57"/>
|
||||
<area shape="rect" id="node2" href="$da/d5a/class_complex.html#af8aacf982e2e6c142921bc850f6dc974" title="Member function to get imaginary value of our complex number. Member function (getter) to access the ..." alt="" coords="193,5,304,32"/>
|
||||
<area shape="rect" id="node3" href="$da/d5a/class_complex.html#a312e4b19146128408fb06e0150b0faf6" title="Member function to get real value of our complex number. Member function (getter) to access the class..." alt="" coords="197,56,301,83"/>
|
||||
</map>
|
||||
@@ -0,0 +1 @@
|
||||
15014b120e142750d8be436cbc00ed47
|
||||
@@ -0,0 +1,52 @@
|
||||
<?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: Complex::operator= Pages: 1 -->
|
||||
<svg width="232pt" height="66pt"
|
||||
viewBox="0.00 0.00 232.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)">
|
||||
<title>Complex::operator=</title>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-62 228,-62 228,4 -4,4"/>
|
||||
<!-- Node1 -->
|
||||
<g id="node1" class="node">
|
||||
<title>Node1</title>
|
||||
<g id="a_node1"><a xlink:title="Operator overload of '=' on Complex class. Operator overload to be able to copy RHS instance of Compl...">
|
||||
<polygon fill="#bfbfbf" stroke="black" points="0,-19.5 0,-38.5 105,-38.5 105,-19.5 0,-19.5"/>
|
||||
<text text-anchor="middle" x="52.5" y="-26.5" font-family="Helvetica,sans-Serif" font-size="10.00">Complex::operator=</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node2 -->
|
||||
<g id="node2" class="node">
|
||||
<title>Node2</title>
|
||||
<g id="a_node2"><a xlink:href="../../da/d5a/class_complex.html#af8aacf982e2e6c142921bc850f6dc974" target="_top" xlink:title="Member function to get imaginary value of our complex number. Member function (getter) to access the ...">
|
||||
<polygon fill="white" stroke="black" points="141,-38.5 141,-57.5 224,-57.5 224,-38.5 141,-38.5"/>
|
||||
<text text-anchor="middle" x="182.5" y="-45.5" font-family="Helvetica,sans-Serif" font-size="10.00">Complex::imag</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node2 -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>Node1->Node2</title>
|
||||
<path fill="none" stroke="midnightblue" d="M105.19,-36.67C113.58,-37.92 122.26,-39.21 130.62,-40.45"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="130.23,-43.93 140.63,-41.93 131.26,-37 130.23,-43.93"/>
|
||||
</g>
|
||||
<!-- Node3 -->
|
||||
<g id="node3" class="node">
|
||||
<title>Node3</title>
|
||||
<g id="a_node3"><a xlink:href="../../da/d5a/class_complex.html#a312e4b19146128408fb06e0150b0faf6" target="_top" xlink:title="Member function to get real value of our complex number. Member function (getter) to access the class...">
|
||||
<polygon fill="white" stroke="black" points="143.5,-0.5 143.5,-19.5 221.5,-19.5 221.5,-0.5 143.5,-0.5"/>
|
||||
<text text-anchor="middle" x="182.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">Complex::real</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node3 -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>Node1->Node3</title>
|
||||
<path fill="none" stroke="midnightblue" d="M105.19,-21.33C114.47,-19.95 124.1,-18.52 133.28,-17.16"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="134.02,-20.59 143.39,-15.66 132.99,-13.66 134.02,-20.59"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.7 KiB |
@@ -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: Complex::operator/ Pages: 1 -->
|
||||
<svg width="334pt" height="123pt"
|
||||
|
||||
|
Before Width: | Height: | Size: 4.9 KiB After Width: | Height: | Size: 4.9 KiB |
@@ -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: Complex::arg Pages: 1 -->
|
||||
<svg width="180pt" height="28pt"
|
||||
|
||||
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
@@ -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: Complex::abs Pages: 1 -->
|
||||
<svg width="174pt" height="28pt"
|
||||
|
||||
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
@@ -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/non_recursive_merge_sort.cpp Pages: 1 -->
|
||||
<svg width="187pt" height="95pt"
|
||||
|
||||
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.9 KiB |
@@ -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::sublist_search::Node 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++
|
||||
 <span id="projectnumber">1.0.0</span>
|
||||
<div id="projectname">Algorithms_in_C++<span id="projectnumber"> 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&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "../../search",false,'Search','.html');
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&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&dn=gpl-2.0.txt GPL-v2 */
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&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&dn=gpl-2.0.txt GPL-v2 */
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||
$(document).ready(function(){initNavTree('da/d61/structsearch_1_1sublist__search_1_1_node.html','../../'); initResizable(); });
|
||||
/* @license-end */
|
||||
</script>
|
||||
@@ -93,8 +93,7 @@ $(document).ready(function(){initNavTree('da/d61/structsearch_1_1sublist__search
|
||||
<div class="summary">
|
||||
<a href="#pub-attribs">Public Attributes</a> |
|
||||
<a href="../../d3/d1f/structsearch_1_1sublist__search_1_1_node-members.html">List of all members</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">search::sublist_search::Node Struct Reference</div> </div>
|
||||
<div class="headertitle"><div class="title">search::sublist_search::Node Struct Reference</div></div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
@@ -107,19 +106,19 @@ Collaboration diagram for search::sublist_search::Node:</div>
|
||||
</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:a912ae0b339da401fc33ad21494c60e2b"><td class="memItemLeft" align="right" valign="top"><a id="a912ae0b339da401fc33ad21494c60e2b"></a>
|
||||
uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d61/structsearch_1_1sublist__search_1_1_node.html#a912ae0b339da401fc33ad21494c60e2b">data</a> = 0</td></tr>
|
||||
<tr class="memitem:a912ae0b339da401fc33ad21494c60e2b"><td class="memItemLeft" align="right" valign="top"><a id="a912ae0b339da401fc33ad21494c60e2b" name="a912ae0b339da401fc33ad21494c60e2b"></a>
|
||||
uint32_t </td><td class="memItemRight" valign="bottom"><b>data</b> = 0</td></tr>
|
||||
<tr class="memdesc:a912ae0b339da401fc33ad21494c60e2b"><td class="mdescLeft"> </td><td class="mdescRight">the key/value of the node <br /></td></tr>
|
||||
<tr class="separator:a912ae0b339da401fc33ad21494c60e2b"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:afe96e03dd6a404480ab43d1e88363a7a"><td class="memItemLeft" align="right" valign="top"><a id="afe96e03dd6a404480ab43d1e88363a7a"></a>
|
||||
<a class="el" href="../../da/d61/structsearch_1_1sublist__search_1_1_node.html">Node</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d61/structsearch_1_1sublist__search_1_1_node.html#afe96e03dd6a404480ab43d1e88363a7a">next</a> {}</td></tr>
|
||||
<tr class="memitem:afe96e03dd6a404480ab43d1e88363a7a"><td class="memItemLeft" align="right" valign="top"><a id="afe96e03dd6a404480ab43d1e88363a7a" name="afe96e03dd6a404480ab43d1e88363a7a"></a>
|
||||
<a class="el" href="../../da/d61/structsearch_1_1sublist__search_1_1_node.html">Node</a> * </td><td class="memItemRight" valign="bottom"><b>next</b> {}</td></tr>
|
||||
<tr class="memdesc:afe96e03dd6a404480ab43d1e88363a7a"><td class="mdescLeft"> </td><td class="mdescRight">pointer to the next node <br /></td></tr>
|
||||
<tr class="separator:afe96e03dd6a404480ab43d1e88363a7a"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p>A <a class="el" href="../../da/d61/structsearch_1_1sublist__search_1_1_node.html" title="A Node structure representing a single link Node in a linked list.">Node</a> structure representing a single link <a class="el" href="../../da/d61/structsearch_1_1sublist__search_1_1_node.html" title="A Node structure representing a single link Node in a linked list.">Node</a> in a linked list. </p>
|
||||
<div class="textblock"><p >A <a class="el" href="../../da/d61/structsearch_1_1sublist__search_1_1_node.html" title="A Node structure representing a single link Node in a linked list.">Node</a> structure representing a single link <a class="el" href="../../da/d61/structsearch_1_1sublist__search_1_1_node.html" title="A Node structure representing a single link Node in a linked list.">Node</a> in a linked list. </p>
|
||||
</div><hr/>The documentation for this struct was generated from the following file:<ul>
|
||||
<li>search/<a class="el" href="../../d5/d45/sublist__search_8cpp.html">sublist_search.cpp</a></li>
|
||||
</ul>
|
||||
@@ -129,7 +128,7 @@ uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="
|
||||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="../../d9/dca/namespacesearch.html">search</a></li><li class="navelem"><b>sublist_search</b></li><li class="navelem"><a class="el" href="../../da/d61/structsearch_1_1sublist__search_1_1_node.html">Node</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>
|
||||
|
||||
@@ -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++
|
||||
 <span id="projectnumber">1.0.0</span>
|
||||
<div id="projectname">Algorithms_in_C++<span id="projectnumber"> 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&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "../../search",false,'Search','.html');
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&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&dn=gpl-2.0.txt GPL-v2 */
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&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&dn=gpl-2.0.txt GPL-v2 */
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||
$(document).ready(function(){initNavTree('d8/d28/classrange__queries_1_1per_seg_tree.html','../../'); initResizable(); });
|
||||
/* @license-end */
|
||||
</script>
|
||||
@@ -90,31 +90,30 @@ $(document).ready(function(){initNavTree('d8/d28/classrange__queries_1_1per_seg_
|
||||
</div>
|
||||
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">range_queries::perSegTree Member List</div> </div>
|
||||
<div class="headertitle"><div class="title">range_queries::perSegTree Member List</div></div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>This is the complete list of members for <a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html">range_queries::perSegTree</a>, including all inherited members.</p>
|
||||
<table class="directory">
|
||||
<tr class="even"><td class="entry"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a67d8371bc998c67d53e8f64db4f52767">construct</a>(const uint32_t &i, const uint32_t &j)</td><td class="entry"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html">range_queries::perSegTree</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="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ac83bcabf5a8db8b0d8d156a4c1bcd4c3">construct</a>(const std::vector< int64_t > &vec)</td><td class="entry"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html">range_queries::perSegTree</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a6d3f2465a7c5803a1ff16c5378bcc5e4">construct</a>(const uint32_t &i, const uint32_t &j)</td><td class="entry"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html">range_queries::perSegTree</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="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ac83bcabf5a8db8b0d8d156a4c1bcd4c3">construct</a>(const std::vector< int64_t > &vec)</td><td class="entry"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html">range_queries::perSegTree</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ace7f57935b3bb9446f11c239fd89ae79">lazy</a>(const uint32_t &i, const uint32_t &j, std::shared_ptr< Node > const &curr)</td><td class="entry"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html">range_queries::perSegTree</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">private</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>n</b> (defined in <a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html">range_queries::perSegTree</a>)</td><td class="entry"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html">range_queries::perSegTree</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#acacb937f95a078a236a4a58f9630a045">newKid</a>(std::shared_ptr< Node > const &curr)</td><td class="entry"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html">range_queries::perSegTree</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="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a1eac9cf0613dfc8e2b0195009dd5c9d5">ptrs</a></td><td class="entry"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html">range_queries::perSegTree</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="../../d8/d28/classrange__queries_1_1per_seg_tree.html">range_queries::perSegTree</a>)</td><td class="entry"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html">range_queries::perSegTree</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a0cec4b77d264521717cf9b0482c45817">newKid</a>(std::shared_ptr< Node > const &curr)</td><td class="entry"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html">range_queries::perSegTree</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="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a1eac9cf0613dfc8e2b0195009dd5c9d5">ptrs</a></td><td class="entry"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html">range_queries::perSegTree</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ae8ae4b1835e5e8aec32f68c5059ed4d4">query</a>(const uint32_t &i, const uint32_t &j, const uint32_t &l, const uint32_t &r, std::shared_ptr< Node > const &curr)</td><td class="entry"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html">range_queries::perSegTree</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="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ad484002bcb701820d55f32ea5d525571">query</a>(const uint32_t &l, const uint32_t &r, const uint32_t &version)</td><td class="entry"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html">range_queries::perSegTree</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr class="odd"><td class="entry"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#ad484002bcb701820d55f32ea5d525571">query</a>(const uint32_t &l, const uint32_t &r, const uint32_t &version)</td><td class="entry"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html">range_queries::perSegTree</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a0fe4e431f3e09c274ecd7d2d58dcb865">size</a>()</td><td class="entry"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html">range_queries::perSegTree</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#af16c0c87b29119f066041d6e71ab50e0">update</a>(const uint32_t &i, const uint32_t &j, const uint32_t &l, const uint32_t &r, const int64_t &value, std::shared_ptr< Node > const &curr)</td><td class="entry"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html">range_queries::perSegTree</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="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a24487eda25123bc4d112e8430821a6c6">update</a>(const uint32_t &i, const uint32_t &j, const uint32_t &l, const uint32_t &r, const int64_t &value, std::shared_ptr< Node > const &curr)</td><td class="entry"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html">range_queries::perSegTree</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="../../d8/d28/classrange__queries_1_1per_seg_tree.html#af87494e6cf012d28c4f5b9d1c15f9c5d">update</a>(const uint32_t &l, const uint32_t &r, const int64_t &value)</td><td class="entry"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html">range_queries::perSegTree</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a8ff495d2f389b4aaa54449c26c6078f3">vec</a></td><td class="entry"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html">range_queries::perSegTree</a></td><td class="entry"><span class="mlabel">private</span></td></tr>
|
||||
<tr class="odd"><td class="entry"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html#a8ff495d2f389b4aaa54449c26c6078f3">vec</a></td><td class="entry"><a class="el" href="../../d8/d28/classrange__queries_1_1per_seg_tree.html">range_queries::perSegTree</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>
|
||||
|
||||
@@ -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++: operations_on_datastructures 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++
|
||||
 <span id="projectnumber">1.0.0</span>
|
||||
<div id="projectname">Algorithms_in_C++<span id="projectnumber"> 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&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "../../search",false,'Search','.html');
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&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&dn=gpl-2.0.txt GPL-v2 */
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&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&dn=gpl-2.0.txt GPL-v2 */
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||
$(document).ready(function(){initNavTree('da/d6d/namespaceoperations__on__datastructures.html','../../'); initResizable(); });
|
||||
/* @license-end */
|
||||
</script>
|
||||
@@ -90,27 +90,26 @@ $(document).ready(function(){initNavTree('da/d6d/namespaceoperations__on__datast
|
||||
</div>
|
||||
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">operations_on_datastructures Namespace Reference</div> </div>
|
||||
<div class="headertitle"><div class="title">operations_on_datastructures Namespace Reference</div></div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>for <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>
|
||||
<a href="../../da/d6d/namespaceoperations__on__datastructures.html#details">More...</a></p>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p>for <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a> </p>
|
||||
<p>for <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/priority_queue.html">std::priority_queue</a></p>
|
||||
<p>for assert for IO Operations</p>
|
||||
<p>Operations on data structures</p>
|
||||
<p>for <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/count.html">std::count</a> for assert for tolower for string operations for IO Operations</p>
|
||||
<p>Operations on data structures </p>
|
||||
<div class="textblock"><p >for <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a> </p>
|
||||
<p >for <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/priority_queue.html">std::priority_queue</a></p>
|
||||
<p >for assert for IO Operations</p>
|
||||
<p >Operations on data structures</p>
|
||||
<p >for <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/count.html">std::count</a> for assert for tolower for string operations for IO Operations</p>
|
||||
<p >Operations on data structures </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="../../da/d6d/namespaceoperations__on__datastructures.html">operations_on_datastructures</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>
|
||||
|
||||
@@ -3,12 +3,12 @@ var namespaceoperations__on__datastructures =
|
||||
[ "inorder_traversal_of_bst", null, [
|
||||
[ "Node", "d5/db5/classoperations__on__datastructures_1_1inorder__traversal__of__bst_1_1_node.html", "d5/db5/classoperations__on__datastructures_1_1inorder__traversal__of__bst_1_1_node" ],
|
||||
[ "deallocate", "d4/d32/inorder__successor__of__bst_8cpp.html#a7b20eb99272665c1777949e26ab59589", null ],
|
||||
[ "findMinNode", "d4/d32/inorder__successor__of__bst_8cpp.html#a25667588088eb647887d1c2bff0efa8c", null ],
|
||||
[ "getInorderSuccessor", "d4/d32/inorder__successor__of__bst_8cpp.html#a9aa3fac9aa48a6568ecf89aaee190d43", null ],
|
||||
[ "getNode", "d4/d32/inorder__successor__of__bst_8cpp.html#a744afaca22fa7bb91c92209a26f23e8f", null ],
|
||||
[ "Insert", "d4/d32/inorder__successor__of__bst_8cpp.html#a2153df6265379da9bda259af3f46556a", null ],
|
||||
[ "makeBST", "d4/d32/inorder__successor__of__bst_8cpp.html#ad0ca93be4f9576bfb715a4864a30dbee", null ],
|
||||
[ "makeNode", "d4/d32/inorder__successor__of__bst_8cpp.html#a4852816cc9f28f7b9def0e5beb4e8545", null ],
|
||||
[ "findMinNode", "d4/d32/inorder__successor__of__bst_8cpp.html#a72483e3f6933e004a8d86371e8a990db", null ],
|
||||
[ "getInorderSuccessor", "d4/d32/inorder__successor__of__bst_8cpp.html#a3923fb22b46e085376703cae0b44d690", null ],
|
||||
[ "getNode", "d4/d32/inorder__successor__of__bst_8cpp.html#a824cbf1814854824cf05f062eea07b95", null ],
|
||||
[ "Insert", "d4/d32/inorder__successor__of__bst_8cpp.html#a3ae0bea4123fd2ce155108e88f2ef78c", null ],
|
||||
[ "makeBST", "d4/d32/inorder__successor__of__bst_8cpp.html#a05fe8a029e155c43e4efa598d4d089d9", null ],
|
||||
[ "makeNode", "d4/d32/inorder__successor__of__bst_8cpp.html#a7f6f73a33beec448c27cc1d70b220702", null ],
|
||||
[ "printInorder", "d4/d32/inorder__successor__of__bst_8cpp.html#a5d7266b934ca50c4f53e4f1e725d89a4", null ]
|
||||
] ],
|
||||
[ "trie_operations", null, [
|
||||
|
||||
@@ -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++: machine_learning::aystar_search::AyStarSearch< Puzzle >::Info 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++
|
||||
 <span id="projectnumber">1.0.0</span>
|
||||
<div id="projectname">Algorithms_in_C++<span id="projectnumber"> 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&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "../../search",false,'Search','.html');
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&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&dn=gpl-2.0.txt GPL-v2 */
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&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&dn=gpl-2.0.txt GPL-v2 */
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||
$(document).ready(function(){initNavTree('da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html','../../'); initResizable(); });
|
||||
/* @license-end */
|
||||
</script>
|
||||
@@ -94,21 +94,14 @@ $(document).ready(function(){initNavTree('da/d70/structmachine__learning_1_1ayst
|
||||
<a href="#pub-methods">Public Member Functions</a> |
|
||||
<a href="#pub-attribs">Public Attributes</a> |
|
||||
<a href="../../dc/d5a/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info-members.html">List of all members</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">machine_learning::aystar_search::AyStarSearch< Puzzle >::Info Struct Reference</div> </div>
|
||||
<div class="headertitle"><div class="title">machine_learning::aystar_search::AyStarSearch< Puzzle >::Info Struct Reference</div></div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>Struct that handles all the information related to the current state.
|
||||
<a href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#details">More...</a></p>
|
||||
<div class="dynheader">
|
||||
Collaboration diagram for machine_learning::aystar_search::AyStarSearch< Puzzle >::Info:</div>
|
||||
<div class="dyncontent">
|
||||
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d6/d9e/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info__coll__graph.svg" width="184" height="156"><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:aaa7ea27346659f0abe2df82ca57fc5a7"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#aaa7ea27346659f0abe2df82ca57fc5a7">Info</a> ()=default</td></tr>
|
||||
<tr class="memdesc:aaa7ea27346659f0abe2df82ca57fc5a7"><td class="mdescLeft"> </td><td class="mdescRight">stores g score <a href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#aaa7ea27346659f0abe2df82ca57fc5a7">More...</a><br /></td></tr>
|
||||
@@ -125,38 +118,36 @@ Public Member Functions</h2></td></tr>
|
||||
<tr class="memitem:a6abc89925ae7055a63b428e61525ad7a"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#a6abc89925ae7055a63b428e61525ad7a">Info</a> (const <a class="el" href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html">Info</a> &&A) noexcept</td></tr>
|
||||
<tr class="memdesc:a6abc89925ae7055a63b428e61525ad7a"><td class="mdescLeft"> </td><td class="mdescRight">Move constructor. <a href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#a6abc89925ae7055a63b428e61525ad7a">More...</a><br /></td></tr>
|
||||
<tr class="separator:a6abc89925ae7055a63b428e61525ad7a"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a348ddd7679a5402af8dd173ced4a8c43"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html">Info</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#a348ddd7679a5402af8dd173ced4a8c43">operator=</a> (const <a class="el" href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html">Info</a> &A)</td></tr>
|
||||
<tr class="memdesc:a348ddd7679a5402af8dd173ced4a8c43"><td class="mdescLeft"> </td><td class="mdescRight">copy assignment operator <a href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#a348ddd7679a5402af8dd173ced4a8c43">More...</a><br /></td></tr>
|
||||
<tr class="separator:a348ddd7679a5402af8dd173ced4a8c43"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:aea763e487cf100668d4eff160e40c3fa"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html">Info</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#aea763e487cf100668d4eff160e40c3fa">operator=</a> (<a class="el" href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html">Info</a> &&A) noexcept</td></tr>
|
||||
<tr class="memdesc:aea763e487cf100668d4eff160e40c3fa"><td class="mdescLeft"> </td><td class="mdescRight">move assignment operator <a href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#aea763e487cf100668d4eff160e40c3fa">More...</a><br /></td></tr>
|
||||
<tr class="separator:aea763e487cf100668d4eff160e40c3fa"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:aa816af5a64b37c86be8acda89fdefba2"><td class="memItemLeft" align="right" valign="top"><a id="aa816af5a64b37c86be8acda89fdefba2"></a>
|
||||
 </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#aa816af5a64b37c86be8acda89fdefba2">~Info</a> ()=default</td></tr>
|
||||
<tr class="memitem:ac77d992953fa0de10a755e5a9aa06317"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html">Info</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#ac77d992953fa0de10a755e5a9aa06317">operator=</a> (const <a class="el" href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html">Info</a> &A)</td></tr>
|
||||
<tr class="memdesc:ac77d992953fa0de10a755e5a9aa06317"><td class="mdescLeft"> </td><td class="mdescRight">copy assignment operator <a href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#ac77d992953fa0de10a755e5a9aa06317">More...</a><br /></td></tr>
|
||||
<tr class="separator:ac77d992953fa0de10a755e5a9aa06317"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ad3993dbca9c5b3ef9ac361dc7f62ce57"><td class="memItemLeft" align="right" valign="top"><a class="el" href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html">Info</a> & </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#ad3993dbca9c5b3ef9ac361dc7f62ce57">operator=</a> (<a class="el" href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html">Info</a> &&A) noexcept</td></tr>
|
||||
<tr class="memdesc:ad3993dbca9c5b3ef9ac361dc7f62ce57"><td class="mdescLeft"> </td><td class="mdescRight">move assignment operator <a href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#ad3993dbca9c5b3ef9ac361dc7f62ce57">More...</a><br /></td></tr>
|
||||
<tr class="separator:ad3993dbca9c5b3ef9ac361dc7f62ce57"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:aa816af5a64b37c86be8acda89fdefba2"><td class="memItemLeft" align="right" valign="top"><a id="aa816af5a64b37c86be8acda89fdefba2" name="aa816af5a64b37c86be8acda89fdefba2"></a>
|
||||
 </td><td class="memItemRight" valign="bottom"><b>~Info</b> ()=default</td></tr>
|
||||
<tr class="memdesc:aa816af5a64b37c86be8acda89fdefba2"><td class="mdescLeft"> </td><td class="mdescRight">Destructor for <a class="el" href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html" title="Struct that handles all the information related to the current state.">Info</a>. <br /></td></tr>
|
||||
<tr class="separator:aa816af5a64b37c86be8acda89fdefba2"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><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:a94862762ad167506dcb0cdebf007d04c"><td class="memItemLeft" align="right" valign="top"><a id="a94862762ad167506dcb0cdebf007d04c"></a>
|
||||
<tr class="memitem:a94862762ad167506dcb0cdebf007d04c"><td class="memItemLeft" align="right" valign="top"><a id="a94862762ad167506dcb0cdebf007d04c" name="a94862762ad167506dcb0cdebf007d04c"></a>
|
||||
<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr</a>< Puzzle > </td><td class="memItemRight" valign="bottom"><b>state</b></td></tr>
|
||||
<tr class="separator:a94862762ad167506dcb0cdebf007d04c"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a331d1070d008a4f9d55775a51013baa3"><td class="memItemLeft" align="right" valign="top"><a id="a331d1070d008a4f9d55775a51013baa3"></a>
|
||||
size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#a331d1070d008a4f9d55775a51013baa3">heuristic_value</a> = 0</td></tr>
|
||||
<tr class="memitem:a331d1070d008a4f9d55775a51013baa3"><td class="memItemLeft" align="right" valign="top"><a id="a331d1070d008a4f9d55775a51013baa3" name="a331d1070d008a4f9d55775a51013baa3"></a>
|
||||
size_t </td><td class="memItemRight" valign="bottom"><b>heuristic_value</b> = 0</td></tr>
|
||||
<tr class="memdesc:a331d1070d008a4f9d55775a51013baa3"><td class="mdescLeft"> </td><td class="mdescRight">Holds the current state. <br /></td></tr>
|
||||
<tr class="separator:a331d1070d008a4f9d55775a51013baa3"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a003a30bb165be50ce503c17df90c128d"><td class="memItemLeft" align="right" valign="top"><a id="a003a30bb165be50ce503c17df90c128d"></a>
|
||||
size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#a003a30bb165be50ce503c17df90c128d">depth</a> = 0</td></tr>
|
||||
<tr class="memitem:a003a30bb165be50ce503c17df90c128d"><td class="memItemLeft" align="right" valign="top"><a id="a003a30bb165be50ce503c17df90c128d" name="a003a30bb165be50ce503c17df90c128d"></a>
|
||||
size_t </td><td class="memItemRight" valign="bottom"><b>depth</b> = 0</td></tr>
|
||||
<tr class="memdesc:a003a30bb165be50ce503c17df90c128d"><td class="mdescLeft"> </td><td class="mdescRight">stores h score <br /></td></tr>
|
||||
<tr class="separator:a003a30bb165be50ce503c17df90c128d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><h3>template<typename Puzzle><br />
|
||||
struct machine_learning::aystar_search::AyStarSearch< Puzzle >::Info</h3>
|
||||
|
||||
<p>Struct that handles all the information related to the current state. </p>
|
||||
<div class="textblock"><div class="compoundTemplParams">template<typename Puzzle><br />
|
||||
struct machine_learning::aystar_search::AyStarSearch< Puzzle >::Info</div><p >Struct that handles all the information related to the current state. </p>
|
||||
</div><h2 class="groupheader">Constructor & Destructor Documentation</h2>
|
||||
<a id="aaa7ea27346659f0abe2df82ca57fc5a7"></a>
|
||||
<a id="aaa7ea27346659f0abe2df82ca57fc5a7" name="aaa7ea27346659f0abe2df82ca57fc5a7"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#aaa7ea27346659f0abe2df82ca57fc5a7">◆ </a></span>Info() <span class="overload">[1/5]</span></h2>
|
||||
|
||||
<div class="memitem">
|
||||
@@ -182,11 +173,11 @@ template<typename Puzzle > </div>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>stores g score </p>
|
||||
<p>Default constructor </p>
|
||||
<p >Default constructor </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a695e4314ebc3ab58e13004dc63599fe8"></a>
|
||||
<a id="a695e4314ebc3ab58e13004dc63599fe8" name="a695e4314ebc3ab58e13004dc63599fe8"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a695e4314ebc3ab58e13004dc63599fe8">◆ </a></span>Info() <span class="overload">[2/5]</span></h2>
|
||||
|
||||
<div class="memitem">
|
||||
@@ -219,11 +210,11 @@ template<typename Puzzle > </div>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<div class="fragment"><div class="line"><a name="l00307"></a><span class="lineno"> 307</span> : state(std::make_shared<Puzzle>(A)) {}</div>
|
||||
<div class="fragment"><div class="line"><a id="l00307" name="l00307"></a><span class="lineno"> 307</span>: state(std::make_shared<Puzzle>(A)) {}</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="ad3950824936488f66408313b1f8a8ca8"></a>
|
||||
<a id="ad3950824936488f66408313b1f8a8ca8" name="ad3950824936488f66408313b1f8a8ca8"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ad3950824936488f66408313b1f8a8ca8">◆ </a></span>Info() <span class="overload">[3/5]</span></h2>
|
||||
|
||||
<div class="memitem">
|
||||
@@ -274,15 +265,15 @@ template<typename Puzzle > </div>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<div class="fragment"><div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  : state(std::make_shared<Puzzle>(A)),</div>
|
||||
<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  <a class="code" href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#a331d1070d008a4f9d55775a51013baa3">heuristic_value</a>(h_value),</div>
|
||||
<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  <a class="code" href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#a003a30bb165be50ce503c17df90c128d">depth</a>(d) {}</div>
|
||||
<div class="fragment"><div class="line"><a id="l00316" name="l00316"></a><span class="lineno"> 316</span> : state(std::make_shared<Puzzle>(A)),</div>
|
||||
<div class="line"><a id="l00317" name="l00317"></a><span class="lineno"> 317</span> <a class="code hl_variable" href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#a331d1070d008a4f9d55775a51013baa3">heuristic_value</a>(h_value),</div>
|
||||
<div class="line"><a id="l00318" name="l00318"></a><span class="lineno"> 318</span> <a class="code hl_variable" href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#a003a30bb165be50ce503c17df90c128d">depth</a>(d) {}</div>
|
||||
<div class="ttc" id="astructmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info_html_a003a30bb165be50ce503c17df90c128d"><div class="ttname"><a href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#a003a30bb165be50ce503c17df90c128d">machine_learning::aystar_search::AyStarSearch::Info::depth</a></div><div class="ttdeci">size_t depth</div><div class="ttdoc">stores h score</div><div class="ttdef"><b>Definition:</b> a_star_search.cpp:296</div></div>
|
||||
<div class="ttc" id="astructmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info_html_a331d1070d008a4f9d55775a51013baa3"><div class="ttname"><a href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#a331d1070d008a4f9d55775a51013baa3">machine_learning::aystar_search::AyStarSearch::Info::heuristic_value</a></div><div class="ttdeci">size_t heuristic_value</div><div class="ttdoc">Holds the current state.</div><div class="ttdef"><b>Definition:</b> a_star_search.cpp:295</div></div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="a572de12115e39e34dde6e68b707d59f5"></a>
|
||||
<a id="a572de12115e39e34dde6e68b707d59f5" name="a572de12115e39e34dde6e68b707d59f5"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a572de12115e39e34dde6e68b707d59f5">◆ </a></span>Info() <span class="overload">[4/5]</span></h2>
|
||||
|
||||
<div class="memitem">
|
||||
@@ -315,13 +306,13 @@ template<typename Puzzle > </div>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<div class="fragment"><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  : state(std::make_shared<Puzzle>(A.state)),</div>
|
||||
<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  <a class="code" href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#a331d1070d008a4f9d55775a51013baa3">heuristic_value</a>(A.heuristic_value),</div>
|
||||
<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  <a class="code" href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#a003a30bb165be50ce503c17df90c128d">depth</a>(A.depth) {}</div>
|
||||
<div class="fragment"><div class="line"><a id="l00325" name="l00325"></a><span class="lineno"> 325</span> : state(std::make_shared<Puzzle>(A.state)),</div>
|
||||
<div class="line"><a id="l00326" name="l00326"></a><span class="lineno"> 326</span> <a class="code hl_variable" href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#a331d1070d008a4f9d55775a51013baa3">heuristic_value</a>(A.heuristic_value),</div>
|
||||
<div class="line"><a id="l00327" name="l00327"></a><span class="lineno"> 327</span> <a class="code hl_variable" href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#a003a30bb165be50ce503c17df90c128d">depth</a>(A.depth) {}</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="a6abc89925ae7055a63b428e61525ad7a"></a>
|
||||
<a id="a6abc89925ae7055a63b428e61525ad7a" name="a6abc89925ae7055a63b428e61525ad7a"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a6abc89925ae7055a63b428e61525ad7a">◆ </a></span>Info() <span class="overload">[5/5]</span></h2>
|
||||
|
||||
<div class="memitem">
|
||||
@@ -354,16 +345,16 @@ template<typename Puzzle > </div>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<div class="fragment"><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  : state(std::make_shared<Puzzle>(<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/move.html">std::move</a>(A.state))),</div>
|
||||
<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  <a class="code" href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#a331d1070d008a4f9d55775a51013baa3">heuristic_value</a>(<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/move.html">std::move</a>(A.heuristic_value)),</div>
|
||||
<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  <a class="code" href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#a003a30bb165be50ce503c17df90c128d">depth</a>(<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/move.html">std::move</a>(A.depth)) {}</div>
|
||||
<div class="fragment"><div class="line"><a id="l00334" name="l00334"></a><span class="lineno"> 334</span> : state(std::make_shared<Puzzle>(<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/move.html">std::move</a>(A.state))),</div>
|
||||
<div class="line"><a id="l00335" name="l00335"></a><span class="lineno"> 335</span> <a class="code hl_variable" href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#a331d1070d008a4f9d55775a51013baa3">heuristic_value</a>(<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/move.html">std::move</a>(A.heuristic_value)),</div>
|
||||
<div class="line"><a id="l00336" name="l00336"></a><span class="lineno"> 336</span> <a class="code hl_variable" href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#a003a30bb165be50ce503c17df90c128d">depth</a>(<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/move.html">std::move</a>(A.depth)) {}</div>
|
||||
<div class="ttc" id="amove_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/utility/move.html">std::move</a></div><div class="ttdeci">T move(T... args)</div></div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<h2 class="groupheader">Member Function Documentation</h2>
|
||||
<a id="a348ddd7679a5402af8dd173ced4a8c43"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a348ddd7679a5402af8dd173ced4a8c43">◆ </a></span>operator=() <span class="overload">[1/2]</span></h2>
|
||||
<a id="ac77d992953fa0de10a755e5a9aa06317" name="ac77d992953fa0de10a755e5a9aa06317"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ac77d992953fa0de10a755e5a9aa06317">◆ </a></span>operator=() <span class="overload">[1/2]</span></h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
@@ -374,7 +365,7 @@ template<typename Puzzle > </div>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname"><a class="el" href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html">Info</a>& <a class="el" href="../../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html">machine_learning::aystar_search::AyStarSearch</a>< Puzzle >::Info::operator= </td>
|
||||
<td class="memname"><a class="el" href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html">Info</a> & <a class="el" href="../../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html">machine_learning::aystar_search::AyStarSearch</a>< Puzzle >::Info::operator= </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const <a class="el" href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html">Info</a> & </td>
|
||||
<td class="paramname"><em>A</em></td><td>)</td>
|
||||
@@ -395,17 +386,17 @@ template<typename Puzzle > </div>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<div class="fragment"><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  {</div>
|
||||
<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  state = A.state;</div>
|
||||
<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  <a class="code" href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#a331d1070d008a4f9d55775a51013baa3">heuristic_value</a> = A.heuristic_value;</div>
|
||||
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  <a class="code" href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#a003a30bb165be50ce503c17df90c128d">depth</a> = A.depth;</div>
|
||||
<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
|
||||
<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  }</div>
|
||||
<div class="fragment"><div class="line"><a id="l00342" name="l00342"></a><span class="lineno"> 342</span> {</div>
|
||||
<div class="line"><a id="l00343" name="l00343"></a><span class="lineno"> 343</span> state = A.state;</div>
|
||||
<div class="line"><a id="l00344" name="l00344"></a><span class="lineno"> 344</span> <a class="code hl_variable" href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#a331d1070d008a4f9d55775a51013baa3">heuristic_value</a> = A.heuristic_value;</div>
|
||||
<div class="line"><a id="l00345" name="l00345"></a><span class="lineno"> 345</span> <a class="code hl_variable" href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#a003a30bb165be50ce503c17df90c128d">depth</a> = A.depth;</div>
|
||||
<div class="line"><a id="l00346" name="l00346"></a><span class="lineno"> 346</span> <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
|
||||
<div class="line"><a id="l00347" name="l00347"></a><span class="lineno"> 347</span> }</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="aea763e487cf100668d4eff160e40c3fa"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#aea763e487cf100668d4eff160e40c3fa">◆ </a></span>operator=() <span class="overload">[2/2]</span></h2>
|
||||
<a id="ad3993dbca9c5b3ef9ac361dc7f62ce57" name="ad3993dbca9c5b3ef9ac361dc7f62ce57"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ad3993dbca9c5b3ef9ac361dc7f62ce57">◆ </a></span>operator=() <span class="overload">[2/2]</span></h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
@@ -416,7 +407,7 @@ template<typename Puzzle > </div>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname"><a class="el" href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html">Info</a>& <a class="el" href="../../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html">machine_learning::aystar_search::AyStarSearch</a>< Puzzle >::Info::operator= </td>
|
||||
<td class="memname"><a class="el" href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html">Info</a> & <a class="el" href="../../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html">machine_learning::aystar_search::AyStarSearch</a>< Puzzle >::Info::operator= </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"><a class="el" href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html">Info</a> && </td>
|
||||
<td class="paramname"><em>A</em></td><td>)</td>
|
||||
@@ -437,16 +428,16 @@ template<typename Puzzle > </div>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<div class="fragment"><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  {</div>
|
||||
<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  state = <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/move.html">std::move</a>(A.state);</div>
|
||||
<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  <a class="code" href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#a331d1070d008a4f9d55775a51013baa3">heuristic_value</a> = <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/move.html">std::move</a>(A.heuristic_value);</div>
|
||||
<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  <a class="code" href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#a003a30bb165be50ce503c17df90c128d">depth</a> = <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/move.html">std::move</a>(A.depth);</div>
|
||||
<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
|
||||
<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  }</div>
|
||||
<div class="fragment"><div class="line"><a id="l00353" name="l00353"></a><span class="lineno"> 353</span> {</div>
|
||||
<div class="line"><a id="l00354" name="l00354"></a><span class="lineno"> 354</span> state = <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/move.html">std::move</a>(A.state);</div>
|
||||
<div class="line"><a id="l00355" name="l00355"></a><span class="lineno"> 355</span> <a class="code hl_variable" href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#a331d1070d008a4f9d55775a51013baa3">heuristic_value</a> = <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/move.html">std::move</a>(A.heuristic_value);</div>
|
||||
<div class="line"><a id="l00356" name="l00356"></a><span class="lineno"> 356</span> <a class="code hl_variable" href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#a003a30bb165be50ce503c17df90c128d">depth</a> = <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/move.html">std::move</a>(A.depth);</div>
|
||||
<div class="line"><a id="l00357" name="l00357"></a><span class="lineno"> 357</span> <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
|
||||
<div class="line"><a id="l00358" name="l00358"></a><span class="lineno"> 358</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="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info_aea763e487cf100668d4eff160e40c3fa_cgraph.svg" width="310" height="67"><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="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info_ad3993dbca9c5b3ef9ac361dc7f62ce57_cgraph.svg" width="310" height="67"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -461,7 +452,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="../../d8/d77/namespacemachine__learning.html">machine_learning</a></li><li class="navelem"><b>aystar_search</b></li><li class="navelem"><a class="el" href="../../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html">AyStarSearch</a></li><li class="navelem"><a class="el" href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html">Info</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>
|
||||
|
||||
@@ -6,9 +6,8 @@ var structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info =
|
||||
[ "Info", "da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#a572de12115e39e34dde6e68b707d59f5", null ],
|
||||
[ "Info", "da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#a6abc89925ae7055a63b428e61525ad7a", null ],
|
||||
[ "~Info", "da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#aa816af5a64b37c86be8acda89fdefba2", null ],
|
||||
[ "operator=", "da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#a348ddd7679a5402af8dd173ced4a8c43", null ],
|
||||
[ "operator=", "da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#aea763e487cf100668d4eff160e40c3fa", null ],
|
||||
[ "operator=", "da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#ac77d992953fa0de10a755e5a9aa06317", null ],
|
||||
[ "operator=", "da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#ad3993dbca9c5b3ef9ac361dc7f62ce57", null ],
|
||||
[ "depth", "da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#a003a30bb165be50ce503c17df90c128d", null ],
|
||||
[ "heuristic_value", "da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#a331d1070d008a4f9d55775a51013baa3", null ],
|
||||
[ "state", "da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#a94862762ad167506dcb0cdebf007d04c", null ]
|
||||
[ "heuristic_value", "da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#a331d1070d008a4f9d55775a51013baa3", null ]
|
||||
];
|
||||
@@ -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: machine_learning::aystar_search::AyStarSearch::Info::operator= Pages: 1 -->
|
||||
<svg width="232pt" height="50pt"
|
||||
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.0 KiB |
@@ -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++
|
||||
 <span id="projectnumber">1.0.0</span>
|
||||
<div id="projectname">Algorithms_in_C++<span id="projectnumber"> 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&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "../../search",false,'Search','.html');
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&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&dn=gpl-2.0.txt GPL-v2 */
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&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&dn=gpl-2.0.txt GPL-v2 */
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||
$(document).ready(function(){initNavTree('d9/d23/classgraph_1_1_lowest_common_ancestor.html','../../'); initResizable(); });
|
||||
/* @license-end */
|
||||
</script>
|
||||
@@ -90,24 +90,23 @@ $(document).ready(function(){initNavTree('d9/d23/classgraph_1_1_lowest_common_an
|
||||
</div>
|
||||
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">graph::LowestCommonAncestor Member List</div> </div>
|
||||
<div class="headertitle"><div class="title">graph::LowestCommonAncestor Member List</div></div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>This is the complete list of members for <a class="el" href="../../d9/d23/classgraph_1_1_lowest_common_ancestor.html">graph::LowestCommonAncestor</a>, including all inherited members.</p>
|
||||
<table class="directory">
|
||||
<tr class="even"><td class="entry"><a class="el" href="../../d9/d23/classgraph_1_1_lowest_common_ancestor.html#a60151e19512b48cc0b14ea121df00488">lowest_common_ancestor</a>(int u, int v) const</td><td class="entry"><a class="el" href="../../d9/d23/classgraph_1_1_lowest_common_ancestor.html">graph::LowestCommonAncestor</a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="../../d9/d23/classgraph_1_1_lowest_common_ancestor.html#a80825a4fd4c41860b689d253dd2c8e93">LowestCommonAncestor</a>(const RootedTree &tree_)</td><td class="entry"><a class="el" href="../../d9/d23/classgraph_1_1_lowest_common_ancestor.html">graph::LowestCommonAncestor</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="../../d9/d23/classgraph_1_1_lowest_common_ancestor.html#a80825a4fd4c41860b689d253dd2c8e93">LowestCommonAncestor</a>(const RootedTree &tree_)</td><td class="entry"><a class="el" href="../../d9/d23/classgraph_1_1_lowest_common_ancestor.html">graph::LowestCommonAncestor</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="../../d9/d23/classgraph_1_1_lowest_common_ancestor.html#a42589cc39d6bbff6c997152f1b96e356">populate_up</a>()</td><td class="entry"><a class="el" href="../../d9/d23/classgraph_1_1_lowest_common_ancestor.html">graph::LowestCommonAncestor</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">protected</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0"><td class="entry"><b>tree</b> (defined in <a class="el" href="../../d9/d23/classgraph_1_1_lowest_common_ancestor.html">graph::LowestCommonAncestor</a>)</td><td class="entry"><a class="el" href="../../d9/d23/classgraph_1_1_lowest_common_ancestor.html">graph::LowestCommonAncestor</a></td><td class="entry"></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="odd"><td class="entry"><b>tree</b> (defined in <a class="el" href="../../d9/d23/classgraph_1_1_lowest_common_ancestor.html">graph::LowestCommonAncestor</a>)</td><td class="entry"><a class="el" href="../../d9/d23/classgraph_1_1_lowest_common_ancestor.html">graph::LowestCommonAncestor</a></td><td class="entry"></td></tr>
|
||||
<tr class="even"><td class="entry"><a class="el" href="../../d9/d23/classgraph_1_1_lowest_common_ancestor.html#a46d10f669791e3da9a4809bd8ff8d3ad">up</a></td><td class="entry"><a class="el" href="../../d9/d23/classgraph_1_1_lowest_common_ancestor.html">graph::LowestCommonAncestor</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>
|
||||
|
||||
@@ -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: graph/connected_components_with_dsu.cpp Pages: 1 -->
|
||||
<svg width="174pt" height="95pt"
|
||||
|
||||
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 3.0 KiB |
@@ -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/abbreviation.cpp Pages: 1 -->
|
||||
<svg width="252pt" height="95pt"
|
||||
|
||||
|
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.6 KiB |
@@ -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++: graphics/spirograph.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++
|
||||
 <span id="projectnumber">1.0.0</span>
|
||||
<div id="projectname">Algorithms_in_C++<span id="projectnumber"> 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&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "../../search",false,'Search','.html');
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&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&dn=gpl-2.0.txt GPL-v2 */
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&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&dn=gpl-2.0.txt GPL-v2 */
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||
$(document).ready(function(){initNavTree('da/d77/spirograph_8cpp.html','../../'); initResizable(); });
|
||||
/* @license-end */
|
||||
</script>
|
||||
@@ -94,12 +94,11 @@ $(document).ready(function(){initNavTree('da/d77/spirograph_8cpp.html','../../')
|
||||
<a href="#namespaces">Namespaces</a> |
|
||||
<a href="#define-members">Macros</a> |
|
||||
<a href="#func-members">Functions</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">spirograph.cpp File Reference</div> </div>
|
||||
<div class="headertitle"><div class="title">spirograph.cpp File Reference</div></div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>Implementation of <a href="https://en.wikipedia.org/wiki/Spirograph">Spirograph</a>
|
||||
<p>Implementation of <a href="https://en.wikipedia.org/wiki/Spirograph" target="_blank">Spirograph</a>
|
||||
<a href="#details">More...</a></p>
|
||||
<div class="textblock"><code>#include <array></code><br />
|
||||
<code>#include <cmath></code><br />
|
||||
@@ -116,35 +115,34 @@ Include dependency graph for spirograph.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:da/dd3/namespacespirograph"><td class="memItemLeft" align="right" valign="top">  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/dd3/namespacespirograph.html">spirograph</a></td></tr>
|
||||
<tr class="memitem:da/dd3/namespacespirograph"><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/dd3/namespacespirograph.html">spirograph</a></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </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:a525335710b53cb064ca56b936120431e"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d77/spirograph_8cpp.html#a525335710b53cb064ca56b936120431e">_USE_MATH_DEFINES</a></td></tr>
|
||||
<tr class="separator:a525335710b53cb064ca56b936120431e"><td class="memSeparator" colspan="2"> </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:aeca22dbe4563358960e907a40cd3e1ac"><td class="memTemplParams" colspan="2">template<std::size_t N> </td></tr>
|
||||
<tr class="memitem:aeca22dbe4563358960e907a40cd3e1ac"><td class="memTemplParams" colspan="2">template<<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/types/size_t.html">std::size_t</a> N> </td></tr>
|
||||
<tr class="memitem:aeca22dbe4563358960e907a40cd3e1ac"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../da/dd3/namespacespirograph.html#aeca22dbe4563358960e907a40cd3e1ac">spirograph::spirograph</a> (<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a>< <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair</a>< double, double >, N > *points, double l, double k, double rot)</td></tr>
|
||||
<tr class="separator:aeca22dbe4563358960e907a40cd3e1ac"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a8e83a64e8443fff1e5ffdc1c299c1e99"><td class="memItemLeft" align="right" valign="top"><a id="a8e83a64e8443fff1e5ffdc1c299c1e99"></a>
|
||||
void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/dd3/namespacespirograph.html#a8e83a64e8443fff1e5ffdc1c299c1e99">spirograph::test</a> ()</td></tr>
|
||||
<tr class="memdesc:a8e83a64e8443fff1e5ffdc1c299c1e99"><td class="mdescLeft"> </td><td class="mdescRight">Test function to save resulting points to a CSV file. <br /></td></tr>
|
||||
<tr class="memitem:a8e83a64e8443fff1e5ffdc1c299c1e99"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/dd3/namespacespirograph.html#a8e83a64e8443fff1e5ffdc1c299c1e99">spirograph::test</a> ()</td></tr>
|
||||
<tr class="memdesc:a8e83a64e8443fff1e5ffdc1c299c1e99"><td class="mdescLeft"> </td><td class="mdescRight">Test function to save resulting points to a CSV file. <a href="../../da/dd3/namespacespirograph.html#a8e83a64e8443fff1e5ffdc1c299c1e99">More...</a><br /></td></tr>
|
||||
<tr class="separator:a8e83a64e8443fff1e5ffdc1c299c1e99"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a3c04138a5bfe5d72780bb7e82a18e627"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d77/spirograph_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">main</a> (int argc, char **argv)</td></tr>
|
||||
<tr class="separator:a3c04138a5bfe5d72780bb7e82a18e627"><td class="memSeparator" colspan="2"> </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/Spirograph">Spirograph</a> </p>
|
||||
<dl class="section author"><dt>Author</dt><dd><a href="https://github.com/kvedala">Krishna Vedala</a></dd></dl>
|
||||
<div class="textblock"><p >Implementation of <a href="https://en.wikipedia.org/wiki/Spirograph" target="_blank">Spirograph</a> </p>
|
||||
<dl class="section author"><dt>Author</dt><dd><a href="https://github.com/kvedala" target="_blank">Krishna Vedala</a></dd></dl>
|
||||
<p>Implementation of the program is based on the geometry shown in the figure below:</p>
|
||||
<p><a href="https://commons.wikimedia.org/wiki/File:Resonance_Cascade.svg"><img src="https://upload.wikimedia.org/wikipedia/commons/3/39/Resonance_Cascade.svg" alt="Spirograph geometry from Wikipedia" style="pointer-events: none; width: 250px" class="inline"/></a> </p>
|
||||
<p ><a href="https://commons.wikimedia.org/wiki/File:Resonance_Cascade.svg"><img src="https://upload.wikimedia.org/wikipedia/commons/3/39/Resonance_Cascade.svg" alt="Spirograph geometry from Wikipedia" style="pointer-events: none; width: 250px" class="inline"/></a> </p>
|
||||
</div><h2 class="groupheader">Macro Definition Documentation</h2>
|
||||
<a id="a525335710b53cb064ca56b936120431e"></a>
|
||||
<a id="a525335710b53cb064ca56b936120431e" name="a525335710b53cb064ca56b936120431e"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a525335710b53cb064ca56b936120431e">◆ </a></span>_USE_MATH_DEFINES</h2>
|
||||
|
||||
<div class="memitem">
|
||||
@@ -155,12 +153,12 @@ void </td><td class="memItemRight" valign="bottom"><a class="el" href="../.
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>required for MSVC compiler </p>
|
||||
<p >required for MSVC compiler </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<h2 class="groupheader">Function Documentation</h2>
|
||||
<a id="a3c04138a5bfe5d72780bb7e82a18e627"></a>
|
||||
<a id="a3c04138a5bfe5d72780bb7e82a18e627" name="a3c04138a5bfe5d72780bb7e82a18e627"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a3c04138a5bfe5d72780bb7e82a18e627">◆ </a></span>main()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
@@ -185,24 +183,24 @@ void </td><td class="memItemRight" valign="bottom"><a class="el" href="../.
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Main function </p>
|
||||
<div class="fragment"><div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  {</div>
|
||||
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  <a class="code" href="../../da/dd3/namespacespirograph.html#a8e83a64e8443fff1e5ffdc1c299c1e99">spirograph::test</a>();</div>
|
||||
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  </div>
|
||||
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> <span class="preprocessor">#ifdef USE_GLUT</span></div>
|
||||
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  glutInit(&argc, argv);</div>
|
||||
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE);</div>
|
||||
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  glutCreateWindow(<span class="stringliteral">"Spirograph"</span>);</div>
|
||||
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>  glutInitWindowSize(400, 400);</div>
|
||||
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  <span class="comment">// glutIdleFunc(glutPostRedisplay);</span></div>
|
||||
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  glutTimerFunc(spirograph::animation_speed, spirograph::timer_cb, 0);</div>
|
||||
<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  glutKeyboardFunc(spirograph::keyboard_cb);</div>
|
||||
<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  glutDisplayFunc(<a class="code" href="../../d7/db9/hill__cipher_8cpp.html#a04391124480d2a49f2dec900237b0712">spirograph::test2</a>);</div>
|
||||
<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  glutMainLoop();</div>
|
||||
<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  </div>
|
||||
<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  <span class="keywordflow">return</span> 0;</div>
|
||||
<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> }</div>
|
||||
<p >Main function </p>
|
||||
<div class="fragment"><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> <a class="code hl_function" href="../../da/dd3/namespacespirograph.html#a8e83a64e8443fff1e5ffdc1c299c1e99">spirograph::test</a>();</div>
|
||||
<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"> 270</span> </div>
|
||||
<div class="line"><a id="l00271" name="l00271"></a><span class="lineno"> 271</span><span class="preprocessor">#ifdef USE_GLUT</span></div>
|
||||
<div class="line"><a id="l00272" name="l00272"></a><span class="lineno"> 272</span> glutInit(&argc, argv);</div>
|
||||
<div class="line"><a id="l00273" name="l00273"></a><span class="lineno"> 273</span> glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE);</div>
|
||||
<div class="line"><a id="l00274" name="l00274"></a><span class="lineno"> 274</span> glutCreateWindow(<span class="stringliteral">"Spirograph"</span>);</div>
|
||||
<div class="line"><a id="l00275" name="l00275"></a><span class="lineno"> 275</span> glutInitWindowSize(400, 400);</div>
|
||||
<div class="line"><a id="l00276" name="l00276"></a><span class="lineno"> 276</span> <span class="comment">// glutIdleFunc(glutPostRedisplay);</span></div>
|
||||
<div class="line"><a id="l00277" name="l00277"></a><span class="lineno"> 277</span> glutTimerFunc(spirograph::animation_speed, spirograph::timer_cb, 0);</div>
|
||||
<div class="line"><a id="l00278" name="l00278"></a><span class="lineno"> 278</span> glutKeyboardFunc(spirograph::keyboard_cb);</div>
|
||||
<div class="line"><a id="l00279" name="l00279"></a><span class="lineno"> 279</span> glutDisplayFunc(<a class="code hl_function" href="../../d7/db9/hill__cipher_8cpp.html#a04391124480d2a49f2dec900237b0712">spirograph::test2</a>);</div>
|
||||
<div class="line"><a id="l00280" name="l00280"></a><span class="lineno"> 280</span> glutMainLoop();</div>
|
||||
<div class="line"><a id="l00281" name="l00281"></a><span class="lineno"> 281</span><span class="preprocessor">#endif</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="ahill__cipher_8cpp_html_a04391124480d2a49f2dec900237b0712"><div class="ttname"><a href="../../d7/db9/hill__cipher_8cpp.html#a04391124480d2a49f2dec900237b0712">test2</a></div><div class="ttdeci">void test2(const std::string &text)</div><div class="ttdoc">Self test 2 - using 8x8 randomly generated key.</div><div class="ttdef"><b>Definition:</b> hill_cipher.cpp:505</div></div>
|
||||
<div class="ttc" id="anamespacespirograph_html_a8e83a64e8443fff1e5ffdc1c299c1e99"><div class="ttname"><a href="../../da/dd3/namespacespirograph.html#a8e83a64e8443fff1e5ffdc1c299c1e99">spirograph::test</a></div><div class="ttdeci">void test()</div><div class="ttdoc">Test function to save resulting points to a CSV file.</div><div class="ttdef"><b>Definition:</b> spirograph.cpp:93</div></div>
|
||||
</div><!-- fragment --><div class="dynheader">
|
||||
@@ -220,7 +218,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_e79632891301b850df87e9c0030293fa.html">graphics</a></li><li class="navelem"><a class="el" href="../../da/d77/spirograph_8cpp.html">spirograph.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>
|
||||
|
||||
@@ -15,9 +15,9 @@
|
||||
<area shape="rect" id="node18" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/size.html#" title=" " alt="" coords="827,391,941,417"/>
|
||||
<area shape="rect" id="node19" href="$d6/d26/classciphers_1_1_hill_cipher.html#aa8bbb6e4a5749f6008b06602d5103917" title="Encrypt a given text using a given key." alt="" coords="278,375,409,417"/>
|
||||
<area shape="rect" id="node20" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/io/manip/endl.html#" title=" " alt="" coords="307,543,379,569"/>
|
||||
<area shape="rect" id="node21" href="$d6/d26/classciphers_1_1_hill_cipher.html#a14bfcd14af6cd853130cbacd32e35c13" title="Generate encryption and decryption key pair." alt="" coords="278,594,409,635"/>
|
||||
<area shape="rect" id="node21" href="$d6/d26/classciphers_1_1_hill_cipher.html#a405b0a28d66a61239d3565d5256f9cb5" title="Generate encryption and decryption key pair." alt="" coords="278,594,409,635"/>
|
||||
<area shape="rect" id="node13" href="$d6/d26/classciphers_1_1_hill_cipher.html#ad667fa0860977f6d6d443fa1dbcd80aa" title="Convenience function to perform block cipher operations. The operations are identical for both encryp..." alt="" coords="469,350,600,391"/>
|
||||
<area shape="rect" id="node14" href="$d6/d26/classciphers_1_1_hill_cipher.html#ae77cad522fa44b8c985779a7188d2f41" title="Get the index of a character in the STRKEY." alt="" coords="648,259,779,301"/>
|
||||
<area shape="rect" id="node17" href="$d6/d26/classciphers_1_1_hill_cipher.html#a40efd842a5cc44c233641ac2df13b0c0" title="helper function to perform vector multiplication with encryption or decryption matrix" alt="" coords="648,325,779,366"/>
|
||||
<area shape="rect" id="node17" href="$d6/d26/classciphers_1_1_hill_cipher.html#ad36cbcc7a458b3f3a2af0c4aa1126590" title="helper function to perform vector multiplication with encryption or decryption matrix" alt="" coords="648,325,779,366"/>
|
||||
<area shape="rect" id="node15" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/string/byte/strlen.html#" title=" " alt="" coords="844,300,924,327"/>
|
||||
</map>
|
||||
|
||||
@@ -1 +1 @@
|
||||
8e4166de13a8638b22025d6fbb1e81f1
|
||||
e75e85332ca9412b3dcdd122146119f2
|
||||
@@ -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 481 -->
|
||||
@@ -246,7 +246,7 @@ var sectionId = 'dynsection-1';
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node10->Node16 -->
|
||||
<g id="edge25" class="edge">
|
||||
<g id="edge26" class="edge">
|
||||
<title>Node10->Node16</title>
|
||||
<path fill="none" stroke="midnightblue" d="M135.64,-172.19C151.13,-166.3 174.15,-158.39 195,-154.5 291.89,-136.43 407.04,-133.95 473.99,-134.34"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="474.29,-137.84 484.31,-134.43 474.34,-130.84 474.29,-137.84"/>
|
||||
@@ -261,7 +261,7 @@ var sectionId = 'dynsection-1';
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node10->Node18 -->
|
||||
<g id="edge26" class="edge">
|
||||
<g id="edge25" class="edge">
|
||||
<title>Node10->Node18</title>
|
||||
<path fill="none" stroke="midnightblue" d="M130.42,-169.98C145.19,-159.68 170.51,-143.76 195,-136.5 359.28,-87.82 417.12,-63.33 580,-116.5 604.22,-124.4 627.15,-142.99 641.8,-156.8"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="639.45,-159.4 649.05,-163.89 644.34,-154.39 639.45,-159.4"/>
|
||||
@@ -300,7 +300,7 @@ var sectionId = 'dynsection-1';
|
||||
<!-- Node21 -->
|
||||
<g id="node21" class="node">
|
||||
<title>Node21</title>
|
||||
<g id="a_node21"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#a14bfcd14af6cd853130cbacd32e35c13" target="_top" xlink:title="Generate encryption and decryption key pair.">
|
||||
<g id="a_node21"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#a405b0a28d66a61239d3565d5256f9cb5" target="_top" xlink:title="Generate encryption and decryption key pair.">
|
||||
<polygon fill="white" stroke="black" points="204.5,-0.5 204.5,-30.5 302.5,-30.5 302.5,-0.5 204.5,-0.5"/>
|
||||
<text text-anchor="start" x="212.5" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
|
||||
<text text-anchor="middle" x="253.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">::generate_keys</text>
|
||||
@@ -354,7 +354,7 @@ var sectionId = 'dynsection-1';
|
||||
<!-- Node17 -->
|
||||
<g id="node17" class="node">
|
||||
<title>Node17</title>
|
||||
<g id="a_node17"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#a40efd842a5cc44c233641ac2df13b0c0" target="_top" xlink:title="helper function to perform vector multiplication with encryption or decryption matrix">
|
||||
<g id="a_node17"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#ad36cbcc7a458b3f3a2af0c4aa1126590" target="_top" xlink:title="helper function to perform vector multiplication with encryption or decryption matrix">
|
||||
<polygon fill="white" stroke="black" points="482,-202.5 482,-232.5 580,-232.5 580,-202.5 482,-202.5"/>
|
||||
<text text-anchor="start" x="490" y="-220.5" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
|
||||
<text text-anchor="middle" x="531" y="-209.5" font-family="Helvetica,sans-Serif" font-size="10.00">::mat_mul</text>
|
||||
|
||||
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
@@ -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="710pt" height="481pt"
|
||||
@@ -200,7 +200,7 @@
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node10->Node16 -->
|
||||
<g id="edge25" class="edge">
|
||||
<g id="edge26" class="edge">
|
||||
<title>Node10->Node16</title>
|
||||
<path fill="none" stroke="midnightblue" d="M135.64,-172.19C151.13,-166.3 174.15,-158.39 195,-154.5 291.89,-136.43 407.04,-133.95 473.99,-134.34"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="474.29,-137.84 484.31,-134.43 474.34,-130.84 474.29,-137.84"/>
|
||||
@@ -215,7 +215,7 @@
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node10->Node18 -->
|
||||
<g id="edge26" class="edge">
|
||||
<g id="edge25" class="edge">
|
||||
<title>Node10->Node18</title>
|
||||
<path fill="none" stroke="midnightblue" d="M130.42,-169.98C145.19,-159.68 170.51,-143.76 195,-136.5 359.28,-87.82 417.12,-63.33 580,-116.5 604.22,-124.4 627.15,-142.99 641.8,-156.8"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="639.45,-159.4 649.05,-163.89 644.34,-154.39 639.45,-159.4"/>
|
||||
@@ -254,7 +254,7 @@
|
||||
<!-- Node21 -->
|
||||
<g id="node21" class="node">
|
||||
<title>Node21</title>
|
||||
<g id="a_node21"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#a14bfcd14af6cd853130cbacd32e35c13" target="_top" xlink:title="Generate encryption and decryption key pair.">
|
||||
<g id="a_node21"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#a405b0a28d66a61239d3565d5256f9cb5" target="_top" xlink:title="Generate encryption and decryption key pair.">
|
||||
<polygon fill="white" stroke="black" points="204.5,-0.5 204.5,-30.5 302.5,-30.5 302.5,-0.5 204.5,-0.5"/>
|
||||
<text text-anchor="start" x="212.5" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
|
||||
<text text-anchor="middle" x="253.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">::generate_keys</text>
|
||||
@@ -308,7 +308,7 @@
|
||||
<!-- Node17 -->
|
||||
<g id="node17" class="node">
|
||||
<title>Node17</title>
|
||||
<g id="a_node17"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#a40efd842a5cc44c233641ac2df13b0c0" target="_top" xlink:title="helper function to perform vector multiplication with encryption or decryption matrix">
|
||||
<g id="a_node17"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#ad36cbcc7a458b3f3a2af0c4aa1126590" target="_top" xlink:title="helper function to perform vector multiplication with encryption or decryption matrix">
|
||||
<polygon fill="white" stroke="black" points="482,-202.5 482,-232.5 580,-232.5 580,-202.5 482,-202.5"/>
|
||||
<text text-anchor="start" x="490" y="-220.5" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
|
||||
<text text-anchor="middle" x="531" y="-209.5" font-family="Helvetica,sans-Serif" font-size="10.00">::mat_mul</text>
|
||||
|
||||
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
@@ -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/primality_test.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++
|
||||
 <span id="projectnumber">1.0.0</span>
|
||||
<div id="projectname">Algorithms_in_C++<span id="projectnumber"> 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&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "../../search",false,'Search','.html');
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&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&dn=gpl-2.0.txt GPL-v2 */
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&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&dn=gpl-2.0.txt GPL-v2 */
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||
$(document).ready(function(){initNavTree('da/d7b/primality__test_8cpp.html','../../'); initResizable(); });
|
||||
/* @license-end */
|
||||
</script>
|
||||
@@ -92,12 +92,11 @@ $(document).ready(function(){initNavTree('da/d7b/primality__test_8cpp.html','../
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#func-members">Functions</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">primality_test.cpp File Reference</div> </div>
|
||||
<div class="headertitle"><div class="title">primality_test.cpp File Reference</div></div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p><a href="https://en.wikipedia.org/wiki/Primality_test">Primality test</a> implementation.
|
||||
<p><a href="https://en.wikipedia.org/wiki/Primality_test" target="_blank">Primality test</a> implementation.
|
||||
<a href="#details">More...</a></p>
|
||||
<div class="textblock"><code>#include <iostream></code><br />
|
||||
</div><div class="textblock"><div class="dynheader">
|
||||
@@ -107,7 +106,7 @@ Include dependency graph for primality_test.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:a2bfa6adead2bdcbf1dac94cbe08d7eaf"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d7b/primality__test_8cpp.html#a2bfa6adead2bdcbf1dac94cbe08d7eaf">IsPrime</a> (int number)</td></tr>
|
||||
<tr class="separator:a2bfa6adead2bdcbf1dac94cbe08d7eaf"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
@@ -115,13 +114,13 @@ Functions</h2></td></tr>
|
||||
<tr class="separator:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="memSeparator" colspan="2"> </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/Primality_test">Primality test</a> implementation. </p>
|
||||
<p>A simple and efficient implementation of a function to test if a number is prime, based on the fact that </p><blockquote class="doxtable">
|
||||
<p>Every Prime number, except 2 and 3, are of the form \(6k\pm1\) for integer values of k. </p>
|
||||
<div class="textblock"><p ><a href="https://en.wikipedia.org/wiki/Primality_test" target="_blank">Primality test</a> implementation. </p>
|
||||
<p >A simple and efficient implementation of a function to test if a number is prime, based on the fact that </p><blockquote class="doxtable">
|
||||
<p >Every Prime number, except 2 and 3, are of the form \(6k\pm1\) for integer values of k. </p>
|
||||
</blockquote>
|
||||
<p>This gives a 3x speed improvement. </p>
|
||||
</div><h2 class="groupheader">Function Documentation</h2>
|
||||
<a id="a2bfa6adead2bdcbf1dac94cbe08d7eaf"></a>
|
||||
<a id="a2bfa6adead2bdcbf1dac94cbe08d7eaf" name="a2bfa6adead2bdcbf1dac94cbe08d7eaf"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a2bfa6adead2bdcbf1dac94cbe08d7eaf">◆ </a></span>IsPrime()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
@@ -136,28 +135,28 @@ Functions</h2></td></tr>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Check if a number is prime </p><dl class="params"><dt>Parameters</dt><dd>
|
||||
<p >Check if a number is prime </p><dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramdir">[in]</td><td class="paramname">number</td><td>number to check </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>true if prime else false </dd></dl>
|
||||
<div class="fragment"><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>  {</div>
|
||||
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>  <span class="keywordflow">if</span> (((!(number & 1)) && number != 2) || (number < 2) ||</div>
|
||||
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>  (number % 3 == 0 && number != 3))</div>
|
||||
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>  </div>
|
||||
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> k = 1; 36 * k * k - 12 * k < number; ++k) {</div>
|
||||
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>  <span class="keywordflow">if</span> ((number % (6 * k + 1) == 0) || (number % (6 * k - 1) == 0))</div>
|
||||
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>  }</div>
|
||||
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
|
||||
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> }</div>
|
||||
<div class="fragment"><div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span> {</div>
|
||||
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> <span class="keywordflow">if</span> (((!(number & 1)) && number != 2) || (number < 2) ||</div>
|
||||
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span> (number % 3 == 0 && number != 3))</div>
|
||||
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> </div>
|
||||
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> k = 1; 36 * k * k - 12 * k < number; ++k) {</div>
|
||||
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span> <span class="keywordflow">if</span> ((number % (6 * k + 1) == 0) || (number % (6 * k - 1) == 0))</div>
|
||||
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span> <span class="keywordflow">return</span> <span class="keyword">false</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="keywordflow">return</span> <span class="keyword">true</span>;</div>
|
||||
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span>}</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="ae66f6b31b5ad750f1fe042a706a4e3d4"></a>
|
||||
<a id="ae66f6b31b5ad750f1fe042a706a4e3d4" name="ae66f6b31b5ad750f1fe042a706a4e3d4"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ae66f6b31b5ad750f1fe042a706a4e3d4">◆ </a></span>main()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
@@ -172,19 +171,19 @@ Functions</h2></td></tr>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>main function </p>
|
||||
<div class="fragment"><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>  {</div>
|
||||
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>  <span class="comment">// Main Function</span></div>
|
||||
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Enter the value of n to check if Prime\n"</span>;</div>
|
||||
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  <span class="keywordtype">int</span> n;</div>
|
||||
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> >> n;</div>
|
||||
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  <span class="keywordflow">if</span> (<a class="code" href="../../da/d7b/primality__test_8cpp.html#a2bfa6adead2bdcbf1dac94cbe08d7eaf">IsPrime</a>(n))</div>
|
||||
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << n << <span class="stringliteral">" is Prime"</span> << <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="l00038"></a><span class="lineno"> 38</span>  <span class="keywordflow">else</span></div>
|
||||
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << n << <span class="stringliteral">" is not Prime"</span> << <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="l00040"></a><span class="lineno"> 40</span>  </div>
|
||||
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  <span class="keywordflow">return</span> 0;</div>
|
||||
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span> }</div>
|
||||
<p >main function </p>
|
||||
<div class="fragment"><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="comment">// Main Function</span></div>
|
||||
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Enter the value of n to check if Prime\n"</span>;</div>
|
||||
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> <span class="keywordtype">int</span> n;</div>
|
||||
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> >> n;</div>
|
||||
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> <span class="keywordflow">if</span> (<a class="code hl_function" href="../../da/d7b/primality__test_8cpp.html#a2bfa6adead2bdcbf1dac94cbe08d7eaf">IsPrime</a>(n))</div>
|
||||
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << n << <span class="stringliteral">" is Prime"</span> << <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="l00038" name="l00038"></a><span class="lineno"> 38</span> <span class="keywordflow">else</span></div>
|
||||
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << n << <span class="stringliteral">" is not Prime"</span> << <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="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">return</span> 0;</div>
|
||||
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</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="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>
|
||||
@@ -204,7 +203,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="../../da/d7b/primality__test_8cpp.html">primality_test.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>
|
||||
|
||||
@@ -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="136pt" height="66pt"
|
||||
|
||||
|
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.3 KiB |
@@ -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++: cycle_detection 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++
|
||||
 <span id="projectnumber">1.0.0</span>
|
||||
<div id="projectname">Algorithms_in_C++<span id="projectnumber"> 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&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "../../search",false,'Search','.html');
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&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&dn=gpl-2.0.txt GPL-v2 */
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&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&dn=gpl-2.0.txt GPL-v2 */
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||
$(document).ready(function(){initNavTree('da/d82/namespacecycle__detection.html','../../'); initResizable(); });
|
||||
/* @license-end */
|
||||
</script>
|
||||
@@ -90,22 +90,21 @@ $(document).ready(function(){initNavTree('da/d82/namespacecycle__detection.html'
|
||||
</div>
|
||||
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">cycle_detection Namespace Reference</div> </div>
|
||||
<div class="headertitle"><div class="title">cycle_detection Namespace Reference</div></div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>Functions for the <a href="https://en.wikipedia.org/wiki/Cycle_detection">Floyd's Cycle Detection</a> algorithm.
|
||||
<p>Functions for the <a href="https://en.wikipedia.org/wiki/Cycle_detection" target="_blank">Floyd's Cycle Detection</a> algorithm.
|
||||
<a href="../../da/d82/namespacecycle__detection.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/Cycle_detection">Floyd's Cycle Detection</a> algorithm. </p>
|
||||
<div class="textblock"><p >Functions for the <a href="https://en.wikipedia.org/wiki/Cycle_detection" target="_blank">Floyd's Cycle Detection</a> 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="../../da/d82/namespacecycle__detection.html">cycle_detection</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>
|
||||
|
||||
@@ -1,7 +1,4 @@
|
||||
<map id="data_structures::tree_234::Tree234" name="data_structures::tree_234::Tree234">
|
||||
<area shape="rect" id="node1" title="2-3-4 tree class" alt="" coords="5,288,149,329"/>
|
||||
<area shape="rect" id="node2" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html" title="2-3-4 tree node class" alt="" coords="103,184,247,225"/>
|
||||
<area shape="rect" id="node3" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/array.html" title=" " alt="" coords="173,288,355,329"/>
|
||||
<area shape="rect" id="node4" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/array.html" title=" " alt="" coords="97,95,253,121"/>
|
||||
<area shape="rect" id="node5" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/types/integer.html" title=" " alt="" coords="131,5,218,32"/>
|
||||
<area shape="rect" id="node1" title="2-3-4 tree class" alt="" coords="5,109,149,151"/>
|
||||
<area shape="rect" id="node2" href="$dd/d40/classdata__structures_1_1tree__234_1_1_node.html" title="2-3-4 tree node class" alt="" coords="5,5,149,47"/>
|
||||
</map>
|
||||
|
||||
@@ -1 +1 @@
|
||||
1f0494a1a27058d43e328636e0d39c99
|
||||
1179dc3b7d9bb411c04fd64bb4014160
|
||||
@@ -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: data_structures::tree_234::Tree234 Pages: 1 -->
|
||||
<svg width="270pt" height="251pt"
|
||||
viewBox="0.00 0.00 270.00 251.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 247)">
|
||||
<svg width="116pt" height="117pt"
|
||||
viewBox="0.00 0.00 116.00 117.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 113)">
|
||||
<title>data_structures::tree_234::Tree234</title>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-247 266,-247 266,4 -4,4"/>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-113 112,-113 112,4 -4,4"/>
|
||||
<!-- Node1 -->
|
||||
<g id="node1" class="node">
|
||||
<title>Node1</title>
|
||||
@@ -23,74 +23,18 @@
|
||||
<g id="node2" class="node">
|
||||
<title>Node2</title>
|
||||
<g id="a_node2"><a xlink:href="../../dd/d40/classdata__structures_1_1tree__234_1_1_node.html" target="_top" xlink:title="2-3-4 tree node class">
|
||||
<polygon fill="white" stroke="black" points="73,-78.5 73,-108.5 181,-108.5 181,-78.5 73,-78.5"/>
|
||||
<text text-anchor="start" x="81" y="-96.5" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
|
||||
<text text-anchor="middle" x="127" y="-85.5" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node</text>
|
||||
<polygon fill="white" stroke="black" points="0,-78.5 0,-108.5 108,-108.5 108,-78.5 0,-78.5"/>
|
||||
<text text-anchor="start" x="8" y="-96.5" font-family="Helvetica,sans-Serif" font-size="10.00">data_structures::tree</text>
|
||||
<text text-anchor="middle" x="54" y="-85.5" font-family="Helvetica,sans-Serif" font-size="10.00">_234::Node</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node2->Node1 -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>Node2->Node1</title>
|
||||
<path fill="none" stroke="#9a32cd" stroke-dasharray="5,2" d="M102.84,-71.49C98.8,-67.75 94.72,-63.83 91,-60 81.88,-50.61 72.33,-39.34 65.22,-30.62"/>
|
||||
<polygon fill="#9a32cd" stroke="#9a32cd" points="100.69,-74.26 110.45,-78.38 105.38,-69.07 100.69,-74.26"/>
|
||||
<text text-anchor="middle" x="104" y="-52" font-family="Helvetica,sans-Serif" font-size="10.00"> root_</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/array.html" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="126,-0.5 126,-30.5 262,-30.5 262,-0.5 126,-0.5"/>
|
||||
<text text-anchor="start" x="134" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::array< data_structures</text>
|
||||
<text text-anchor="middle" x="194" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">::tree_234::Node *, 4 ></text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node2->Node3 -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>Node2->Node3</title>
|
||||
<path fill="none" stroke="#9a32cd" stroke-dasharray="5,2" d="M120.19,-68.13C119.65,-61.5 120.42,-54.61 124,-49 129.05,-41.09 136.57,-35.08 144.83,-30.52"/>
|
||||
<polygon fill="#9a32cd" stroke="#9a32cd" points="116.76,-68.83 121.89,-78.1 123.66,-67.66 116.76,-68.83"/>
|
||||
<text text-anchor="middle" x="146" y="-52" font-family="Helvetica,sans-Serif" font-size="10.00"> elements</text>
|
||||
</g>
|
||||
<!-- Node3->Node2 -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>Node3->Node2</title>
|
||||
<path fill="none" stroke="#9a32cd" stroke-dasharray="5,2" d="M184.49,-40.34C181.14,-47.11 176.95,-54.21 172,-60 166.12,-66.89 158.49,-73.1 151.19,-78.2"/>
|
||||
<polygon fill="#9a32cd" stroke="#9a32cd" points="187.85,-41.4 188.79,-30.85 181.47,-38.51 187.85,-41.4"/>
|
||||
<text text-anchor="middle" x="198" y="-52" font-family="Helvetica,sans-Serif" font-size="10.00"> children</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/array.html" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="68.5,-156.5 68.5,-175.5 185.5,-175.5 185.5,-156.5 68.5,-156.5"/>
|
||||
<text text-anchor="middle" x="127" y="-163.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::array< int64_t, 3 ></text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node4->Node2 -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>Node4->Node2</title>
|
||||
<path fill="none" stroke="#9a32cd" stroke-dasharray="5,2" d="M127,-146.24C127,-134.41 127,-119.38 127,-108.58"/>
|
||||
<polygon fill="#9a32cd" stroke="#9a32cd" points="123.5,-146.36 127,-156.36 130.5,-146.36 123.5,-146.36"/>
|
||||
<text text-anchor="middle" x="140.5" y="-130" font-family="Helvetica,sans-Serif" font-size="10.00"> items</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/types/integer.html" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="94.5,-223.5 94.5,-242.5 159.5,-242.5 159.5,-223.5 94.5,-223.5"/>
|
||||
<text text-anchor="middle" x="127" y="-230.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::int64_t</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node5->Node4 -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>Node5->Node4</title>
|
||||
<path fill="none" stroke="#9a32cd" stroke-dasharray="5,2" d="M127,-213.04C127,-200.67 127,-185.12 127,-175.63"/>
|
||||
<polygon fill="#9a32cd" stroke="#9a32cd" points="123.5,-213.23 127,-223.23 130.5,-213.23 123.5,-213.23"/>
|
||||
<text text-anchor="middle" x="149" y="-197" font-family="Helvetica,sans-Serif" font-size="10.00"> elements</text>
|
||||
<path fill="none" stroke="#9a32cd" stroke-dasharray="5,2" d="M54,-68.09C54,-55.76 54,-41.22 54,-30.73"/>
|
||||
<polygon fill="#9a32cd" stroke="#9a32cd" points="50.5,-68.2 54,-78.2 57.5,-68.21 50.5,-68.2"/>
|
||||
<text text-anchor="middle" x="67" y="-52" font-family="Helvetica,sans-Serif" font-size="10.00"> root_</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 5.3 KiB After Width: | Height: | Size: 2.0 KiB |
@@ -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/paranthesis_matching.cpp Pages: 1 -->
|
||||
<svg width="128pt" height="95pt"
|
||||
|
||||
|
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.3 KiB |
@@ -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/depth_first_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++
|
||||
 <span id="projectnumber">1.0.0</span>
|
||||
<div id="projectname">Algorithms_in_C++<span id="projectnumber"> 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&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "../../search",false,'Search','.html');
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&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&dn=gpl-2.0.txt GPL-v2 */
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&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&dn=gpl-2.0.txt GPL-v2 */
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||
$(document).ready(function(){initNavTree('da/d8d/depth__first__search_8cpp.html','../../'); initResizable(); });
|
||||
/* @license-end */
|
||||
</script>
|
||||
@@ -93,12 +93,11 @@ $(document).ready(function(){initNavTree('da/d8d/depth__first__search_8cpp.html'
|
||||
<div class="summary">
|
||||
<a href="#namespaces">Namespaces</a> |
|
||||
<a href="#func-members">Functions</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">depth_first_search.cpp File Reference</div> </div>
|
||||
<div class="headertitle"><div class="title">depth_first_search.cpp File Reference</div></div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p><a href="https://en.wikipedia.org/wiki/Depth-first_search">Depth First Search Algorithm (Depth First Search)</a>
|
||||
<p><a href="https://en.wikipedia.org/wiki/Depth-first_search" target="_blank">Depth First Search Algorithm (Depth First Search)</a>
|
||||
<a href="#details">More...</a></p>
|
||||
<div class="textblock"><code>#include <algorithm></code><br />
|
||||
<code>#include <iostream></code><br />
|
||||
@@ -110,31 +109,31 @@ Include dependency graph for depth_first_search.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:df/dce/namespacegraph"><td class="memItemLeft" align="right" valign="top">  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dce/namespacegraph.html">graph</a></td></tr>
|
||||
<tr class="memitem:df/dce/namespacegraph"><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dce/namespacegraph.html">graph</a></td></tr>
|
||||
<tr class="memdesc:df/dce/namespacegraph"><td class="mdescLeft"> </td><td class="mdescRight"><a class="el" href="../../dc/d61/classgraph_1_1_graph.html">Graph</a> Algorithms. <br /></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </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:a33d8f7759375aee956643d76df491b7b"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dce/namespacegraph.html#a33d8f7759375aee956643d76df491b7b">graph::addEdge</a> (<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>< <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>< size_t >> *adj, size_t u, size_t v)</td></tr>
|
||||
<tr class="memdesc:a33d8f7759375aee956643d76df491b7b"><td class="mdescLeft"> </td><td class="mdescRight">Adds and edge between two vertices of graph say u and v in this case. <a href="../../df/dce/namespacegraph.html#a33d8f7759375aee956643d76df491b7b">More...</a><br /></td></tr>
|
||||
<tr class="separator:a33d8f7759375aee956643d76df491b7b"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a48acac475cb48614279e7ea784c32fc3"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dce/namespacegraph.html#a48acac475cb48614279e7ea784c32fc3">graph::explore</a> (const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>< <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>< size_t >> &adj, size_t v, <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>< bool > *visited)</td></tr>
|
||||
<tr class="memdesc:a48acac475cb48614279e7ea784c32fc3"><td class="mdescLeft"> </td><td class="mdescRight">Explores the given vertex, exploring a vertex means traversing over all the vertices which are connected to the vertex that is currently being explored. <a href="../../df/dce/namespacegraph.html#a48acac475cb48614279e7ea784c32fc3">More...</a><br /></td></tr>
|
||||
<tr class="separator:a48acac475cb48614279e7ea784c32fc3"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a2e6017a54d445819ede9adcf33240e1a"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dce/namespacegraph.html#a2e6017a54d445819ede9adcf33240e1a">graph::depth_first_search</a> (const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>< <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>< size_t >> &adj, size_t start)</td></tr>
|
||||
<tr class="memdesc:a2e6017a54d445819ede9adcf33240e1a"><td class="mdescLeft"> </td><td class="mdescRight">initiates depth first search algorithm. <a href="../../df/dce/namespacegraph.html#a2e6017a54d445819ede9adcf33240e1a">More...</a><br /></td></tr>
|
||||
<tr class="separator:a2e6017a54d445819ede9adcf33240e1a"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ad4016cfc80485a43748895a2c26c7d08"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dce/namespacegraph.html#ad4016cfc80485a43748895a2c26c7d08">graph::addEdge</a> (<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>< <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>< size_t > > *adj, size_t u, size_t v)</td></tr>
|
||||
<tr class="memdesc:ad4016cfc80485a43748895a2c26c7d08"><td class="mdescLeft"> </td><td class="mdescRight">Adds and edge between two vertices of graph say u and v in this case. <a href="../../df/dce/namespacegraph.html#ad4016cfc80485a43748895a2c26c7d08">More...</a><br /></td></tr>
|
||||
<tr class="separator:ad4016cfc80485a43748895a2c26c7d08"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a64c1db5aad7502c6f08e4652f6edd463"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dce/namespacegraph.html#a64c1db5aad7502c6f08e4652f6edd463">graph::explore</a> (const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>< <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>< size_t > > &adj, size_t v, <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>< bool > *visited)</td></tr>
|
||||
<tr class="memdesc:a64c1db5aad7502c6f08e4652f6edd463"><td class="mdescLeft"> </td><td class="mdescRight">Explores the given vertex, exploring a vertex means traversing over all the vertices which are connected to the vertex that is currently being explored. <a href="../../df/dce/namespacegraph.html#a64c1db5aad7502c6f08e4652f6edd463">More...</a><br /></td></tr>
|
||||
<tr class="separator:a64c1db5aad7502c6f08e4652f6edd463"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ab5428a3519267a28bba4b4310cfbb6ae"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/dce/namespacegraph.html#ab5428a3519267a28bba4b4310cfbb6ae">graph::depth_first_search</a> (const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>< <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>< size_t > > &adj, size_t start)</td></tr>
|
||||
<tr class="memdesc:ab5428a3519267a28bba4b4310cfbb6ae"><td class="mdescLeft"> </td><td class="mdescRight">initiates depth first search algorithm. <a href="../../df/dce/namespacegraph.html#ab5428a3519267a28bba4b4310cfbb6ae">More...</a><br /></td></tr>
|
||||
<tr class="separator:ab5428a3519267a28bba4b4310cfbb6ae"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d8d/depth__first__search_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a> ()</td></tr>
|
||||
<tr class="separator:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="memSeparator" colspan="2"> </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/Depth-first_search">Depth First Search Algorithm (Depth First Search)</a> </p>
|
||||
<dl class="section author"><dt>Author</dt><dd><a href="http://github.com/ayaankhan98">Ayaan Khan</a></dd></dl>
|
||||
<div class="textblock"><p ><a href="https://en.wikipedia.org/wiki/Depth-first_search" target="_blank">Depth First Search Algorithm (Depth First Search)</a> </p>
|
||||
<dl class="section author"><dt>Author</dt><dd><a href="http://github.com/ayaankhan98" target="_blank">Ayaan Khan</a></dd></dl>
|
||||
<p>Depth First Search also quoted as DFS is a <a class="el" href="../../da/d9a/class_graph.html">Graph</a> Traversal Algorithm. Time Complexity O(|V| + |E|) where V is number of vertices and E is number of edges in graph.</p>
|
||||
<p>Application of Depth First Search are</p>
|
||||
<p >Application of Depth First Search are</p>
|
||||
<ol type="1">
|
||||
<li>Finding connected components</li>
|
||||
<li>Finding 2-(edge or vertex)-connected components.</li>
|
||||
@@ -143,7 +142,7 @@ Functions</h2></td></tr>
|
||||
<li>Generating words in order to plot the limit set of a group.</li>
|
||||
<li>Finding strongly connected components.</li>
|
||||
</ol>
|
||||
<p>And there are many more...</p>
|
||||
<p >And there are many more...</p>
|
||||
<h4>Working</h4>
|
||||
<ol type="1">
|
||||
<li>Mark all vertices as unvisited first</li>
|
||||
@@ -152,7 +151,7 @@ Functions</h2></td></tr>
|
||||
</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">◆ </a></span>main()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
@@ -167,45 +166,45 @@ Functions</h2></td></tr>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Main function </p>
|
||||
<p>creating graph</p>
|
||||
<p>taking input for edges</p>
|
||||
<p>running depth first search over graph</p>
|
||||
<div class="fragment"><div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  {</div>
|
||||
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <span class="keywordtype">size_t</span> vertices = 0, edges = 0;</div>
|
||||
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Enter the Vertices : "</span>;</div>
|
||||
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> >> vertices;</div>
|
||||
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Enter the Edges : "</span>;</div>
|
||||
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> >> edges;</div>
|
||||
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="comment"></span> </div>
|
||||
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="comment"> /// creating graph</span></div>
|
||||
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="comment"></span> <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<std::vector<size_t></a>> adj(vertices, <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<size_t></a>());</div>
|
||||
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="comment"></span> </div>
|
||||
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="comment"> /// taking input for edges</span></div>
|
||||
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="comment"></span> <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Enter the vertices which have edges between them : "</span></div>
|
||||
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  << <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="l00122"></a><span class="lineno"> 122</span>  <span class="keywordflow">while</span> (edges--) {</div>
|
||||
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <span class="keywordtype">size_t</span> u = 0, v = 0;</div>
|
||||
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> >> u >> v;</div>
|
||||
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <a class="code" href="../../df/dce/namespacegraph.html#a372ff051a7bc6c91d34a7b58edf8dfce">graph::addEdge</a>(&adj, u, v);</div>
|
||||
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  }</div>
|
||||
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="comment"></span> </div>
|
||||
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="comment"> /// running depth first search over graph</span></div>
|
||||
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="comment"></span> <a class="code" href="../../df/dce/namespacegraph.html#a2e6017a54d445819ede9adcf33240e1a">graph::depth_first_search</a>(adj, 2);</div>
|
||||
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  </div>
|
||||
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <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="l00132"></a><span class="lineno"> 132</span>  <span class="keywordflow">return</span> 0;</div>
|
||||
<div class="line"><a name="l00133"></a><span class="lineno"> 133</span> }</div>
|
||||
<p >Main function </p>
|
||||
<p >creating graph</p>
|
||||
<p >taking input for edges</p>
|
||||
<p >running depth first search over graph</p>
|
||||
<div class="fragment"><div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> {</div>
|
||||
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> <span class="keywordtype">size_t</span> vertices = 0, edges = 0;</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">std::cout</a> << <span class="stringliteral">"Enter the Vertices : "</span>;</div>
|
||||
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> >> vertices;</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> << <span class="stringliteral">"Enter the Edges : "</span>;</div>
|
||||
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> >> edges;</div>
|
||||
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span><span class="comment"></span> </div>
|
||||
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span><span class="comment"> /// creating graph</span></div>
|
||||
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span><span class="comment"></span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<std::vector<size_t></a>> adj(vertices, <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<size_t></a>());</div>
|
||||
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span><span class="comment"></span> </div>
|
||||
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span><span class="comment"> /// taking input for edges</span></div>
|
||||
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span><span class="comment"></span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Enter the vertices which have edges between them : "</span></div>
|
||||
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> << <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="l00122" name="l00122"></a><span class="lineno"> 122</span> <span class="keywordflow">while</span> (edges--) {</div>
|
||||
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> <span class="keywordtype">size_t</span> u = 0, v = 0;</div>
|
||||
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> >> u >> v;</div>
|
||||
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> <a class="code hl_function" href="../../df/dce/namespacegraph.html#a9125ceb66bfbec3093bba64c2c1e99e2">graph::addEdge</a>(&adj, u, v);</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="comment"></span> </div>
|
||||
<div class="line"><a id="l00128" name="l00128"></a><span class="lineno"> 128</span><span class="comment"> /// running depth first search over graph</span></div>
|
||||
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span><span class="comment"></span> <a class="code hl_function" href="../../df/dce/namespacegraph.html#ab5428a3519267a28bba4b4310cfbb6ae">graph::depth_first_search</a>(adj, 2);</div>
|
||||
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> </div>
|
||||
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <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="l00132" name="l00132"></a><span class="lineno"> 132</span> <span class="keywordflow">return</span> 0;</div>
|
||||
<div class="line"><a id="l00133" name="l00133"></a><span class="lineno"> 133</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="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="anamespacegraph_html_a2e6017a54d445819ede9adcf33240e1a"><div class="ttname"><a href="../../df/dce/namespacegraph.html#a2e6017a54d445819ede9adcf33240e1a">graph::depth_first_search</a></div><div class="ttdeci">void depth_first_search(const std::vector< std::vector< size_t >> &adj, size_t start)</div><div class="ttdoc">initiates depth first search algorithm.</div><div class="ttdef"><b>Definition:</b> depth_first_search.cpp:99</div></div>
|
||||
<div class="ttc" id="anamespacegraph_html_a372ff051a7bc6c91d34a7b58edf8dfce"><div class="ttname"><a href="../../df/dce/namespacegraph.html#a372ff051a7bc6c91d34a7b58edf8dfce">graph::addEdge</a></div><div class="ttdeci">void addEdge(std::vector< std::vector< int >> *adj, int u, int v)</div><div class="ttdoc">Function that add edge between two nodes or vertices of graph.</div><div class="ttdef"><b>Definition:</b> connected_components.cpp:46</div></div>
|
||||
<div class="ttc" id="anamespacegraph_html_a9125ceb66bfbec3093bba64c2c1e99e2"><div class="ttname"><a href="../../df/dce/namespacegraph.html#a9125ceb66bfbec3093bba64c2c1e99e2">graph::addEdge</a></div><div class="ttdeci">void addEdge(std::vector< std::vector< int > > *adj, int u, int v)</div><div class="ttdoc">Function that add edge between two nodes or vertices of graph.</div><div class="ttdef"><b>Definition:</b> connected_components.cpp:46</div></div>
|
||||
<div class="ttc" id="anamespacegraph_html_ab5428a3519267a28bba4b4310cfbb6ae"><div class="ttname"><a href="../../df/dce/namespacegraph.html#ab5428a3519267a28bba4b4310cfbb6ae">graph::depth_first_search</a></div><div class="ttdeci">void depth_first_search(const std::vector< std::vector< size_t > > &adj, size_t start)</div><div class="ttdoc">initiates depth first search algorithm.</div><div class="ttdef"><b>Definition:</b> depth_first_search.cpp:99</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="../../da/d8d/depth__first__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg" width="398" height="155"><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="../../da/d8d/depth__first__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg" width="390" height="155"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -217,7 +216,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_12552d7fa429bf94a2e32e5cf39f7e69.html">graph</a></li><li class="navelem"><a class="el" href="../../da/d8d/depth__first__search_8cpp.html">depth_first_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>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
var depth__first__search_8cpp =
|
||||
[
|
||||
[ "addEdge", "da/d8d/depth__first__search_8cpp.html#a33d8f7759375aee956643d76df491b7b", null ],
|
||||
[ "depth_first_search", "da/d8d/depth__first__search_8cpp.html#a2e6017a54d445819ede9adcf33240e1a", null ],
|
||||
[ "explore", "da/d8d/depth__first__search_8cpp.html#a48acac475cb48614279e7ea784c32fc3", null ],
|
||||
[ "addEdge", "da/d8d/depth__first__search_8cpp.html#ad4016cfc80485a43748895a2c26c7d08", null ],
|
||||
[ "depth_first_search", "da/d8d/depth__first__search_8cpp.html#ab5428a3519267a28bba4b4310cfbb6ae", null ],
|
||||
[ "explore", "da/d8d/depth__first__search_8cpp.html#a64c1db5aad7502c6f08e4652f6edd463", null ],
|
||||
[ "main", "da/d8d/depth__first__search_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4", null ]
|
||||
];
|
||||
@@ -1,8 +1,7 @@
|
||||
<map id="main" name="main">
|
||||
<area shape="rect" id="node1" title=" " alt="" coords="5,64,56,91"/>
|
||||
<area shape="rect" id="node2" href="$df/dce/namespacegraph.html#a372ff051a7bc6c91d34a7b58edf8dfce" title="Function that add edge between two nodes or vertices of graph." alt="" coords="108,5,225,32"/>
|
||||
<area shape="rect" id="node3" href="$df/dce/namespacegraph.html#a2e6017a54d445819ede9adcf33240e1a" title="initiates depth first search algorithm." alt="" coords="104,57,229,98"/>
|
||||
<area shape="rect" id="node6" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/io/manip/endl.html#" title=" " alt="" coords="131,123,203,149"/>
|
||||
<area shape="rect" id="node4" href="$df/dce/namespacegraph.html#a8e9885e0dd49fcf8262a9868124deac9" title="Utility function for depth first seach algorithm this function explores the vertex which is passed in..." alt="" coords="281,39,388,65"/>
|
||||
<area shape="rect" id="node5" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/size.html#" title=" " alt="" coords="277,89,392,116"/>
|
||||
<area shape="rect" id="node2" href="$df/dce/namespacegraph.html#a9125ceb66bfbec3093bba64c2c1e99e2" title="Function that add edge between two nodes or vertices of graph." alt="" coords="108,5,225,32"/>
|
||||
<area shape="rect" id="node3" href="$df/dce/namespacegraph.html#ab5428a3519267a28bba4b4310cfbb6ae" title="initiates depth first search algorithm." alt="" coords="104,57,229,98"/>
|
||||
<area shape="rect" id="node5" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/io/manip/endl.html#" title=" " alt="" coords="131,123,203,149"/>
|
||||
<area shape="rect" id="node4" href="$df/dce/namespacegraph.html#a3ae80bc4c6a79d041b4f3a6589eb7fb8" title="Utility function for depth first seach algorithm this function explores the vertex which is passed in..." alt="" coords="277,64,384,91"/>
|
||||
</map>
|
||||
|
||||
@@ -1 +1 @@
|
||||
d2c407e56af5ef49e51949aacc8f6b73
|
||||
9ac773f368913f26e57ecb0790968132
|
||||
@@ -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: main Pages: 1 -->
|
||||
<svg width="298pt" height="116pt"
|
||||
viewBox="0.00 0.00 298.00 116.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<svg width="292pt" height="116pt"
|
||||
viewBox="0.00 0.00 292.00 116.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 112)">
|
||||
<title>main</title>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-112 294,-112 294,4 -4,4"/>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-112 288,-112 288,4 -4,4"/>
|
||||
<!-- Node1 -->
|
||||
<g id="node1" class="node">
|
||||
<title>Node1</title>
|
||||
@@ -21,7 +21,7 @@
|
||||
<!-- Node2 -->
|
||||
<g id="node2" class="node">
|
||||
<title>Node2</title>
|
||||
<g id="a_node2"><a xlink:href="../../df/dce/namespacegraph.html#a372ff051a7bc6c91d34a7b58edf8dfce" target="_top" xlink:title="Function that add edge between two nodes or vertices of graph.">
|
||||
<g id="a_node2"><a xlink:href="../../df/dce/namespacegraph.html#a9125ceb66bfbec3093bba64c2c1e99e2" target="_top" xlink:title="Function that add edge between two nodes or vertices of graph.">
|
||||
<polygon fill="white" stroke="black" points="77,-88.5 77,-107.5 165,-107.5 165,-88.5 77,-88.5"/>
|
||||
<text text-anchor="middle" x="121" y="-95.5" font-family="Helvetica,sans-Serif" font-size="10.00">graph::addEdge</text>
|
||||
</a>
|
||||
@@ -36,7 +36,7 @@
|
||||
<!-- Node3 -->
|
||||
<g id="node3" class="node">
|
||||
<title>Node3</title>
|
||||
<g id="a_node3"><a xlink:href="../../df/dce/namespacegraph.html#a2e6017a54d445819ede9adcf33240e1a" target="_top" xlink:title="initiates depth first search algorithm.">
|
||||
<g id="a_node3"><a xlink:href="../../df/dce/namespacegraph.html#ab5428a3519267a28bba4b4310cfbb6ae" target="_top" xlink:title="initiates depth first search algorithm.">
|
||||
<polygon fill="white" stroke="black" points="74,-39 74,-69 168,-69 168,-39 74,-39"/>
|
||||
<text text-anchor="start" x="82" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">graph::depth_first</text>
|
||||
<text text-anchor="middle" x="121" y="-46" font-family="Helvetica,sans-Serif" font-size="10.00">_search</text>
|
||||
@@ -49,50 +49,41 @@
|
||||
<path fill="none" stroke="midnightblue" d="M38.34,-54C45.71,-54 54.64,-54 63.85,-54"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="63.9,-57.5 73.9,-54 63.9,-50.5 63.9,-57.5"/>
|
||||
</g>
|
||||
<!-- Node6 -->
|
||||
<g id="node6" class="node">
|
||||
<title>Node6</title>
|
||||
<g id="a_node6"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/io/manip/endl.html#" xlink:title=" ">
|
||||
<!-- Node5 -->
|
||||
<g id="node5" class="node">
|
||||
<title>Node5</title>
|
||||
<g id="a_node5"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/io/manip/endl.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="94,-0.5 94,-19.5 148,-19.5 148,-0.5 94,-0.5"/>
|
||||
<text text-anchor="middle" x="121" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::endl</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node6 -->
|
||||
<!-- Node1->Node5 -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>Node1->Node6</title>
|
||||
<path fill="none" stroke="midnightblue" d="M38.41,-45.25C48.81,-40.36 62.08,-34.22 74,-29 78.12,-27.2 82.46,-25.34 86.77,-23.53"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="88.16,-26.75 96.04,-19.67 85.47,-20.28 88.16,-26.75"/>
|
||||
<title>Node1->Node5</title>
|
||||
<path fill="none" stroke="midnightblue" d="M38.48,-45.74C48.9,-41.1 62.17,-35.2 74,-30 78.76,-27.91 83.8,-25.7 88.74,-23.55"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="90.22,-26.73 97.99,-19.53 87.42,-20.31 90.22,-26.73"/>
|
||||
</g>
|
||||
<!-- Node4 -->
|
||||
<g id="node4" class="node">
|
||||
<title>Node4</title>
|
||||
<g id="a_node4"><a xlink:href="../../df/dce/namespacegraph.html#a8e9885e0dd49fcf8262a9868124deac9" target="_top" xlink:title="Utility function for depth first seach algorithm this function explores the vertex which is passed in...">
|
||||
<polygon fill="white" stroke="black" points="207,-63.5 207,-82.5 287,-82.5 287,-63.5 207,-63.5"/>
|
||||
<text text-anchor="middle" x="247" y="-70.5" font-family="Helvetica,sans-Serif" font-size="10.00">graph::explore</text>
|
||||
<g id="a_node4"><a xlink:href="../../df/dce/namespacegraph.html#a3ae80bc4c6a79d041b4f3a6589eb7fb8" target="_top" xlink:title="Utility function for depth first seach algorithm this function explores the vertex which is passed in...">
|
||||
<polygon fill="white" stroke="black" points="204,-44.5 204,-63.5 284,-63.5 284,-44.5 204,-44.5"/>
|
||||
<text text-anchor="middle" x="244" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">graph::explore</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node3->Node4 -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>Node3->Node4</title>
|
||||
<path fill="none" stroke="midnightblue" d="M168.17,-61.07C177.48,-62.5 187.29,-64 196.7,-65.45"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="196.29,-68.92 206.7,-66.98 197.35,-62 196.29,-68.92"/>
|
||||
<path fill="none" stroke="midnightblue" d="M168.09,-54C176.45,-54 185.19,-54 193.64,-54"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="193.75,-57.5 203.75,-54 193.75,-50.5 193.75,-57.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/container/vector/size.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="204,-25.5 204,-44.5 290,-44.5 290,-25.5 204,-25.5"/>
|
||||
<text text-anchor="middle" x="247" y="-32.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::size</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node3->Node5 -->
|
||||
<!-- Node4->Node4 -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>Node3->Node5</title>
|
||||
<path fill="none" stroke="midnightblue" d="M168.17,-46.93C176.59,-45.64 185.42,-44.28 193.99,-42.97"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="194.53,-46.43 203.88,-41.45 193.47,-39.51 194.53,-46.43"/>
|
||||
<title>Node4->Node4</title>
|
||||
<path fill="none" stroke="midnightblue" d="M225.2,-63.76C216.05,-72.57 222.32,-82 244,-82 257.89,-82 265.46,-78.13 266.69,-73.03"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="269.9,-71.62 262.8,-63.76 263.44,-74.33 269.9,-71.62"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
||||
|
Before Width: | Height: | Size: 4.8 KiB After Width: | Height: | Size: 4.4 KiB |
@@ -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 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++
|
||||
 <span id="projectnumber">1.0.0</span>
|
||||
<div id="projectname">Algorithms_in_C++<span id="projectnumber"> 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&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "../../search",false,'Search','.html');
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&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&dn=gpl-2.0.txt GPL-v2 */
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&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&dn=gpl-2.0.txt GPL-v2 */
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||
$(document).ready(function(){initNavTree('da/d9a/class_graph.html','../../'); initResizable(); });
|
||||
/* @license-end */
|
||||
</script>
|
||||
@@ -96,51 +96,46 @@ $(document).ready(function(){initNavTree('da/d9a/class_graph.html','../../'); in
|
||||
<a href="#pri-methods">Private Member Functions</a> |
|
||||
<a href="#pri-attribs">Private Attributes</a> |
|
||||
<a href="../../d1/d1d/class_graph-members.html">List of all members</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">Graph Class Reference</div> </div>
|
||||
<div class="headertitle"><div class="title">Graph Class Reference</div></div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="dynheader">
|
||||
Collaboration diagram for Graph:</div>
|
||||
<div class="dyncontent">
|
||||
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d1/dc2/class_graph__coll__graph.svg" width="659" height="364"><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="../../d1/dc2/class_graph__coll__graph.svg" width="264" height="260"><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:ad3b98f95ee53f91afad11b8eaddc35e0"><td class="memItemLeft" align="right" valign="top"><a id="ad3b98f95ee53f91afad11b8eaddc35e0"></a>
|
||||
 </td><td class="memItemRight" valign="bottom"><b>Graph</b> (int V, int E)</td></tr>
|
||||
<tr class="memitem:ad3b98f95ee53f91afad11b8eaddc35e0"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d9a/class_graph.html#ad3b98f95ee53f91afad11b8eaddc35e0">Graph</a> (int V, int E)</td></tr>
|
||||
<tr class="separator:ad3b98f95ee53f91afad11b8eaddc35e0"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a6dc4dd4ce49c4052ad2a5d27523881f4"><td class="memItemLeft" align="right" valign="top"><a id="a6dc4dd4ce49c4052ad2a5d27523881f4"></a>
|
||||
void </td><td class="memItemRight" valign="bottom"><b>addEdge</b> (int src, int dst, int weight)</td></tr>
|
||||
<tr class="memitem:a6dc4dd4ce49c4052ad2a5d27523881f4"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d9a/class_graph.html#a6dc4dd4ce49c4052ad2a5d27523881f4">addEdge</a> (int src, int dst, int weight)</td></tr>
|
||||
<tr class="separator:a6dc4dd4ce49c4052ad2a5d27523881f4"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:af3ff6b295df8bf3bee0bafd7c7d56915"><td class="memItemLeft" align="right" valign="top"><a id="af3ff6b295df8bf3bee0bafd7c7d56915"></a>
|
||||
 </td><td class="memItemRight" valign="bottom"><b>Graph</b> (int V)</td></tr>
|
||||
<tr class="memitem:af3ff6b295df8bf3bee0bafd7c7d56915"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d9a/class_graph.html#af3ff6b295df8bf3bee0bafd7c7d56915">Graph</a> (int V)</td></tr>
|
||||
<tr class="separator:af3ff6b295df8bf3bee0bafd7c7d56915"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a6dc4dd4ce49c4052ad2a5d27523881f4"><td class="memItemLeft" align="right" valign="top"><a id="a6dc4dd4ce49c4052ad2a5d27523881f4"></a>
|
||||
void </td><td class="memItemRight" valign="bottom"><b>addEdge</b> (int src, int dst, int weight)</td></tr>
|
||||
<tr class="memitem:a6dc4dd4ce49c4052ad2a5d27523881f4"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d9a/class_graph.html#a6dc4dd4ce49c4052ad2a5d27523881f4">addEdge</a> (int src, int dst, int weight)</td></tr>
|
||||
<tr class="separator:a6dc4dd4ce49c4052ad2a5d27523881f4"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ade809d353b640b9c2773d71d4f57d57d"><td class="memItemLeft" align="right" valign="top"><a id="ade809d353b640b9c2773d71d4f57d57d"></a>
|
||||
<tr class="memitem:ade809d353b640b9c2773d71d4f57d57d"><td class="memItemLeft" align="right" valign="top"><a id="ade809d353b640b9c2773d71d4f57d57d" name="ade809d353b640b9c2773d71d4f57d57d"></a>
|
||||
 </td><td class="memItemRight" valign="bottom"><b>Graph</b> (<a class="el" href="../../da/d9a/class_graph.html">Graph</a> &&)=default</td></tr>
|
||||
<tr class="separator:ade809d353b640b9c2773d71d4f57d57d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a14da756c7e346c651e8cf14df2437d4a"><td class="memItemLeft" align="right" valign="top"><a id="a14da756c7e346c651e8cf14df2437d4a"></a>
|
||||
<tr class="memitem:afd81de5588485ebca8498c06a07e8718"><td class="memItemLeft" align="right" valign="top"><a id="afd81de5588485ebca8498c06a07e8718" name="afd81de5588485ebca8498c06a07e8718"></a>
|
||||
<a class="el" href="../../da/d9a/class_graph.html">Graph</a> & </td><td class="memItemRight" valign="bottom"><b>operator=</b> (<a class="el" href="../../da/d9a/class_graph.html">Graph</a> &&)=default</td></tr>
|
||||
<tr class="separator:a14da756c7e346c651e8cf14df2437d4a"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a04365fc6f13bf330e38dbc1424134827"><td class="memItemLeft" align="right" valign="top"><a id="a04365fc6f13bf330e38dbc1424134827"></a>
|
||||
<tr class="separator:afd81de5588485ebca8498c06a07e8718"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a04365fc6f13bf330e38dbc1424134827"><td class="memItemLeft" align="right" valign="top"><a id="a04365fc6f13bf330e38dbc1424134827" name="a04365fc6f13bf330e38dbc1424134827"></a>
|
||||
 </td><td class="memItemRight" valign="bottom"><b>Graph</b> (<a class="el" href="../../da/d9a/class_graph.html">Graph</a> const &)=default</td></tr>
|
||||
<tr class="separator:a04365fc6f13bf330e38dbc1424134827"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ac3e58f4a0c8c65befe6629f4e1b71142"><td class="memItemLeft" align="right" valign="top"><a id="ac3e58f4a0c8c65befe6629f4e1b71142"></a>
|
||||
<tr class="memitem:ab08a73091aea1a70c34cd15200401596"><td class="memItemLeft" align="right" valign="top"><a id="ab08a73091aea1a70c34cd15200401596" name="ab08a73091aea1a70c34cd15200401596"></a>
|
||||
<a class="el" href="../../da/d9a/class_graph.html">Graph</a> & </td><td class="memItemRight" valign="bottom"><b>operator=</b> (<a class="el" href="../../da/d9a/class_graph.html">Graph</a> const &)=default</td></tr>
|
||||
<tr class="separator:ac3e58f4a0c8c65befe6629f4e1b71142"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="separator:ab08a73091aea1a70c34cd15200401596"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:adcbd1b60cab30b97c54d700eee8e456d"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d9a/class_graph.html#adcbd1b60cab30b97c54d700eee8e456d">Graph</a> (unsigned int vertices, <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/map.html">AdjList</a> adjList)</td></tr>
|
||||
<tr class="separator:adcbd1b60cab30b97c54d700eee8e456d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a8c95e00effaea0cd9404dd74cd802ae3"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d9a/class_graph.html#a8c95e00effaea0cd9404dd74cd802ae3">Graph</a> (unsigned int vertices, <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/map.html">AdjList</a> &&adjList)</td></tr>
|
||||
<tr class="separator:a8c95e00effaea0cd9404dd74cd802ae3"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:aa99d44d3179d5bbbfa84a5031cf80cb1"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d9a/class_graph.html#aa99d44d3179d5bbbfa84a5031cf80cb1">Graph</a> (unsigned int vertices, <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>< <a class="el" href="../../d7/d77/class_edge.html">Edge</a> > const &edges)</td></tr>
|
||||
<tr class="separator:aa99d44d3179d5bbbfa84a5031cf80cb1"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a6cb6fbec4ea7cfdfda368f2c468a757d"><td class="memItemLeft" align="right" valign="top"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/types/remove_reference.html">std::remove_reference</a>< <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/map.html">AdjList</a> >::type const & </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d9a/class_graph.html#a6cb6fbec4ea7cfdfda368f2c468a757d">getAdjList</a> () const</td></tr>
|
||||
<tr class="separator:a6cb6fbec4ea7cfdfda368f2c468a757d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a5a090e1a63a5c47bdd1a539b21f7fd1d"><td class="memItemLeft" align="right" valign="top"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/types/remove_reference.html">std::remove_reference</a>< <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/map.html">AdjList</a> >::type const & </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d9a/class_graph.html#a5a090e1a63a5c47bdd1a539b21f7fd1d">getAdjList</a> () const</td></tr>
|
||||
<tr class="separator:a5a090e1a63a5c47bdd1a539b21f7fd1d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a8dcb5ce0b4a6f65827f5055d9d53a3f1"><td class="memItemLeft" align="right" valign="top">unsigned int </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d9a/class_graph.html#a8dcb5ce0b4a6f65827f5055d9d53a3f1">getVertices</a> () const</td></tr>
|
||||
<tr class="separator:a8dcb5ce0b4a6f65827f5055d9d53a3f1"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ac5a4d9a4f894a179198936042c778413"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d9a/class_graph.html#ac5a4d9a4f894a179198936042c778413">addVertices</a> (unsigned int num=1)</td></tr>
|
||||
@@ -149,88 +144,215 @@ void </td><td class="memItemRight" valign="bottom"><b>addEdge</b> (int src,
|
||||
<tr class="separator:af765dda8f21280e1cecea19e129f1bc5"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ac85c63bcca4764a621f9f8609a8e5910"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d9a/class_graph.html#ac85c63bcca4764a621f9f8609a8e5910">addEdge</a> (unsigned int source, unsigned int destination)</td></tr>
|
||||
<tr class="separator:ac85c63bcca4764a621f9f8609a8e5910"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a6d95f41d2df61697379ccc209c78f801"><td class="memItemLeft" align="right" valign="top"><a id="a6d95f41d2df61697379ccc209c78f801"></a>
|
||||
void </td><td class="memItemRight" valign="bottom"><b>set_graph</b> ()</td></tr>
|
||||
<tr class="memitem:a6d95f41d2df61697379ccc209c78f801"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d9a/class_graph.html#a6d95f41d2df61697379ccc209c78f801">set_graph</a> ()</td></tr>
|
||||
<tr class="separator:a6d95f41d2df61697379ccc209c78f801"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ab7a517eb1a45f6539a53dffe5d790b12"><td class="memItemLeft" align="right" valign="top"><a id="ab7a517eb1a45f6539a53dffe5d790b12"></a>
|
||||
void </td><td class="memItemRight" valign="bottom"><b>ford_fulkerson</b> ()</td></tr>
|
||||
<tr class="memitem:ab7a517eb1a45f6539a53dffe5d790b12"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d9a/class_graph.html#ab7a517eb1a45f6539a53dffe5d790b12">ford_fulkerson</a> ()</td></tr>
|
||||
<tr class="separator:ab7a517eb1a45f6539a53dffe5d790b12"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ac93ec6a876da0b5a61ebf3bebc347ba5"><td class="memItemLeft" align="right" valign="top"><a id="ac93ec6a876da0b5a61ebf3bebc347ba5"></a>
|
||||
void </td><td class="memItemRight" valign="bottom"><b>print_flow_info</b> ()</td></tr>
|
||||
<tr class="memitem:ac93ec6a876da0b5a61ebf3bebc347ba5"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d9a/class_graph.html#ac93ec6a876da0b5a61ebf3bebc347ba5">print_flow_info</a> ()</td></tr>
|
||||
<tr class="separator:ac93ec6a876da0b5a61ebf3bebc347ba5"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:acfa457b5f6f7eb480fd469fb980a01ea"><td class="memItemLeft" align="right" valign="top"><a id="acfa457b5f6f7eb480fd469fb980a01ea"></a>
|
||||
 </td><td class="memItemRight" valign="bottom"><b>Graph</b> (const int V)</td></tr>
|
||||
<tr class="memitem:acfa457b5f6f7eb480fd469fb980a01ea"><td class="memItemLeft" align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d9a/class_graph.html#acfa457b5f6f7eb480fd469fb980a01ea">Graph</a> (const int V)</td></tr>
|
||||
<tr class="separator:acfa457b5f6f7eb480fd469fb980a01ea"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a6dc4dd4ce49c4052ad2a5d27523881f4"><td class="memItemLeft" align="right" valign="top"><a id="a6dc4dd4ce49c4052ad2a5d27523881f4"></a>
|
||||
void </td><td class="memItemRight" valign="bottom"><b>addEdge</b> (int src, int dst, int weight)</td></tr>
|
||||
<tr class="memitem:a6dc4dd4ce49c4052ad2a5d27523881f4"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d9a/class_graph.html#a6dc4dd4ce49c4052ad2a5d27523881f4">addEdge</a> (int src, int dst, int weight)</td></tr>
|
||||
<tr class="separator:a6dc4dd4ce49c4052ad2a5d27523881f4"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><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:a6afcd41564ea00294a4c089414979ca1"><td class="memItemLeft" align="right" valign="top"><a id="a6afcd41564ea00294a4c089414979ca1"></a>
|
||||
<tr class="memitem:a6afcd41564ea00294a4c089414979ca1"><td class="memItemLeft" align="right" valign="top"><a id="a6afcd41564ea00294a4c089414979ca1" name="a6afcd41564ea00294a4c089414979ca1"></a>
|
||||
int </td><td class="memItemRight" valign="bottom"><b>vertexNum</b></td></tr>
|
||||
<tr class="separator:a6afcd41564ea00294a4c089414979ca1"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a10ff9c6c323cf435f18e424dbb62235e"><td class="memItemLeft" align="right" valign="top"><a id="a10ff9c6c323cf435f18e424dbb62235e"></a>
|
||||
<tr class="memitem:a10ff9c6c323cf435f18e424dbb62235e"><td class="memItemLeft" align="right" valign="top"><a id="a10ff9c6c323cf435f18e424dbb62235e" name="a10ff9c6c323cf435f18e424dbb62235e"></a>
|
||||
int </td><td class="memItemRight" valign="bottom"><b>edgeNum</b></td></tr>
|
||||
<tr class="separator:a10ff9c6c323cf435f18e424dbb62235e"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a3535be2ce0d62152e54395951330da81"><td class="memItemLeft" align="right" valign="top"><a id="a3535be2ce0d62152e54395951330da81"></a>
|
||||
<tr class="memitem:a3535be2ce0d62152e54395951330da81"><td class="memItemLeft" align="right" valign="top"><a id="a3535be2ce0d62152e54395951330da81" name="a3535be2ce0d62152e54395951330da81"></a>
|
||||
<a class="el" href="../../d7/d77/class_edge.html">Edge</a> * </td><td class="memItemRight" valign="bottom"><b>edges</b></td></tr>
|
||||
<tr class="separator:a3535be2ce0d62152e54395951330da81"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a268ba18d421817ad8713c2e92f19d82a"><td class="memItemLeft" align="right" valign="top"><a id="a268ba18d421817ad8713c2e92f19d82a"></a>
|
||||
<tr class="memitem:a268ba18d421817ad8713c2e92f19d82a"><td class="memItemLeft" align="right" valign="top"><a id="a268ba18d421817ad8713c2e92f19d82a" name="a268ba18d421817ad8713c2e92f19d82a"></a>
|
||||
int ** </td><td class="memItemRight" valign="bottom"><b>edges</b></td></tr>
|
||||
<tr class="separator:a268ba18d421817ad8713c2e92f19d82a"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pri-methods"></a>
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pri-methods" name="pri-methods"></a>
|
||||
Private Member Functions</h2></td></tr>
|
||||
<tr class="memitem:acfd6fbc5243626bfb7b7116b76fedab0"><td class="memItemLeft" align="right" valign="top"><a id="acfd6fbc5243626bfb7b7116b76fedab0"></a>
|
||||
bool </td><td class="memItemRight" valign="bottom"><b>bfs</b> (int source, int sink)</td></tr>
|
||||
<tr class="memitem:acfd6fbc5243626bfb7b7116b76fedab0"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d9a/class_graph.html#acfd6fbc5243626bfb7b7116b76fedab0">bfs</a> (int source, int sink)</td></tr>
|
||||
<tr class="separator:acfd6fbc5243626bfb7b7116b76fedab0"><td class="memSeparator" colspan="2"> </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:a61943646676002a5e75f7b6493c25713"><td class="memItemLeft" align="right" valign="top"><a id="a61943646676002a5e75f7b6493c25713"></a>
|
||||
<tr class="memitem:a61943646676002a5e75f7b6493c25713"><td class="memItemLeft" align="right" valign="top"><a id="a61943646676002a5e75f7b6493c25713" name="a61943646676002a5e75f7b6493c25713"></a>
|
||||
unsigned int </td><td class="memItemRight" valign="bottom"><b>m_vertices</b> = 0</td></tr>
|
||||
<tr class="separator:a61943646676002a5e75f7b6493c25713"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a13697caf8be6275ebb7b9497c9a9d6e5"><td class="memItemLeft" align="right" valign="top"><a id="a13697caf8be6275ebb7b9497c9a9d6e5"></a>
|
||||
<tr class="memitem:a13697caf8be6275ebb7b9497c9a9d6e5"><td class="memItemLeft" align="right" valign="top"><a id="a13697caf8be6275ebb7b9497c9a9d6e5" name="a13697caf8be6275ebb7b9497c9a9d6e5"></a>
|
||||
<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/map.html">AdjList</a> </td><td class="memItemRight" valign="bottom"><b>m_adjList</b></td></tr>
|
||||
<tr class="separator:a13697caf8be6275ebb7b9497c9a9d6e5"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a92a601c0ada840011e2719cb753b490b"><td class="memItemLeft" align="right" valign="top"><a id="a92a601c0ada840011e2719cb753b490b"></a>
|
||||
<tr class="memitem:a92a601c0ada840011e2719cb753b490b"><td class="memItemLeft" align="right" valign="top"><a id="a92a601c0ada840011e2719cb753b490b" name="a92a601c0ada840011e2719cb753b490b"></a>
|
||||
<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>< <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>< int > > </td><td class="memItemRight" valign="bottom"><b>residual_capacity</b></td></tr>
|
||||
<tr class="separator:a92a601c0ada840011e2719cb753b490b"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a8a34b80e2f3749992e0e9b83de742fba"><td class="memItemLeft" align="right" valign="top"><a id="a8a34b80e2f3749992e0e9b83de742fba"></a>
|
||||
<tr class="memitem:a8a34b80e2f3749992e0e9b83de742fba"><td class="memItemLeft" align="right" valign="top"><a id="a8a34b80e2f3749992e0e9b83de742fba" name="a8a34b80e2f3749992e0e9b83de742fba"></a>
|
||||
<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>< <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>< int > > </td><td class="memItemRight" valign="bottom"><b>capacity</b></td></tr>
|
||||
<tr class="separator:a8a34b80e2f3749992e0e9b83de742fba"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ae93ae98711b868af601d424954fe94ac"><td class="memItemLeft" align="right" valign="top"><a id="ae93ae98711b868af601d424954fe94ac"></a>
|
||||
<tr class="memitem:ae93ae98711b868af601d424954fe94ac"><td class="memItemLeft" align="right" valign="top"><a id="ae93ae98711b868af601d424954fe94ac" name="ae93ae98711b868af601d424954fe94ac"></a>
|
||||
int </td><td class="memItemRight" valign="bottom"><b>total_nodes</b> = 0</td></tr>
|
||||
<tr class="separator:ae93ae98711b868af601d424954fe94ac"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ad621c5393837c21780ff3477431707ac"><td class="memItemLeft" align="right" valign="top"><a id="ad621c5393837c21780ff3477431707ac"></a>
|
||||
<tr class="memitem:ad621c5393837c21780ff3477431707ac"><td class="memItemLeft" align="right" valign="top"><a id="ad621c5393837c21780ff3477431707ac" name="ad621c5393837c21780ff3477431707ac"></a>
|
||||
int </td><td class="memItemRight" valign="bottom"><b>total_edges</b> = 0</td></tr>
|
||||
<tr class="separator:ad621c5393837c21780ff3477431707ac"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a9912e31b32405d21a4c22a9ab8dece30"><td class="memItemLeft" align="right" valign="top"><a id="a9912e31b32405d21a4c22a9ab8dece30"></a>
|
||||
<tr class="memitem:a9912e31b32405d21a4c22a9ab8dece30"><td class="memItemLeft" align="right" valign="top"><a id="a9912e31b32405d21a4c22a9ab8dece30" name="a9912e31b32405d21a4c22a9ab8dece30"></a>
|
||||
int </td><td class="memItemRight" valign="bottom"><b>source</b> = 0</td></tr>
|
||||
<tr class="separator:a9912e31b32405d21a4c22a9ab8dece30"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a47336f7cfe4698ef887a34e03f1a3856"><td class="memItemLeft" align="right" valign="top"><a id="a47336f7cfe4698ef887a34e03f1a3856"></a>
|
||||
<tr class="memitem:a47336f7cfe4698ef887a34e03f1a3856"><td class="memItemLeft" align="right" valign="top"><a id="a47336f7cfe4698ef887a34e03f1a3856" name="a47336f7cfe4698ef887a34e03f1a3856"></a>
|
||||
int </td><td class="memItemRight" valign="bottom"><b>sink</b> = 0</td></tr>
|
||||
<tr class="separator:a47336f7cfe4698ef887a34e03f1a3856"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a9474bfdf769cc0d23f5b16c181a29431"><td class="memItemLeft" align="right" valign="top"><a id="a9474bfdf769cc0d23f5b16c181a29431"></a>
|
||||
<tr class="memitem:a9474bfdf769cc0d23f5b16c181a29431"><td class="memItemLeft" align="right" valign="top"><a id="a9474bfdf769cc0d23f5b16c181a29431" name="a9474bfdf769cc0d23f5b16c181a29431"></a>
|
||||
<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>< int > </td><td class="memItemRight" valign="bottom"><b>parent</b></td></tr>
|
||||
<tr class="separator:a9474bfdf769cc0d23f5b16c181a29431"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a73268574e2528b8e760191113ef6d1eb"><td class="memItemLeft" align="right" valign="top"><a id="a73268574e2528b8e760191113ef6d1eb"></a>
|
||||
<tr class="memitem:a73268574e2528b8e760191113ef6d1eb"><td class="memItemLeft" align="right" valign="top"><a id="a73268574e2528b8e760191113ef6d1eb" name="a73268574e2528b8e760191113ef6d1eb"></a>
|
||||
<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a>< <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/tuple.html">std::tuple</a>< int, int, int > > </td><td class="memItemRight" valign="bottom"><b>edge_participated</b></td></tr>
|
||||
<tr class="separator:a73268574e2528b8e760191113ef6d1eb"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:af1abf6ea5346e12dea4df46262ff35aa"><td class="memItemLeft" align="right" valign="top"><a id="af1abf6ea5346e12dea4df46262ff35aa"></a>
|
||||
<tr class="memitem:af1abf6ea5346e12dea4df46262ff35aa"><td class="memItemLeft" align="right" valign="top"><a id="af1abf6ea5346e12dea4df46262ff35aa" name="af1abf6ea5346e12dea4df46262ff35aa"></a>
|
||||
<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/bitset.html">std::bitset</a>< MAXN > </td><td class="memItemRight" valign="bottom"><b>visited</b></td></tr>
|
||||
<tr class="separator:af1abf6ea5346e12dea4df46262ff35aa"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:aa0aaff1a0c13bdf209ea40b83ac01ae6"><td class="memItemLeft" align="right" valign="top"><a id="aa0aaff1a0c13bdf209ea40b83ac01ae6"></a>
|
||||
<tr class="memitem:aa0aaff1a0c13bdf209ea40b83ac01ae6"><td class="memItemLeft" align="right" valign="top"><a id="aa0aaff1a0c13bdf209ea40b83ac01ae6" name="aa0aaff1a0c13bdf209ea40b83ac01ae6"></a>
|
||||
int </td><td class="memItemRight" valign="bottom"><b>max_flow</b> = 0</td></tr>
|
||||
<tr class="separator:aa0aaff1a0c13bdf209ea40b83ac01ae6"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p>Implementation of graph class.</p>
|
||||
<p>The graph will be represented using Adjacency List representation. This class contains 2 data members "m_vertices" & "m_adjList" used to represent the number of vertices and adjacency list of the graph respectively. The vertices are labelled 0 - (m_vertices - 1). </p>
|
||||
<div class="textblock"><p >Implementation of graph class.</p>
|
||||
<p >The graph will be represented using Adjacency List representation. This class contains 2 data members "m_vertices" & "m_adjList" used to represent the number of vertices and adjacency list of the graph respectively. The vertices are labelled 0 - (m_vertices - 1). </p>
|
||||
</div><h2 class="groupheader">Constructor & Destructor Documentation</h2>
|
||||
<a id="adcbd1b60cab30b97c54d700eee8e456d"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#adcbd1b60cab30b97c54d700eee8e456d">◆ </a></span>Graph() <span class="overload">[1/3]</span></h2>
|
||||
<a id="ad3b98f95ee53f91afad11b8eaddc35e0" name="ad3b98f95ee53f91afad11b8eaddc35e0"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ad3b98f95ee53f91afad11b8eaddc35e0">◆ </a></span>Graph() <span class="overload">[1/7]</span></h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">Graph::Graph </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"><em>V</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"><em>E</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<div class="fragment"><div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> {</div>
|
||||
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span> this->vertexNum = V;</div>
|
||||
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> this->edgeNum = E;</div>
|
||||
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> this->edges = (<a class="code hl_struct" href="../../d7/d77/class_edge.html">Edge</a> *)<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/c/malloc.html">malloc</a>(E * <span class="keyword">sizeof</span>(<a class="code hl_struct" href="../../d7/d77/class_edge.html">Edge</a>));</div>
|
||||
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> }</div>
|
||||
<div class="ttc" id="aclass_edge_html"><div class="ttname"><a href="../../d7/d77/class_edge.html">Edge</a></div><div class="ttdef"><b>Definition:</b> bellman_ford.cpp:7</div></div>
|
||||
<div class="ttc" id="amalloc_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/memory/c/malloc.html">std::malloc</a></div><div class="ttdeci">T malloc(T... args)</div></div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="af3ff6b295df8bf3bee0bafd7c7d56915" name="af3ff6b295df8bf3bee0bafd7c7d56915"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#af3ff6b295df8bf3bee0bafd7c7d56915">◆ </a></span>Graph() <span class="overload">[2/7]</span></h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">Graph::Graph </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"><em>V</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<div class="fragment"><div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> {</div>
|
||||
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span> this->vertexNum = V;</div>
|
||||
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span> this->edges = <span class="keyword">new</span> <span class="keywordtype">int</span> *[V];</div>
|
||||
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < V; i++) {</div>
|
||||
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span> this->edges[i] = <span class="keyword">new</span> <span class="keywordtype">int</span>[V];</div>
|
||||
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> j = 0; j < V; j++) this->edges[i][j] = INT_MAX;</div>
|
||||
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> this->edges[i][i] = 0;</div>
|
||||
<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> }</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="a902c5b3eacb66d60752525ab23297a95" name="a902c5b3eacb66d60752525ab23297a95"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a902c5b3eacb66d60752525ab23297a95">◆ </a></span>~Graph()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">Graph::~Graph </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<div class="fragment"><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="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < vertexNum; i++) <span class="keyword">delete</span>[] edges[i];</div>
|
||||
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> <span class="keyword">delete</span>[] edges;</div>
|
||||
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> }</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="ae4c72b8ac4d693c49800a4c7e273654f" name="ae4c72b8ac4d693c49800a4c7e273654f"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ae4c72b8ac4d693c49800a4c7e273654f">◆ </a></span>Graph() <span class="overload">[3/7]</span></h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">Graph::Graph </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<div class="fragment"><div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span>: m_adjList({}) {}</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="adcbd1b60cab30b97c54d700eee8e456d" name="adcbd1b60cab30b97c54d700eee8e456d"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#adcbd1b60cab30b97c54d700eee8e456d">◆ </a></span>Graph() <span class="overload">[4/7]</span></h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
@@ -262,7 +384,7 @@ int </td><td class="memItemRight" valign="bottom"><b>max_flow</b> = 0</td><
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Create a graph from vertices and adjacency list.</p>
|
||||
<p >Create a graph from vertices and adjacency list.</p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">vertices</td><td>specify the number of vertices the graph would contain. </td></tr>
|
||||
@@ -270,13 +392,13 @@ int </td><td class="memItemRight" valign="bottom"><b>max_flow</b> = 0</td><
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<div class="fragment"><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  : m_vertices(vertices), m_adjList(<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/move.html">std::move</a>(adjList)) {}</div>
|
||||
<div class="fragment"><div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> : m_vertices(vertices), m_adjList(<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/move.html">std::move</a>(adjList)) {}</div>
|
||||
<div class="ttc" id="amove_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/utility/move.html">std::move</a></div><div class="ttdeci">T move(T... args)</div></div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="a8c95e00effaea0cd9404dd74cd802ae3"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a8c95e00effaea0cd9404dd74cd802ae3">◆ </a></span>Graph() <span class="overload">[2/3]</span></h2>
|
||||
<a id="a8c95e00effaea0cd9404dd74cd802ae3" name="a8c95e00effaea0cd9404dd74cd802ae3"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a8c95e00effaea0cd9404dd74cd802ae3">◆ </a></span>Graph() <span class="overload">[5/7]</span></h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
@@ -308,7 +430,7 @@ int </td><td class="memItemRight" valign="bottom"><b>max_flow</b> = 0</td><
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Create a graph from vertices and adjacency list.</p>
|
||||
<p >Create a graph from vertices and adjacency list.</p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">vertices</td><td>specify the number of vertices the graph would contain. </td></tr>
|
||||
@@ -316,12 +438,12 @@ int </td><td class="memItemRight" valign="bottom"><b>max_flow</b> = 0</td><
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<div class="fragment"><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  : m_vertices(vertices), m_adjList(<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/move.html">std::move</a>(adjList)) {}</div>
|
||||
<div class="fragment"><div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> : m_vertices(vertices), m_adjList(<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/move.html">std::move</a>(adjList)) {}</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="aa99d44d3179d5bbbfa84a5031cf80cb1"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#aa99d44d3179d5bbbfa84a5031cf80cb1">◆ </a></span>Graph() <span class="overload">[3/3]</span></h2>
|
||||
<a id="aa99d44d3179d5bbbfa84a5031cf80cb1" name="aa99d44d3179d5bbbfa84a5031cf80cb1"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#aa99d44d3179d5bbbfa84a5031cf80cb1">◆ </a></span>Graph() <span class="overload">[6/7]</span></h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
@@ -353,8 +475,8 @@ int </td><td class="memItemRight" valign="bottom"><b>max_flow</b> = 0</td><
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Create a graph from vertices and a set of edges.</p>
|
||||
<p>Adjacency list of the graph would be created from the set of edges. If the source or destination of any edge has a value greater or equal to number of vertices, then it would throw a range_error.</p>
|
||||
<p >Create a graph from vertices and a set of edges.</p>
|
||||
<p >Adjacency list of the graph would be created from the set of edges. If the source or destination of any edge has a value greater or equal to number of vertices, then it would throw a range_error.</p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">vertices</td><td>specify the number of vertices the graph would contain. </td></tr>
|
||||
@@ -362,22 +484,64 @@ int </td><td class="memItemRight" valign="bottom"><b>max_flow</b> = 0</td><
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<div class="fragment"><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  : m_vertices(vertices) {</div>
|
||||
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <span class="keywordflow">for</span> (<span class="keyword">auto</span> <span class="keyword">const</span>& edge : edges) {</div>
|
||||
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  <span class="keywordflow">if</span> (edge.src >= vertices || edge.dest >= vertices) {</div>
|
||||
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <span class="keywordflow">throw</span> <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/error/range_error.html">std::range_error</a>(</div>
|
||||
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="stringliteral">"Either src or dest of edge out of range"</span>);</div>
|
||||
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  }</div>
|
||||
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  m_adjList[edge.src].emplace_back(edge.dest);</div>
|
||||
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  }</div>
|
||||
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  }</div>
|
||||
<div class="fragment"><div class="line"><a id="l00089" name="l00089"></a><span class="lineno"> 89</span> : m_vertices(vertices) {</div>
|
||||
<div class="line"><a id="l00090" name="l00090"></a><span class="lineno"> 90</span> <span class="keywordflow">for</span> (<span class="keyword">auto</span> <span class="keyword">const</span>& edge : edges) {</div>
|
||||
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> <span class="keywordflow">if</span> (edge.src >= vertices || edge.dest >= vertices) {</div>
|
||||
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> <span class="keywordflow">throw</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/error/range_error.html">std::range_error</a>(</div>
|
||||
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> <span class="stringliteral">"Either src or dest of edge out of range"</span>);</div>
|
||||
<div class="line"><a id="l00094" name="l00094"></a><span class="lineno"> 94</span> }</div>
|
||||
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> m_adjList[edge.src].emplace_back(edge.dest);</div>
|
||||
<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> }</div>
|
||||
<div class="ttc" id="arange_error_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/error/range_error.html">std::range_error</a></div></div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="acfa457b5f6f7eb480fd469fb980a01ea" name="acfa457b5f6f7eb480fd469fb980a01ea"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#acfa457b5f6f7eb480fd469fb980a01ea">◆ </a></span>Graph() <span class="overload">[7/7]</span></h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">Graph::Graph </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const int </td>
|
||||
<td class="paramname"><em>V</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<div class="fragment"><div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span> {</div>
|
||||
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span> <span class="comment">// initializes the array edges.</span></div>
|
||||
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span> this->edges = <span class="keyword">new</span> <span class="keywordtype">int</span> *[V];</div>
|
||||
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < V; i++) {</div>
|
||||
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span> edges[i] = <span class="keyword">new</span> <span class="keywordtype">int</span>[V];</div>
|
||||
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span> }</div>
|
||||
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> </div>
|
||||
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span> <span class="comment">// fills the array with zeros.</span></div>
|
||||
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < V; i++) {</div>
|
||||
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> j = 0; j < V; j++) {</div>
|
||||
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span> edges[i][j] = 0;</div>
|
||||
<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> }</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> this->vertexNum = V;</div>
|
||||
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> }</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<h2 class="groupheader">Member Function Documentation</h2>
|
||||
<a id="af765dda8f21280e1cecea19e129f1bc5"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#af765dda8f21280e1cecea19e129f1bc5">◆ </a></span>addEdge() <span class="overload">[1/2]</span></h2>
|
||||
<a id="af765dda8f21280e1cecea19e129f1bc5" name="af765dda8f21280e1cecea19e129f1bc5"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#af765dda8f21280e1cecea19e129f1bc5">◆ </a></span>addEdge() <span class="overload">[1/5]</span></h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
@@ -399,24 +563,166 @@ int </td><td class="memItemRight" valign="bottom"><b>max_flow</b> = 0</td><
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Add an edge in the graph.</p>
|
||||
<p >Add an edge in the graph.</p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">edge</td><td>that needs to be added. </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<div class="fragment"><div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  {</div>
|
||||
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <span class="keywordflow">if</span> (edge.src >= m_vertices || edge.dest >= m_vertices) {</div>
|
||||
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  <span class="keywordflow">throw</span> <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/error/range_error.html">std::range_error</a>(<span class="stringliteral">"Either src or dest of edge out of range"</span>);</div>
|
||||
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  }</div>
|
||||
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  m_adjList[edge.src].emplace_back(edge.dest);</div>
|
||||
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  }</div>
|
||||
<div class="fragment"><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> <span class="keywordflow">if</span> (edge.src >= m_vertices || edge.dest >= m_vertices) {</div>
|
||||
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> <span class="keywordflow">throw</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/error/range_error.html">std::range_error</a>(<span class="stringliteral">"Either src or dest of edge out of range"</span>);</div>
|
||||
<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> m_adjList[edge.src].emplace_back(edge.dest);</div>
|
||||
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> }</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="ac85c63bcca4764a621f9f8609a8e5910"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ac85c63bcca4764a621f9f8609a8e5910">◆ </a></span>addEdge() <span class="overload">[2/2]</span></h2>
|
||||
<a id="a6dc4dd4ce49c4052ad2a5d27523881f4" name="a6dc4dd4ce49c4052ad2a5d27523881f4"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a6dc4dd4ce49c4052ad2a5d27523881f4">◆ </a></span>addEdge() <span class="overload">[2/5]</span></h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void Graph::addEdge </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"><em>src</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"><em>dst</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"><em>weight</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<div class="fragment"><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="keyword">static</span> <span class="keywordtype">int</span> edgeInd = 0;</div>
|
||||
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> <span class="keywordflow">if</span> (edgeInd < this->edgeNum) {</div>
|
||||
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> <a class="code hl_struct" href="../../d7/d77/class_edge.html">Edge</a> newEdge;</div>
|
||||
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> newEdge.src = src;</div>
|
||||
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> newEdge.dst = dst;</div>
|
||||
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> newEdge.weight = weight;</div>
|
||||
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> this->edges[edgeInd++] = newEdge;</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> }</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="a6dc4dd4ce49c4052ad2a5d27523881f4" name="a6dc4dd4ce49c4052ad2a5d27523881f4"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a6dc4dd4ce49c4052ad2a5d27523881f4">◆ </a></span>addEdge() <span class="overload">[3/5]</span></h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void Graph::addEdge </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"><em>src</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"><em>dst</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"><em>weight</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<div class="fragment"><div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> {</div>
|
||||
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> this->edges[src][dst] = weight;</div>
|
||||
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> }</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="a6dc4dd4ce49c4052ad2a5d27523881f4" name="a6dc4dd4ce49c4052ad2a5d27523881f4"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a6dc4dd4ce49c4052ad2a5d27523881f4">◆ </a></span>addEdge() <span class="overload">[4/5]</span></h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void Graph::addEdge </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"><em>src</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"><em>dst</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"><em>weight</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<div class="fragment"><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> this->edges[src][dst] = weight;</div>
|
||||
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> }</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="ac85c63bcca4764a621f9f8609a8e5910" name="ac85c63bcca4764a621f9f8609a8e5910"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ac85c63bcca4764a621f9f8609a8e5910">◆ </a></span>addEdge() <span class="overload">[5/5]</span></h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
@@ -448,7 +754,7 @@ int </td><td class="memItemRight" valign="bottom"><b>max_flow</b> = 0</td><
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Add an <a class="el" href="../../d7/d77/class_edge.html">Edge</a> in the graph</p>
|
||||
<p >Add an <a class="el" href="../../d7/d77/class_edge.html">Edge</a> in the graph</p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">source</td><td>is source vertex of the edge. </td></tr>
|
||||
@@ -456,17 +762,17 @@ int </td><td class="memItemRight" valign="bottom"><b>max_flow</b> = 0</td><
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<div class="fragment"><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  {</div>
|
||||
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  <span class="keywordflow">if</span> (source >= m_vertices || destination >= m_vertices) {</div>
|
||||
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <span class="keywordflow">throw</span> <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/error/range_error.html">std::range_error</a>(</div>
|
||||
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <span class="stringliteral">"Either source or destination of edge out of range"</span>);</div>
|
||||
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  }</div>
|
||||
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  m_adjList[source].emplace_back(destination);</div>
|
||||
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  }</div>
|
||||
<div class="fragment"><div class="line"><a id="l00136" name="l00136"></a><span class="lineno"> 136</span> {</div>
|
||||
<div class="line"><a id="l00137" name="l00137"></a><span class="lineno"> 137</span> <span class="keywordflow">if</span> (source >= m_vertices || destination >= m_vertices) {</div>
|
||||
<div class="line"><a id="l00138" name="l00138"></a><span class="lineno"> 138</span> <span class="keywordflow">throw</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/error/range_error.html">std::range_error</a>(</div>
|
||||
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span> <span class="stringliteral">"Either source or destination of edge out of range"</span>);</div>
|
||||
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span> }</div>
|
||||
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span> m_adjList[source].emplace_back(destination);</div>
|
||||
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span> }</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="ac5a4d9a4f894a179198936042c778413"></a>
|
||||
<a id="ac5a4d9a4f894a179198936042c778413" name="ac5a4d9a4f894a179198936042c778413"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ac5a4d9a4f894a179198936042c778413">◆ </a></span>addVertices()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
@@ -489,19 +795,19 @@ int </td><td class="memItemRight" valign="bottom"><b>max_flow</b> = 0</td><
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Add vertices in the graph.</p>
|
||||
<p >Add vertices in the graph.</p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">num</td><td>is the number of vertices to be added. It adds 1 vertex by default. </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<div class="fragment"><div class="line"><a name="l00118"></a><span class="lineno"> 118</span> { m_vertices += num; }</div>
|
||||
<div class="fragment"><div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span>{ m_vertices += num; }</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="a6cb6fbec4ea7cfdfda368f2c468a757d"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a6cb6fbec4ea7cfdfda368f2c468a757d">◆ </a></span>getAdjList()</h2>
|
||||
<a id="acfd6fbc5243626bfb7b7116b76fedab0" name="acfd6fbc5243626bfb7b7116b76fedab0"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#acfd6fbc5243626bfb7b7116b76fedab0">◆ </a></span>bfs()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
@@ -510,7 +816,112 @@ int </td><td class="memItemRight" valign="bottom"><b>max_flow</b> = 0</td><
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/types/remove_reference.html">std::remove_reference</a><<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/map.html">AdjList</a>>::type const& Graph::getAdjList </td>
|
||||
<td class="memname">bool Graph::bfs </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"><em>source</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">int </td>
|
||||
<td class="paramname"><em>sink</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">private</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<div class="fragment"><div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span> { <span class="comment">// to find the augmented - path</span></div>
|
||||
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> visited.reset();</div>
|
||||
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/queue.html">std::queue<int></a> q;</div>
|
||||
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span> q.push(source);</div>
|
||||
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> <span class="keywordtype">bool</span> is_path_found = <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> <span class="keywordflow">while</span> (q.empty() == <span class="keyword">false</span> && is_path_found == <span class="keyword">false</span>) {</div>
|
||||
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> <span class="keywordtype">int</span> current_node = q.front();</div>
|
||||
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> visited.set(current_node);</div>
|
||||
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span> q.pop();</div>
|
||||
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < total_nodes; ++i) {</div>
|
||||
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span> <span class="keywordflow">if</span> (residual_capacity[current_node][i] > 0 && !visited[i]) {</div>
|
||||
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> visited.set(i);</div>
|
||||
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span> parent[i] = current_node;</div>
|
||||
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> <span class="keywordflow">if</span> (i == sink) {</div>
|
||||
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span> <span class="keywordflow">return</span> <span class="keyword">true</span>;</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> q.push(i);</div>
|
||||
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> }</div>
|
||||
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> }</div>
|
||||
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> }</div>
|
||||
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</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><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="ab7a517eb1a45f6539a53dffe5d790b12" name="ab7a517eb1a45f6539a53dffe5d790b12"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ab7a517eb1a45f6539a53dffe5d790b12">◆ </a></span>ford_fulkerson()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void Graph::ford_fulkerson </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<div class="fragment"><div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> {</div>
|
||||
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> <span class="keywordflow">while</span> (bfs(source, sink)) {</div>
|
||||
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> <span class="keywordtype">int</span> current_node = sink;</div>
|
||||
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> <span class="keywordtype">int</span> flow = <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/types/numeric_limits/max.html">std::numeric_limits<int>::max</a>();</div>
|
||||
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> <span class="keywordflow">while</span> (current_node != source) {</div>
|
||||
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> <span class="keywordtype">int</span> parent_ = parent[current_node];</div>
|
||||
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> flow = <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/min.html">std::min</a>(flow, residual_capacity[parent_][current_node]);</div>
|
||||
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> current_node = parent_;</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> current_node = sink;</div>
|
||||
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span> max_flow += flow;</div>
|
||||
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span> <span class="keywordflow">while</span> (current_node != source) {</div>
|
||||
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span> <span class="keywordtype">int</span> parent_ = parent[current_node];</div>
|
||||
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> residual_capacity[parent_][current_node] -= flow;</div>
|
||||
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> residual_capacity[current_node][parent_] += flow;</div>
|
||||
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> current_node = parent_;</div>
|
||||
<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> }</div>
|
||||
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span> }</div>
|
||||
<div class="ttc" id="amax_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/types/numeric_limits/max.html">std::numeric_limits::max</a></div><div class="ttdeci">T max(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><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="a5a090e1a63a5c47bdd1a539b21f7fd1d" name="a5a090e1a63a5c47bdd1a539b21f7fd1d"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a5a090e1a63a5c47bdd1a539b21f7fd1d">◆ </a></span>getAdjList()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/types/remove_reference.html">std::remove_reference</a>< <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/map.html">AdjList</a> >::type const & Graph::getAdjList </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td> const</td>
|
||||
@@ -522,15 +933,15 @@ int </td><td class="memItemRight" valign="bottom"><b>max_flow</b> = 0</td><
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Return a const reference of the adjacency list.</p>
|
||||
<p >Return a const reference of the adjacency list.</p>
|
||||
<dl class="section return"><dt>Returns</dt><dd>const reference to the adjacency list </dd></dl>
|
||||
<div class="fragment"><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  {</div>
|
||||
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <span class="keywordflow">return</span> m_adjList;</div>
|
||||
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  }</div>
|
||||
<div class="fragment"><div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span> {</div>
|
||||
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span> <span class="keywordflow">return</span> m_adjList;</div>
|
||||
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span> }</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="a8dcb5ce0b4a6f65827f5055d9d53a3f1"></a>
|
||||
<a id="a8dcb5ce0b4a6f65827f5055d9d53a3f1" name="a8dcb5ce0b4a6f65827f5055d9d53a3f1"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a8dcb5ce0b4a6f65827f5055d9d53a3f1">◆ </a></span>getVertices()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
@@ -553,7 +964,95 @@ int </td><td class="memItemRight" valign="bottom"><b>max_flow</b> = 0</td><
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<dl class="section return"><dt>Returns</dt><dd>number of vertices in the graph. </dd></dl>
|
||||
<div class="fragment"><div class="line"><a name="l00110"></a><span class="lineno"> 110</span> { <span class="keywordflow">return</span> m_vertices; }</div>
|
||||
<div class="fragment"><div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span>{ <span class="keywordflow">return</span> m_vertices; }</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="ac93ec6a876da0b5a61ebf3bebc347ba5" name="ac93ec6a876da0b5a61ebf3bebc347ba5"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ac93ec6a876da0b5a61ebf3bebc347ba5">◆ </a></span>print_flow_info()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void Graph::print_flow_info </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<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="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < total_nodes; ++i) {</div>
|
||||
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> j = 0; j < total_nodes; ++j) {</div>
|
||||
<div class="line"><a id="l00084" name="l00084"></a><span class="lineno"> 84</span> <span class="keywordflow">if</span> (capacity[i][j] &&</div>
|
||||
<div class="line"><a id="l00085" name="l00085"></a><span class="lineno"> 85</span> residual_capacity[i][j] < capacity[i][j]) {</div>
|
||||
<div class="line"><a id="l00086" name="l00086"></a><span class="lineno"> 86</span> edge_participated.emplace_back(<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/tuple/make_tuple.html">std::make_tuple</a>(</div>
|
||||
<div class="line"><a id="l00087" name="l00087"></a><span class="lineno"> 87</span> i, j, capacity[i][j] - residual_capacity[i][j]));</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 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> << <span class="stringliteral">"\nNodes : "</span> << total_nodes << <span class="stringliteral">"\nMax flow: "</span> << max_flow</div>
|
||||
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> << <span class="stringliteral">"\nEdge present in flow: "</span> << edge_participated.size()</div>
|
||||
<div class="line"><a id="l00093" name="l00093"></a><span class="lineno"> 93</span> << <span class="charliteral">'\n'</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_ostream.html">std::cout</a> << <span class="stringliteral">"\nSource\tDestination\tCapacity\total_nodes"</span>;</div>
|
||||
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> <span class="keywordflow">for</span> (<span class="keyword">auto</span>& edge_data : edge_participated) {</div>
|
||||
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> <span class="keywordtype">int</span> source = 0, destination = 0, capacity_ = 0;</div>
|
||||
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/tuple/tie.html">std::tie</a>(source, destination, capacity_) = edge_data;</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> << source << <span class="stringliteral">"\t"</span> << destination << <span class="stringliteral">"\t\t"</span> << capacity_</div>
|
||||
<div class="line"><a id="l00099" name="l00099"></a><span class="lineno"> 99</span> << <span class="charliteral">'\t'</span>;</div>
|
||||
<div class="line"><a id="l00100" name="l00100"></a><span class="lineno"> 100</span> }</div>
|
||||
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</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="amake_tuple_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/utility/tuple/make_tuple.html">std::make_tuple</a></div><div class="ttdeci">T make_tuple(T... args)</div></div>
|
||||
<div class="ttc" id="atie_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/utility/tuple/tie.html">std::tie</a></div><div class="ttdeci">T tie(T... args)</div></div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="a6d95f41d2df61697379ccc209c78f801" name="a6d95f41d2df61697379ccc209c78f801"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a6d95f41d2df61697379ccc209c78f801">◆ </a></span>set_graph()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void Graph::set_graph </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<div class="fragment"><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> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> >> total_nodes >> total_edges >> source >> sink;</div>
|
||||
<div class="line"><a id="l00052" name="l00052"></a><span class="lineno"> 52</span> parent = <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<int></a>(total_nodes, -1);</div>
|
||||
<div class="line"><a id="l00053" name="l00053"></a><span class="lineno"> 53</span> capacity = residual_capacity = <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<std::vector<int></a> >(</div>
|
||||
<div class="line"><a id="l00054" name="l00054"></a><span class="lineno"> 54</span> total_nodes, <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector<int></a>(total_nodes));</div>
|
||||
<div class="line"><a id="l00055" name="l00055"></a><span class="lineno"> 55</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> start = 0, destination = 0, capacity_ = 0, i = 0;</div>
|
||||
<div class="line"><a id="l00056" name="l00056"></a><span class="lineno"> 56</span> i < total_edges; ++i) {</div>
|
||||
<div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> >> start >> destination >> capacity_;</div>
|
||||
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> residual_capacity[start][destination] = capacity_;</div>
|
||||
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> capacity[start][destination] = capacity_;</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="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="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>
|
||||
@@ -570,7 +1069,7 @@ int </td><td class="memItemRight" valign="bottom"><b>max_flow</b> = 0</td><
|
||||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="../../da/d9a/class_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>
|
||||
|
||||
@@ -1,44 +1,11 @@
|
||||
var class_graph =
|
||||
[
|
||||
[ "Graph", "da/d9a/class_graph.html#ad3b98f95ee53f91afad11b8eaddc35e0", null ],
|
||||
[ "Graph", "da/d9a/class_graph.html#af3ff6b295df8bf3bee0bafd7c7d56915", null ],
|
||||
[ "~Graph", "da/d9a/class_graph.html#a902c5b3eacb66d60752525ab23297a95", null ],
|
||||
[ "Graph", "da/d9a/class_graph.html#ae4c72b8ac4d693c49800a4c7e273654f", null ],
|
||||
[ "~Graph", "da/d9a/class_graph.html#a9f341e2e8348a3f484987bdb0cec8006", null ],
|
||||
[ "Graph", "da/d9a/class_graph.html#ade809d353b640b9c2773d71d4f57d57d", null ],
|
||||
[ "Graph", "da/d9a/class_graph.html#a04365fc6f13bf330e38dbc1424134827", null ],
|
||||
[ "Graph", "da/d9a/class_graph.html#adcbd1b60cab30b97c54d700eee8e456d", null ],
|
||||
[ "Graph", "da/d9a/class_graph.html#a8c95e00effaea0cd9404dd74cd802ae3", null ],
|
||||
[ "Graph", "da/d9a/class_graph.html#aa99d44d3179d5bbbfa84a5031cf80cb1", null ],
|
||||
[ "Graph", "da/d9a/class_graph.html#acfa457b5f6f7eb480fd469fb980a01ea", null ],
|
||||
[ "addEdge", "da/d9a/class_graph.html#af765dda8f21280e1cecea19e129f1bc5", null ],
|
||||
[ "addEdge", "da/d9a/class_graph.html#a6dc4dd4ce49c4052ad2a5d27523881f4", null ],
|
||||
[ "addEdge", "da/d9a/class_graph.html#a6dc4dd4ce49c4052ad2a5d27523881f4", null ],
|
||||
[ "addEdge", "da/d9a/class_graph.html#a6dc4dd4ce49c4052ad2a5d27523881f4", null ],
|
||||
[ "addEdge", "da/d9a/class_graph.html#ac85c63bcca4764a621f9f8609a8e5910", null ],
|
||||
[ "addVertices", "da/d9a/class_graph.html#ac5a4d9a4f894a179198936042c778413", null ],
|
||||
[ "bfs", "da/d9a/class_graph.html#acfd6fbc5243626bfb7b7116b76fedab0", null ],
|
||||
[ "ford_fulkerson", "da/d9a/class_graph.html#ab7a517eb1a45f6539a53dffe5d790b12", null ],
|
||||
[ "getAdjList", "da/d9a/class_graph.html#a6cb6fbec4ea7cfdfda368f2c468a757d", null ],
|
||||
[ "getVertices", "da/d9a/class_graph.html#a8dcb5ce0b4a6f65827f5055d9d53a3f1", null ],
|
||||
[ "operator=", "da/d9a/class_graph.html#a14da756c7e346c651e8cf14df2437d4a", null ],
|
||||
[ "operator=", "da/d9a/class_graph.html#ac3e58f4a0c8c65befe6629f4e1b71142", null ],
|
||||
[ "print_flow_info", "da/d9a/class_graph.html#ac93ec6a876da0b5a61ebf3bebc347ba5", null ],
|
||||
[ "set_graph", "da/d9a/class_graph.html#a6d95f41d2df61697379ccc209c78f801", null ],
|
||||
[ "capacity", "da/d9a/class_graph.html#a8a34b80e2f3749992e0e9b83de742fba", null ],
|
||||
[ "edge_participated", "da/d9a/class_graph.html#a73268574e2528b8e760191113ef6d1eb", null ],
|
||||
[ "edgeNum", "da/d9a/class_graph.html#a10ff9c6c323cf435f18e424dbb62235e", null ],
|
||||
[ "edges", "da/d9a/class_graph.html#a3535be2ce0d62152e54395951330da81", null ],
|
||||
[ "edges", "da/d9a/class_graph.html#a268ba18d421817ad8713c2e92f19d82a", null ],
|
||||
[ "m_adjList", "da/d9a/class_graph.html#a13697caf8be6275ebb7b9497c9a9d6e5", null ],
|
||||
[ "m_vertices", "da/d9a/class_graph.html#a61943646676002a5e75f7b6493c25713", null ],
|
||||
[ "max_flow", "da/d9a/class_graph.html#aa0aaff1a0c13bdf209ea40b83ac01ae6", null ],
|
||||
[ "parent", "da/d9a/class_graph.html#a9474bfdf769cc0d23f5b16c181a29431", null ],
|
||||
[ "residual_capacity", "da/d9a/class_graph.html#a92a601c0ada840011e2719cb753b490b", null ],
|
||||
[ "sink", "da/d9a/class_graph.html#a47336f7cfe4698ef887a34e03f1a3856", null ],
|
||||
[ "source", "da/d9a/class_graph.html#a9912e31b32405d21a4c22a9ab8dece30", null ],
|
||||
[ "total_edges", "da/d9a/class_graph.html#ad621c5393837c21780ff3477431707ac", null ],
|
||||
[ "total_nodes", "da/d9a/class_graph.html#ae93ae98711b868af601d424954fe94ac", null ],
|
||||
[ "vertexNum", "da/d9a/class_graph.html#a6afcd41564ea00294a4c089414979ca1", null ],
|
||||
[ "visited", "da/d9a/class_graph.html#af1abf6ea5346e12dea4df46262ff35aa", null ]
|
||||
[ "getAdjList", "da/d9a/class_graph.html#a5a090e1a63a5c47bdd1a539b21f7fd1d", null ],
|
||||
[ "getVertices", "da/d9a/class_graph.html#a8dcb5ce0b4a6f65827f5055d9d53a3f1", null ]
|
||||
];
|
||||
@@ -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/palindrome_of_number.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++
|
||||
 <span id="projectnumber">1.0.0</span>
|
||||
<div id="projectname">Algorithms_in_C++<span id="projectnumber"> 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&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "../../search",false,'Search','.html');
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&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&dn=gpl-2.0.txt GPL-v2 */
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&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&dn=gpl-2.0.txt GPL-v2 */
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||
$(document).ready(function(){initNavTree('da/d9a/palindrome__of__number_8cpp.html','../../'); initResizable(); });
|
||||
/* @license-end */
|
||||
</script>
|
||||
@@ -92,12 +92,11 @@ $(document).ready(function(){initNavTree('da/d9a/palindrome__of__number_8cpp.htm
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#func-members">Functions</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">palindrome_of_number.cpp File Reference</div> </div>
|
||||
<div class="headertitle"><div class="title">palindrome_of_number.cpp File Reference</div></div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>Check if a number is <a href="https://en.wikipedia.org/wiki/Palindrome">palindrome</a> or not.
|
||||
<p>Check if a number is <a href="https://en.wikipedia.org/wiki/Palindrome" target="_blank">palindrome</a> or not.
|
||||
<a href="#details">More...</a></p>
|
||||
<div class="textblock"><code>#include <algorithm></code><br />
|
||||
<code>#include <iostream></code><br />
|
||||
@@ -109,16 +108,16 @@ Include dependency graph for palindrome_of_number.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:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d9a/palindrome__of__number_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a> ()</td></tr>
|
||||
<tr class="separator:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p>Check if a number is <a href="https://en.wikipedia.org/wiki/Palindrome">palindrome</a> or not. </p>
|
||||
<p>This program cheats by using the STL library's <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/reverse.html">std::reverse</a> function. </p>
|
||||
<div class="textblock"><p >Check if a number is <a href="https://en.wikipedia.org/wiki/Palindrome" target="_blank">palindrome</a> or not. </p>
|
||||
<p >This program cheats by using the STL library's <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/reverse.html">std::reverse</a> function. </p>
|
||||
</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">◆ </a></span>main()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
@@ -133,24 +132,24 @@ Functions</h2></td></tr>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Main function </p>
|
||||
<div class="fragment"><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>  {</div>
|
||||
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>  <span class="keywordtype">int</span> num;</div>
|
||||
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Enter number = "</span>;</div>
|
||||
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> >> num;</div>
|
||||
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>  </div>
|
||||
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> s1 = <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string/to_string.html">std::to_string</a>(num); <span class="comment">// convert number to string</span></div>
|
||||
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> s2 = s1;</div>
|
||||
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>  </div>
|
||||
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/reverse.html">std::reverse</a>(s1.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string/begin.html">begin</a>(), s1.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string/end.html">end</a>()); <span class="comment">// reverse the string</span></div>
|
||||
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>  </div>
|
||||
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>  <span class="keywordflow">if</span> (s1 == s2) <span class="comment">// check if reverse and original string are identical</span></div>
|
||||
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"true"</span>;</div>
|
||||
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>  <span class="keywordflow">else</span></div>
|
||||
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"false"</span>;</div>
|
||||
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  </div>
|
||||
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  <span class="keywordflow">return</span> 0;</div>
|
||||
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span> }</div>
|
||||
<p >Main function </p>
|
||||
<div class="fragment"><div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span> {</div>
|
||||
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span> <span class="keywordtype">int</span> num;</div>
|
||||
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Enter number = "</span>;</div>
|
||||
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> >> num;</div>
|
||||
<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> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> s1 = <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string/to_string.html">std::to_string</a>(num); <span class="comment">// convert number to string</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> s2 = s1;</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> <a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/reverse.html">std::reverse</a>(s1.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string/begin.html">begin</a>(), s1.<a class="code hl_functionRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string/end.html">end</a>()); <span class="comment">// reverse the string</span></div>
|
||||
<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="keywordflow">if</span> (s1 == s2) <span class="comment">// check if reverse and original string are identical</span></div>
|
||||
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"true"</span>;</div>
|
||||
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> <span class="keywordflow">else</span></div>
|
||||
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"false"</span>;</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> <span class="keywordflow">return</span> 0;</div>
|
||||
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</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="abasic_string_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a></div></div>
|
||||
@@ -173,7 +172,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="../../da/d9a/palindrome__of__number_8cpp.html">palindrome_of_number.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>
|
||||
|
||||
@@ -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="172pt" height="142pt"
|
||||
|
||||
|
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 3.8 KiB |
@@ -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++: ciphers/uint256_t.hpp 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++
|
||||
 <span id="projectnumber">1.0.0</span>
|
||||
<div id="projectname">Algorithms_in_C++<span id="projectnumber"> 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&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "../../search",false,'Search','.html');
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&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&dn=gpl-2.0.txt GPL-v2 */
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&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&dn=gpl-2.0.txt GPL-v2 */
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||
$(document).ready(function(){initNavTree('da/da3/uint256__t_8hpp.html','../../'); initResizable(); });
|
||||
/* @license-end */
|
||||
</script>
|
||||
@@ -94,8 +94,7 @@ $(document).ready(function(){initNavTree('da/da3/uint256__t_8hpp.html','../../')
|
||||
<a href="#nested-classes">Classes</a> |
|
||||
<a href="#define-members">Macros</a> |
|
||||
<a href="#func-members">Functions</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">uint256_t.hpp File Reference</div> </div>
|
||||
<div class="headertitle"><div class="title">uint256_t.hpp File Reference</div></div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
<div class="textblock"><code>#include <string></code><br />
|
||||
@@ -116,7 +115,7 @@ This graph shows which files directly or indirectly include this file:</div>
|
||||
</div>
|
||||
<p><a href="../../da/da3/uint256__t_8hpp_source.html">Go to the source code of this file.</a></p>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="nested-classes" name="nested-classes"></a>
|
||||
Classes</h2></td></tr>
|
||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d47/structstd_1_1is__integral_3_01uint256__t_01_4.html">std::is_integral< uint256_t ></a></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
@@ -128,84 +127,68 @@ Classes</h2></td></tr>
|
||||
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">class for 256-bit unsigned integer <a href="../../d1/d83/classuint256__t.html#details">More...</a><br /></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </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:a1d8c5ec5b5e419c5c8a740251485102c"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/da3/uint256__t_8hpp.html#a1d8c5ec5b5e419c5c8a740251485102c">CIPHERS_UINT256_T_HPP_</a></td></tr>
|
||||
<tr class="memdesc:a1d8c5ec5b5e419c5c8a740251485102c"><td class="mdescLeft"> </td><td class="mdescRight">for <code><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair</a></code> library <a href="../../da/da3/uint256__t_8hpp.html#a1d8c5ec5b5e419c5c8a740251485102c">More...</a><br /></td></tr>
|
||||
<tr class="separator:a1d8c5ec5b5e419c5c8a740251485102c"><td class="memSeparator" colspan="2"> </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:a48254ef1f66f4133ecf865db3d952d26"><td class="memTemplParams" colspan="2"><a id="a48254ef1f66f4133ecf865db3d952d26"></a>
|
||||
template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </td></tr>
|
||||
<tr class="memitem:a48254ef1f66f4133ecf865db3d952d26"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> </td><td class="memTemplItemRight" valign="bottom"><b>operator+</b> (const T p, const <a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> &q)</td></tr>
|
||||
<tr class="memitem:a48254ef1f66f4133ecf865db3d952d26"><td class="memTemplParams" colspan="2">template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </td></tr>
|
||||
<tr class="memitem:a48254ef1f66f4133ecf865db3d952d26"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../da/da3/uint256__t_8hpp.html#a48254ef1f66f4133ecf865db3d952d26">operator+</a> (const T p, const <a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> &q)</td></tr>
|
||||
<tr class="separator:a48254ef1f66f4133ecf865db3d952d26"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:abbcba1cebd3e2e59d3d36cb467257908"><td class="memTemplParams" colspan="2"><a id="abbcba1cebd3e2e59d3d36cb467257908"></a>
|
||||
template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </td></tr>
|
||||
<tr class="memitem:abbcba1cebd3e2e59d3d36cb467257908"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> </td><td class="memTemplItemRight" valign="bottom"><b>operator-</b> (const T p, const <a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> &q)</td></tr>
|
||||
<tr class="memitem:abbcba1cebd3e2e59d3d36cb467257908"><td class="memTemplParams" colspan="2">template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </td></tr>
|
||||
<tr class="memitem:abbcba1cebd3e2e59d3d36cb467257908"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../da/da3/uint256__t_8hpp.html#abbcba1cebd3e2e59d3d36cb467257908">operator-</a> (const T p, const <a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> &q)</td></tr>
|
||||
<tr class="separator:abbcba1cebd3e2e59d3d36cb467257908"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:afb4de9c26cbc9703498b7c9bb1f2e82c"><td class="memTemplParams" colspan="2"><a id="afb4de9c26cbc9703498b7c9bb1f2e82c"></a>
|
||||
template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </td></tr>
|
||||
<tr class="memitem:afb4de9c26cbc9703498b7c9bb1f2e82c"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> </td><td class="memTemplItemRight" valign="bottom"><b>operator*</b> (const T p, const <a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> &q)</td></tr>
|
||||
<tr class="memitem:afb4de9c26cbc9703498b7c9bb1f2e82c"><td class="memTemplParams" colspan="2">template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </td></tr>
|
||||
<tr class="memitem:afb4de9c26cbc9703498b7c9bb1f2e82c"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../da/da3/uint256__t_8hpp.html#afb4de9c26cbc9703498b7c9bb1f2e82c">operator*</a> (const T p, const <a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> &q)</td></tr>
|
||||
<tr class="separator:afb4de9c26cbc9703498b7c9bb1f2e82c"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a40a87955f587331d634122245e7f7e71"><td class="memTemplParams" colspan="2"><a id="a40a87955f587331d634122245e7f7e71"></a>
|
||||
template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </td></tr>
|
||||
<tr class="memitem:a40a87955f587331d634122245e7f7e71"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> </td><td class="memTemplItemRight" valign="bottom"><b>operator/</b> (const T p, const <a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> &q)</td></tr>
|
||||
<tr class="memitem:a40a87955f587331d634122245e7f7e71"><td class="memTemplParams" colspan="2">template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </td></tr>
|
||||
<tr class="memitem:a40a87955f587331d634122245e7f7e71"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../da/da3/uint256__t_8hpp.html#a40a87955f587331d634122245e7f7e71">operator/</a> (const T p, const <a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> &q)</td></tr>
|
||||
<tr class="separator:a40a87955f587331d634122245e7f7e71"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a8922612404dc44b89fa98f36a847c52a"><td class="memTemplParams" colspan="2"><a id="a8922612404dc44b89fa98f36a847c52a"></a>
|
||||
template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </td></tr>
|
||||
<tr class="memitem:a8922612404dc44b89fa98f36a847c52a"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> </td><td class="memTemplItemRight" valign="bottom"><b>operator%</b> (const T p, const <a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> &q)</td></tr>
|
||||
<tr class="memitem:a8922612404dc44b89fa98f36a847c52a"><td class="memTemplParams" colspan="2">template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </td></tr>
|
||||
<tr class="memitem:a8922612404dc44b89fa98f36a847c52a"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../da/da3/uint256__t_8hpp.html#a8922612404dc44b89fa98f36a847c52a">operator%</a> (const T p, const <a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> &q)</td></tr>
|
||||
<tr class="separator:a8922612404dc44b89fa98f36a847c52a"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ac0284490bb7e07b5f71b5245b503c1cb"><td class="memTemplParams" colspan="2"><a id="ac0284490bb7e07b5f71b5245b503c1cb"></a>
|
||||
template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </td></tr>
|
||||
<tr class="memitem:ac0284490bb7e07b5f71b5245b503c1cb"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> </td><td class="memTemplItemRight" valign="bottom"><b>operator&</b> (const T &p, const <a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> &q)</td></tr>
|
||||
<tr class="memitem:ac0284490bb7e07b5f71b5245b503c1cb"><td class="memTemplParams" colspan="2">template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </td></tr>
|
||||
<tr class="memitem:ac0284490bb7e07b5f71b5245b503c1cb"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../da/da3/uint256__t_8hpp.html#ac0284490bb7e07b5f71b5245b503c1cb">operator&</a> (const T &p, const <a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> &q)</td></tr>
|
||||
<tr class="separator:ac0284490bb7e07b5f71b5245b503c1cb"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a0f55118b7c55b72d45715a1d315a3f8f"><td class="memTemplParams" colspan="2"><a id="a0f55118b7c55b72d45715a1d315a3f8f"></a>
|
||||
template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </td></tr>
|
||||
<tr class="memitem:a0f55118b7c55b72d45715a1d315a3f8f"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> </td><td class="memTemplItemRight" valign="bottom"><b>operator|</b> (const T p, const <a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> &q)</td></tr>
|
||||
<tr class="memitem:a0f55118b7c55b72d45715a1d315a3f8f"><td class="memTemplParams" colspan="2">template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </td></tr>
|
||||
<tr class="memitem:a0f55118b7c55b72d45715a1d315a3f8f"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../da/da3/uint256__t_8hpp.html#a0f55118b7c55b72d45715a1d315a3f8f">operator|</a> (const T p, const <a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> &q)</td></tr>
|
||||
<tr class="separator:a0f55118b7c55b72d45715a1d315a3f8f"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a96d2a73664565cab39c8cab4c08e92d4"><td class="memTemplParams" colspan="2"><a id="a96d2a73664565cab39c8cab4c08e92d4"></a>
|
||||
template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </td></tr>
|
||||
<tr class="memitem:a96d2a73664565cab39c8cab4c08e92d4"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> </td><td class="memTemplItemRight" valign="bottom"><b>operator^</b> (const T p, const <a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> &q)</td></tr>
|
||||
<tr class="memitem:a96d2a73664565cab39c8cab4c08e92d4"><td class="memTemplParams" colspan="2">template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </td></tr>
|
||||
<tr class="memitem:a96d2a73664565cab39c8cab4c08e92d4"><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../da/da3/uint256__t_8hpp.html#a96d2a73664565cab39c8cab4c08e92d4">operator^</a> (const T p, const <a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> &q)</td></tr>
|
||||
<tr class="separator:a96d2a73664565cab39c8cab4c08e92d4"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a32bdea60d90535aedb8cff59b63943a9"><td class="memTemplParams" colspan="2"><a id="a32bdea60d90535aedb8cff59b63943a9"></a>
|
||||
template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </td></tr>
|
||||
<tr class="memitem:a32bdea60d90535aedb8cff59b63943a9"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator&&</b> (const T p, const <a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> &q)</td></tr>
|
||||
<tr class="memitem:a32bdea60d90535aedb8cff59b63943a9"><td class="memTemplParams" colspan="2">template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </td></tr>
|
||||
<tr class="memitem:a32bdea60d90535aedb8cff59b63943a9"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../da/da3/uint256__t_8hpp.html#a32bdea60d90535aedb8cff59b63943a9">operator&&</a> (const T p, const <a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> &q)</td></tr>
|
||||
<tr class="separator:a32bdea60d90535aedb8cff59b63943a9"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ada1648275a81635a5ca8eb2417643442"><td class="memTemplParams" colspan="2"><a id="ada1648275a81635a5ca8eb2417643442"></a>
|
||||
template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </td></tr>
|
||||
<tr class="memitem:ada1648275a81635a5ca8eb2417643442"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator||</b> (const T p, const <a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> &q)</td></tr>
|
||||
<tr class="memitem:ada1648275a81635a5ca8eb2417643442"><td class="memTemplParams" colspan="2">template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </td></tr>
|
||||
<tr class="memitem:ada1648275a81635a5ca8eb2417643442"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../da/da3/uint256__t_8hpp.html#ada1648275a81635a5ca8eb2417643442">operator||</a> (const T p, const <a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> &q)</td></tr>
|
||||
<tr class="separator:ada1648275a81635a5ca8eb2417643442"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a436748bb089cf10f96273195c39f802b"><td class="memTemplParams" colspan="2"><a id="a436748bb089cf10f96273195c39f802b"></a>
|
||||
template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </td></tr>
|
||||
<tr class="memitem:a436748bb089cf10f96273195c39f802b"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator==</b> (const T p, const <a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> &q)</td></tr>
|
||||
<tr class="memitem:a436748bb089cf10f96273195c39f802b"><td class="memTemplParams" colspan="2">template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </td></tr>
|
||||
<tr class="memitem:a436748bb089cf10f96273195c39f802b"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../da/da3/uint256__t_8hpp.html#a436748bb089cf10f96273195c39f802b">operator==</a> (const T p, const <a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> &q)</td></tr>
|
||||
<tr class="separator:a436748bb089cf10f96273195c39f802b"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a773037cfe07a6e605c1268150de2ab65"><td class="memTemplParams" colspan="2"><a id="a773037cfe07a6e605c1268150de2ab65"></a>
|
||||
template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </td></tr>
|
||||
<tr class="memitem:a773037cfe07a6e605c1268150de2ab65"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator!=</b> (const T p, const <a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> &q)</td></tr>
|
||||
<tr class="memitem:a773037cfe07a6e605c1268150de2ab65"><td class="memTemplParams" colspan="2">template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </td></tr>
|
||||
<tr class="memitem:a773037cfe07a6e605c1268150de2ab65"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../da/da3/uint256__t_8hpp.html#a773037cfe07a6e605c1268150de2ab65">operator!=</a> (const T p, const <a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> &q)</td></tr>
|
||||
<tr class="separator:a773037cfe07a6e605c1268150de2ab65"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a6f447b5dd8c34a9dd92687d2ce967a68"><td class="memTemplParams" colspan="2"><a id="a6f447b5dd8c34a9dd92687d2ce967a68"></a>
|
||||
template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </td></tr>
|
||||
<tr class="memitem:a6f447b5dd8c34a9dd92687d2ce967a68"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator<</b> (const T p, const <a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> &q)</td></tr>
|
||||
<tr class="memitem:a6f447b5dd8c34a9dd92687d2ce967a68"><td class="memTemplParams" colspan="2">template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </td></tr>
|
||||
<tr class="memitem:a6f447b5dd8c34a9dd92687d2ce967a68"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../da/da3/uint256__t_8hpp.html#a6f447b5dd8c34a9dd92687d2ce967a68">operator<</a> (const T p, const <a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> &q)</td></tr>
|
||||
<tr class="separator:a6f447b5dd8c34a9dd92687d2ce967a68"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:abebd4be3ac82d0d4171441e2f5eba59b"><td class="memTemplParams" colspan="2"><a id="abebd4be3ac82d0d4171441e2f5eba59b"></a>
|
||||
template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </td></tr>
|
||||
<tr class="memitem:abebd4be3ac82d0d4171441e2f5eba59b"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator<=</b> (const T p, const <a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> &q)</td></tr>
|
||||
<tr class="memitem:abebd4be3ac82d0d4171441e2f5eba59b"><td class="memTemplParams" colspan="2">template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </td></tr>
|
||||
<tr class="memitem:abebd4be3ac82d0d4171441e2f5eba59b"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../da/da3/uint256__t_8hpp.html#abebd4be3ac82d0d4171441e2f5eba59b">operator<=</a> (const T p, const <a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> &q)</td></tr>
|
||||
<tr class="separator:abebd4be3ac82d0d4171441e2f5eba59b"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a3b9c335372e53e588821bb25e9fb74c7"><td class="memTemplParams" colspan="2"><a id="a3b9c335372e53e588821bb25e9fb74c7"></a>
|
||||
template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </td></tr>
|
||||
<tr class="memitem:a3b9c335372e53e588821bb25e9fb74c7"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator></b> (const T p, const <a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> &q)</td></tr>
|
||||
<tr class="memitem:a3b9c335372e53e588821bb25e9fb74c7"><td class="memTemplParams" colspan="2">template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </td></tr>
|
||||
<tr class="memitem:a3b9c335372e53e588821bb25e9fb74c7"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../da/da3/uint256__t_8hpp.html#a3b9c335372e53e588821bb25e9fb74c7">operator></a> (const T p, const <a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> &q)</td></tr>
|
||||
<tr class="separator:a3b9c335372e53e588821bb25e9fb74c7"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ae0b25b53db33a0351179c60f48c9462d"><td class="memTemplParams" colspan="2"><a id="ae0b25b53db33a0351179c60f48c9462d"></a>
|
||||
template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </td></tr>
|
||||
<tr class="memitem:ae0b25b53db33a0351179c60f48c9462d"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><b>operator>=</b> (const T p, const <a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> &q)</td></tr>
|
||||
<tr class="memitem:ae0b25b53db33a0351179c60f48c9462d"><td class="memTemplParams" colspan="2">template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </td></tr>
|
||||
<tr class="memitem:ae0b25b53db33a0351179c60f48c9462d"><td class="memTemplItemLeft" align="right" valign="top">bool </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../da/da3/uint256__t_8hpp.html#ae0b25b53db33a0351179c60f48c9462d">operator>=</a> (const T p, const <a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> &q)</td></tr>
|
||||
<tr class="separator:ae0b25b53db33a0351179c60f48c9462d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p>Implementation of 256-bit unsigned integers. </p><dl class="section note"><dt>Note</dt><dd>The implementation can be flagged as not completed. This header is used with enough operations to demonstrate the usage of ECDH (Elliptic Curve Diffie-Hellman) Key exchange. </dd></dl>
|
||||
<dl class="section author"><dt>Author</dt><dd><a href="https://github.com/AshishYUO">Ashish Daulatabad</a> </dd></dl>
|
||||
<div class="textblock"><p >Implementation of 256-bit unsigned integers. </p><dl class="section note"><dt>Note</dt><dd>The implementation can be flagged as not completed. This header is used with enough operations to demonstrate the usage of ECDH (Elliptic Curve Diffie-Hellman) Key exchange. </dd></dl>
|
||||
<dl class="section author"><dt>Author</dt><dd><a href="https://github.com/AshishYUO" target="_blank">Ashish Daulatabad</a> </dd></dl>
|
||||
</div><h2 class="groupheader">Macro Definition Documentation</h2>
|
||||
<a id="a1d8c5ec5b5e419c5c8a740251485102c"></a>
|
||||
<a id="a1d8c5ec5b5e419c5c8a740251485102c" name="a1d8c5ec5b5e419c5c8a740251485102c"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a1d8c5ec5b5e419c5c8a740251485102c">◆ </a></span>CIPHERS_UINT256_T_HPP_</h2>
|
||||
|
||||
<div class="memitem">
|
||||
@@ -218,8 +201,666 @@ template<typename T , typename = typename std::enable_if<
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>for <code><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair</a></code> library </p>
|
||||
<p>for <code><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a></code> for <a class="el" href="../../db/d9a/classuint128__t.html" title="class for 128-bit unsigned integer">uint128_t</a> integer </p>
|
||||
<p >for <code><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a></code> for <a class="el" href="../../db/d9a/classuint128__t.html" title="class for 128-bit unsigned integer">uint128_t</a> integer </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<h2 class="groupheader">Function Documentation</h2>
|
||||
<a id="a773037cfe07a6e605c1268150de2ab65" name="a773037cfe07a6e605c1268150de2ab65"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a773037cfe07a6e605c1268150de2ab65">◆ </a></span>operator!=()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">bool operator!= </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const T </td>
|
||||
<td class="paramname"><em>p</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const <a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> & </td>
|
||||
<td class="paramname"><em>q</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<div class="fragment"><div class="line"><a id="l01046" name="l01046"></a><span class="lineno"> 1046</span> {</div>
|
||||
<div class="line"><a id="l01047" name="l01047"></a><span class="lineno"> 1047</span> <span class="keywordflow">return</span> <a class="code hl_class" href="../../d1/d83/classuint256__t.html">uint256_t</a>(p) != q;</div>
|
||||
<div class="line"><a id="l01048" name="l01048"></a><span class="lineno"> 1048</span>}</div>
|
||||
<div class="ttc" id="aclassuint256__t_html"><div class="ttname"><a href="../../d1/d83/classuint256__t.html">uint256_t</a></div><div class="ttdoc">class for 256-bit unsigned integer</div><div class="ttdef"><b>Definition:</b> uint256_t.hpp:33</div></div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="a8922612404dc44b89fa98f36a847c52a" name="a8922612404dc44b89fa98f36a847c52a"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a8922612404dc44b89fa98f36a847c52a">◆ </a></span>operator%()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> operator% </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const T </td>
|
||||
<td class="paramname"><em>p</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const <a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> & </td>
|
||||
<td class="paramname"><em>q</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<div class="fragment"><div class="line"><a id="l01001" name="l01001"></a><span class="lineno"> 1001</span> {</div>
|
||||
<div class="line"><a id="l01002" name="l01002"></a><span class="lineno"> 1002</span> <span class="keywordflow">return</span> <a class="code hl_class" href="../../d1/d83/classuint256__t.html">uint256_t</a>(p) % q;</div>
|
||||
<div class="line"><a id="l01003" name="l01003"></a><span class="lineno"> 1003</span>}</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="ac0284490bb7e07b5f71b5245b503c1cb" name="ac0284490bb7e07b5f71b5245b503c1cb"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ac0284490bb7e07b5f71b5245b503c1cb">◆ </a></span>operator&()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> operator& </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const T & </td>
|
||||
<td class="paramname"><em>p</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const <a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> & </td>
|
||||
<td class="paramname"><em>q</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<div class="fragment"><div class="line"><a id="l01008" name="l01008"></a><span class="lineno"> 1008</span> {</div>
|
||||
<div class="line"><a id="l01009" name="l01009"></a><span class="lineno"> 1009</span> <span class="keywordflow">return</span> <a class="code hl_class" href="../../d1/d83/classuint256__t.html">uint256_t</a>(p) & q;</div>
|
||||
<div class="line"><a id="l01010" name="l01010"></a><span class="lineno"> 1010</span>}</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="a32bdea60d90535aedb8cff59b63943a9" name="a32bdea60d90535aedb8cff59b63943a9"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a32bdea60d90535aedb8cff59b63943a9">◆ </a></span>operator&&()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">bool operator&& </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const T </td>
|
||||
<td class="paramname"><em>p</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const <a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> & </td>
|
||||
<td class="paramname"><em>q</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<div class="fragment"><div class="line"><a id="l01027" name="l01027"></a><span class="lineno"> 1027</span> {</div>
|
||||
<div class="line"><a id="l01028" name="l01028"></a><span class="lineno"> 1028</span> <span class="keywordflow">return</span> <a class="code hl_class" href="../../d1/d83/classuint256__t.html">uint256_t</a>(p) && q;</div>
|
||||
<div class="line"><a id="l01029" name="l01029"></a><span class="lineno"> 1029</span>}</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="afb4de9c26cbc9703498b7c9bb1f2e82c" name="afb4de9c26cbc9703498b7c9bb1f2e82c"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#afb4de9c26cbc9703498b7c9bb1f2e82c">◆ </a></span>operator*()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> operator* </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const T </td>
|
||||
<td class="paramname"><em>p</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const <a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> & </td>
|
||||
<td class="paramname"><em>q</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<div class="fragment"><div class="line"><a id="l00989" name="l00989"></a><span class="lineno"> 989</span> {</div>
|
||||
<div class="line"><a id="l00990" name="l00990"></a><span class="lineno"> 990</span> <span class="keywordflow">return</span> <a class="code hl_class" href="../../d1/d83/classuint256__t.html">uint256_t</a>(p) * q;</div>
|
||||
<div class="line"><a id="l00991" name="l00991"></a><span class="lineno"> 991</span>}</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="a48254ef1f66f4133ecf865db3d952d26" name="a48254ef1f66f4133ecf865db3d952d26"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a48254ef1f66f4133ecf865db3d952d26">◆ </a></span>operator+()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> operator+ </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const T </td>
|
||||
<td class="paramname"><em>p</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const <a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> & </td>
|
||||
<td class="paramname"><em>q</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<div class="fragment"><div class="line"><a id="l00977" name="l00977"></a><span class="lineno"> 977</span> {</div>
|
||||
<div class="line"><a id="l00978" name="l00978"></a><span class="lineno"> 978</span> <span class="keywordflow">return</span> <a class="code hl_class" href="../../d1/d83/classuint256__t.html">uint256_t</a>(p) + q;</div>
|
||||
<div class="line"><a id="l00979" name="l00979"></a><span class="lineno"> 979</span>}</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="abbcba1cebd3e2e59d3d36cb467257908" name="abbcba1cebd3e2e59d3d36cb467257908"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#abbcba1cebd3e2e59d3d36cb467257908">◆ </a></span>operator-()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> operator- </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const T </td>
|
||||
<td class="paramname"><em>p</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const <a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> & </td>
|
||||
<td class="paramname"><em>q</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<div class="fragment"><div class="line"><a id="l00983" name="l00983"></a><span class="lineno"> 983</span> {</div>
|
||||
<div class="line"><a id="l00984" name="l00984"></a><span class="lineno"> 984</span> <span class="keywordflow">return</span> (<a class="code hl_class" href="../../d1/d83/classuint256__t.html">uint256_t</a>(p) - q);</div>
|
||||
<div class="line"><a id="l00985" name="l00985"></a><span class="lineno"> 985</span>}</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="a40a87955f587331d634122245e7f7e71" name="a40a87955f587331d634122245e7f7e71"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a40a87955f587331d634122245e7f7e71">◆ </a></span>operator/()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> operator/ </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const T </td>
|
||||
<td class="paramname"><em>p</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const <a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> & </td>
|
||||
<td class="paramname"><em>q</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<div class="fragment"><div class="line"><a id="l00995" name="l00995"></a><span class="lineno"> 995</span> {</div>
|
||||
<div class="line"><a id="l00996" name="l00996"></a><span class="lineno"> 996</span> <span class="keywordflow">return</span> <a class="code hl_class" href="../../d1/d83/classuint256__t.html">uint256_t</a>(p) / q;</div>
|
||||
<div class="line"><a id="l00997" name="l00997"></a><span class="lineno"> 997</span>}</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="a6f447b5dd8c34a9dd92687d2ce967a68" name="a6f447b5dd8c34a9dd92687d2ce967a68"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a6f447b5dd8c34a9dd92687d2ce967a68">◆ </a></span>operator<()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">bool operator< </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const T </td>
|
||||
<td class="paramname"><em>p</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const <a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> & </td>
|
||||
<td class="paramname"><em>q</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<div class="fragment"><div class="line"><a id="l01052" name="l01052"></a><span class="lineno"> 1052</span> {</div>
|
||||
<div class="line"><a id="l01053" name="l01053"></a><span class="lineno"> 1053</span> <span class="keywordflow">return</span> <a class="code hl_class" href="../../d1/d83/classuint256__t.html">uint256_t</a>(p) < q;</div>
|
||||
<div class="line"><a id="l01054" name="l01054"></a><span class="lineno"> 1054</span>}</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="abebd4be3ac82d0d4171441e2f5eba59b" name="abebd4be3ac82d0d4171441e2f5eba59b"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#abebd4be3ac82d0d4171441e2f5eba59b">◆ </a></span>operator<=()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">bool operator<= </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const T </td>
|
||||
<td class="paramname"><em>p</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const <a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> & </td>
|
||||
<td class="paramname"><em>q</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<div class="fragment"><div class="line"><a id="l01058" name="l01058"></a><span class="lineno"> 1058</span> {</div>
|
||||
<div class="line"><a id="l01059" name="l01059"></a><span class="lineno"> 1059</span> <span class="keywordflow">return</span> <a class="code hl_class" href="../../d1/d83/classuint256__t.html">uint256_t</a>(p) <= q;</div>
|
||||
<div class="line"><a id="l01060" name="l01060"></a><span class="lineno"> 1060</span>}</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="a436748bb089cf10f96273195c39f802b" name="a436748bb089cf10f96273195c39f802b"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a436748bb089cf10f96273195c39f802b">◆ </a></span>operator==()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">bool operator== </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const T </td>
|
||||
<td class="paramname"><em>p</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const <a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> & </td>
|
||||
<td class="paramname"><em>q</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<div class="fragment"><div class="line"><a id="l01040" name="l01040"></a><span class="lineno"> 1040</span> {</div>
|
||||
<div class="line"><a id="l01041" name="l01041"></a><span class="lineno"> 1041</span> <span class="keywordflow">return</span> <a class="code hl_class" href="../../d1/d83/classuint256__t.html">uint256_t</a>(p) == q;</div>
|
||||
<div class="line"><a id="l01042" name="l01042"></a><span class="lineno"> 1042</span>}</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="a3b9c335372e53e588821bb25e9fb74c7" name="a3b9c335372e53e588821bb25e9fb74c7"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a3b9c335372e53e588821bb25e9fb74c7">◆ </a></span>operator>()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">bool operator> </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const T </td>
|
||||
<td class="paramname"><em>p</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const <a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> & </td>
|
||||
<td class="paramname"><em>q</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<div class="fragment"><div class="line"><a id="l01064" name="l01064"></a><span class="lineno"> 1064</span> {</div>
|
||||
<div class="line"><a id="l01065" name="l01065"></a><span class="lineno"> 1065</span> <span class="keywordflow">return</span> <a class="code hl_class" href="../../d1/d83/classuint256__t.html">uint256_t</a>(p) > q;</div>
|
||||
<div class="line"><a id="l01066" name="l01066"></a><span class="lineno"> 1066</span>}</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="ae0b25b53db33a0351179c60f48c9462d" name="ae0b25b53db33a0351179c60f48c9462d"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ae0b25b53db33a0351179c60f48c9462d">◆ </a></span>operator>=()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">bool operator>= </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const T </td>
|
||||
<td class="paramname"><em>p</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const <a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> & </td>
|
||||
<td class="paramname"><em>q</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<div class="fragment"><div class="line"><a id="l01070" name="l01070"></a><span class="lineno"> 1070</span> {</div>
|
||||
<div class="line"><a id="l01071" name="l01071"></a><span class="lineno"> 1071</span> <span class="keywordflow">return</span> <a class="code hl_class" href="../../d1/d83/classuint256__t.html">uint256_t</a>(p) >= q;</div>
|
||||
<div class="line"><a id="l01072" name="l01072"></a><span class="lineno"> 1072</span>}</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="a96d2a73664565cab39c8cab4c08e92d4" name="a96d2a73664565cab39c8cab4c08e92d4"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a96d2a73664565cab39c8cab4c08e92d4">◆ </a></span>operator^()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> operator^ </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const T </td>
|
||||
<td class="paramname"><em>p</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const <a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> & </td>
|
||||
<td class="paramname"><em>q</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<div class="fragment"><div class="line"><a id="l01020" name="l01020"></a><span class="lineno"> 1020</span> {</div>
|
||||
<div class="line"><a id="l01021" name="l01021"></a><span class="lineno"> 1021</span> <span class="keywordflow">return</span> <a class="code hl_class" href="../../d1/d83/classuint256__t.html">uint256_t</a>(p) ^ q;</div>
|
||||
<div class="line"><a id="l01022" name="l01022"></a><span class="lineno"> 1022</span>}</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="a0f55118b7c55b72d45715a1d315a3f8f" name="a0f55118b7c55b72d45715a1d315a3f8f"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a0f55118b7c55b72d45715a1d315a3f8f">◆ </a></span>operator|()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> operator| </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const T </td>
|
||||
<td class="paramname"><em>p</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const <a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> & </td>
|
||||
<td class="paramname"><em>q</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<div class="fragment"><div class="line"><a id="l01014" name="l01014"></a><span class="lineno"> 1014</span> {</div>
|
||||
<div class="line"><a id="l01015" name="l01015"></a><span class="lineno"> 1015</span> <span class="keywordflow">return</span> <a class="code hl_class" href="../../d1/d83/classuint256__t.html">uint256_t</a>(p) | q;</div>
|
||||
<div class="line"><a id="l01016" name="l01016"></a><span class="lineno"> 1016</span>}</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="ada1648275a81635a5ca8eb2417643442" name="ada1648275a81635a5ca8eb2417643442"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ada1648275a81635a5ca8eb2417643442">◆ </a></span>operator||()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename T , typename = typename std::enable_if< std::is_integral<T>::value, T>::type> </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">bool operator|| </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const T </td>
|
||||
<td class="paramname"><em>p</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const <a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a> & </td>
|
||||
<td class="paramname"><em>q</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<div class="fragment"><div class="line"><a id="l01033" name="l01033"></a><span class="lineno"> 1033</span> {</div>
|
||||
<div class="line"><a id="l01034" name="l01034"></a><span class="lineno"> 1034</span> <span class="keywordflow">return</span> <a class="code hl_class" href="../../d1/d83/classuint256__t.html">uint256_t</a>(p) || q;</div>
|
||||
<div class="line"><a id="l01035" name="l01035"></a><span class="lineno"> 1035</span>}</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- contents -->
|
||||
@@ -228,7 +869,7 @@ template<typename T , typename = typename std::enable_if<
|
||||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
||||
<ul>
|
||||
<li class="navelem"><a class="el" href="../../dir_4d6e05837bf820fb089a8a8cdf2f42b7.html">ciphers</a></li><li class="navelem"><a class="el" href="../../da/da3/uint256__t_8hpp.html">uint256_t.hpp</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>
|
||||
|
||||
@@ -1,24 +1,8 @@
|
||||
var uint256__t_8hpp =
|
||||
[
|
||||
[ "is_integral< uint256_t >", "d7/d47/structstd_1_1is__integral_3_01uint256__t_01_4.html", null ],
|
||||
[ "is_arithmetic< uint256_t >", "dc/d6d/structstd_1_1is__arithmetic_3_01uint256__t_01_4.html", null ],
|
||||
[ "is_unsigned< uint256_t >", "df/d99/structstd_1_1is__unsigned_3_01uint256__t_01_4.html", null ],
|
||||
[ "std::is_integral< uint256_t >", "d7/d47/structstd_1_1is__integral_3_01uint256__t_01_4.html", null ],
|
||||
[ "std::is_arithmetic< uint256_t >", "dc/d6d/structstd_1_1is__arithmetic_3_01uint256__t_01_4.html", null ],
|
||||
[ "std::is_unsigned< uint256_t >", "df/d99/structstd_1_1is__unsigned_3_01uint256__t_01_4.html", null ],
|
||||
[ "uint256_t", "d1/d83/classuint256__t.html", "d1/d83/classuint256__t" ],
|
||||
[ "CIPHERS_UINT256_T_HPP_", "da/da3/uint256__t_8hpp.html#a1d8c5ec5b5e419c5c8a740251485102c", null ],
|
||||
[ "operator!=", "da/da3/uint256__t_8hpp.html#a773037cfe07a6e605c1268150de2ab65", null ],
|
||||
[ "operator%", "da/da3/uint256__t_8hpp.html#a8922612404dc44b89fa98f36a847c52a", null ],
|
||||
[ "operator&", "da/da3/uint256__t_8hpp.html#ac0284490bb7e07b5f71b5245b503c1cb", null ],
|
||||
[ "operator&&", "da/da3/uint256__t_8hpp.html#a32bdea60d90535aedb8cff59b63943a9", null ],
|
||||
[ "operator*", "da/da3/uint256__t_8hpp.html#afb4de9c26cbc9703498b7c9bb1f2e82c", null ],
|
||||
[ "operator+", "da/da3/uint256__t_8hpp.html#a48254ef1f66f4133ecf865db3d952d26", null ],
|
||||
[ "operator-", "da/da3/uint256__t_8hpp.html#abbcba1cebd3e2e59d3d36cb467257908", null ],
|
||||
[ "operator/", "da/da3/uint256__t_8hpp.html#a40a87955f587331d634122245e7f7e71", null ],
|
||||
[ "operator<", "da/da3/uint256__t_8hpp.html#a6f447b5dd8c34a9dd92687d2ce967a68", null ],
|
||||
[ "operator<=", "da/da3/uint256__t_8hpp.html#abebd4be3ac82d0d4171441e2f5eba59b", null ],
|
||||
[ "operator==", "da/da3/uint256__t_8hpp.html#a436748bb089cf10f96273195c39f802b", null ],
|
||||
[ "operator>", "da/da3/uint256__t_8hpp.html#a3b9c335372e53e588821bb25e9fb74c7", null ],
|
||||
[ "operator>=", "da/da3/uint256__t_8hpp.html#ae0b25b53db33a0351179c60f48c9462d", null ],
|
||||
[ "operator^", "da/da3/uint256__t_8hpp.html#a96d2a73664565cab39c8cab4c08e92d4", null ],
|
||||
[ "operator|", "da/da3/uint256__t_8hpp.html#a0f55118b7c55b72d45715a1d315a3f8f", null ],
|
||||
[ "operator||", "da/da3/uint256__t_8hpp.html#ada1648275a81635a5ca8eb2417643442", null ]
|
||||
[ "CIPHERS_UINT256_T_HPP_", "da/da3/uint256__t_8hpp.html#a1d8c5ec5b5e419c5c8a740251485102c", null ]
|
||||
];
|
||||
@@ -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++: backtracking/n_queens_all_solution_optimised.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++
|
||||
 <span id="projectnumber">1.0.0</span>
|
||||
<div id="projectname">Algorithms_in_C++<span id="projectnumber"> 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&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "../../search",false,'Search','.html');
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&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&dn=gpl-2.0.txt GPL-v2 */
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&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&dn=gpl-2.0.txt GPL-v2 */
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||
$(document).ready(function(){initNavTree('da/dac/n__queens__all__solution__optimised_8cpp.html','../../'); initResizable(); });
|
||||
/* @license-end */
|
||||
</script>
|
||||
@@ -93,12 +93,11 @@ $(document).ready(function(){initNavTree('da/dac/n__queens__all__solution__optim
|
||||
<div class="summary">
|
||||
<a href="#namespaces">Namespaces</a> |
|
||||
<a href="#func-members">Functions</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">n_queens_all_solution_optimised.cpp File Reference</div> </div>
|
||||
<div class="headertitle"><div class="title">n_queens_all_solution_optimised.cpp File Reference</div></div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p><a href="https://en.wikipedia.org/wiki/Eight_queens_puzzle">N queens</a> all optimized
|
||||
<p><a href="https://en.wikipedia.org/wiki/Eight_queens_puzzle" target="_blank">N queens</a> all optimized
|
||||
<a href="#details">More...</a></p>
|
||||
<div class="textblock"><code>#include <array></code><br />
|
||||
<code>#include <iostream></code><br />
|
||||
@@ -109,16 +108,16 @@ Include dependency graph for n_queens_all_solution_optimised.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:db/dc0/namespacebacktracking"><td class="memItemLeft" align="right" valign="top">  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/dc0/namespacebacktracking.html">backtracking</a></td></tr>
|
||||
<tr class="memitem:db/dc0/namespacebacktracking"><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/dc0/namespacebacktracking.html">backtracking</a></td></tr>
|
||||
<tr class="memdesc:db/dc0/namespacebacktracking"><td class="mdescLeft"> </td><td class="mdescRight">Backtracking algorithms. <br /></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:d8/d14/namespacen__queens__optimized"><td class="memItemLeft" align="right" valign="top">  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d14/namespacen__queens__optimized.html">n_queens_optimized</a></td></tr>
|
||||
<tr class="memdesc:d8/d14/namespacen__queens__optimized"><td class="mdescLeft"> </td><td class="mdescRight">Functions for <a href="https://en.wikipedia.org/wiki/Eight_queens_puzzle">Eight Queens</a> puzzle optimized. <br /></td></tr>
|
||||
<tr class="memitem:d8/d14/namespacen__queens__optimized"><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d8/d14/namespacen__queens__optimized.html">n_queens_optimized</a></td></tr>
|
||||
<tr class="memdesc:d8/d14/namespacen__queens__optimized"><td class="mdescLeft"> </td><td class="mdescRight">Functions for <a href="https://en.wikipedia.org/wiki/Eight_queens_puzzle" target="_blank">Eight Queens</a> puzzle optimized. <br /></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </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:a04090463be4942a69ea91fe7386da905"><td class="memTemplParams" colspan="2">template<size_t n> </td></tr>
|
||||
<tr class="memitem:a04090463be4942a69ea91fe7386da905"><td class="memTemplItemLeft" align="right" valign="top">void </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../da/dac/n__queens__all__solution__optimised_8cpp.html#a04090463be4942a69ea91fe7386da905">backtracking::n_queens_optimized::PrintSol</a> (const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a>< <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a>< int, n >, n > &board)</td></tr>
|
||||
@@ -134,12 +133,12 @@ Functions</h2></td></tr>
|
||||
<tr class="separator:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="memSeparator" colspan="2"> </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/Eight_queens_puzzle">N queens</a> all optimized </p>
|
||||
<dl class="section author"><dt>Author</dt><dd><a href="https://github.com/deadshotsb">Sombit Bose</a> </dd>
|
||||
<div class="textblock"><p ><a href="https://en.wikipedia.org/wiki/Eight_queens_puzzle" target="_blank">N queens</a> all optimized </p>
|
||||
<dl class="section author"><dt>Author</dt><dd><a href="https://github.com/deadshotsb" target="_blank">Sombit Bose</a> </dd>
|
||||
<dd>
|
||||
<a href="https://github.com/Panquesito7">David Leal</a> </dd></dl>
|
||||
<a href="https://github.com/Panquesito7" target="_blank">David Leal</a> </dd></dl>
|
||||
</div><h2 class="groupheader">Function Documentation</h2>
|
||||
<a id="a9e48455584a4faa33e83dd1891efd9b9"></a>
|
||||
<a id="a9e48455584a4faa33e83dd1891efd9b9" name="a9e48455584a4faa33e83dd1891efd9b9"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a9e48455584a4faa33e83dd1891efd9b9">◆ </a></span>CanIMove()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
@@ -172,7 +171,7 @@ template<size_t n> </div>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Check if a queen can be placed on matrix </p><dl class="tparams"><dt>Template Parameters</dt><dd>
|
||||
<p >Check if a queen can be placed on matrix </p><dl class="tparams"><dt>Template Parameters</dt><dd>
|
||||
<table class="tparams">
|
||||
<tr><td class="paramname">n</td><td>number of matrix size </td></tr>
|
||||
</table>
|
||||
@@ -189,30 +188,30 @@ template<size_t n> </div>
|
||||
<dl class="section return"><dt>Returns</dt><dd><code>true</code> if queen can be placed on matrix </dd>
|
||||
<dd>
|
||||
<code>false</code> if queen can't be placed on matrix </dd></dl>
|
||||
<p>check in the row</p>
|
||||
<p>check the first diagonal</p>
|
||||
<p>check the second diagonal</p>
|
||||
<div class="fragment"><div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  {<span class="comment"></span></div>
|
||||
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment"> /// check in the row</span></div>
|
||||
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment"></span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i <= col; i++) {</div>
|
||||
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  <span class="keywordflow">if</span> (board[row][i] == 1) {</div>
|
||||
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  }</div>
|
||||
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  }<span class="comment"></span></div>
|
||||
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> <span class="comment"> /// check the first diagonal</span></div>
|
||||
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span> <span class="comment"></span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = row, j = col; i >= 0 && j >= 0; i--, j--) {</div>
|
||||
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  <span class="keywordflow">if</span> (board[i][j] == 1) {</div>
|
||||
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  }</div>
|
||||
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  }<span class="comment"></span></div>
|
||||
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span> <span class="comment"> /// check the second diagonal</span></div>
|
||||
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span> <span class="comment"></span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = row, j = col; i <= n - 1 && j >= 0; i++, j--) {</div>
|
||||
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <span class="keywordflow">if</span> (board[i][j] == 1) {</div>
|
||||
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  }</div>
|
||||
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  }</div>
|
||||
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="keywordflow">return</span> <span class="keyword">true</span>;</div>
|
||||
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> }</div>
|
||||
<p >check in the row</p>
|
||||
<p >check the first diagonal</p>
|
||||
<p >check the second diagonal</p>
|
||||
<div class="fragment"><div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> {<span class="comment"></span></div>
|
||||
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span><span class="comment"> /// check in the row</span></div>
|
||||
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span><span class="comment"></span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i <= col; i++) {</div>
|
||||
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> <span class="keywordflow">if</span> (board[row][i] == 1) {</div>
|
||||
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> <span class="keywordflow">return</span> <span class="keyword">false</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="comment"></span></div>
|
||||
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span><span class="comment"> /// check the first diagonal</span></div>
|
||||
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span><span class="comment"></span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = row, j = col; i >= 0 && j >= 0; i--, j--) {</div>
|
||||
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> <span class="keywordflow">if</span> (board[i][j] == 1) {</div>
|
||||
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</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> }<span class="comment"></span></div>
|
||||
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span><span class="comment"> /// check the second diagonal</span></div>
|
||||
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span><span class="comment"></span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = row, j = col; i <= n - 1 && j >= 0; i++, j--) {</div>
|
||||
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span> <span class="keywordflow">if</span> (board[i][j] == 1) {</div>
|
||||
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span> <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
|
||||
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> }</div>
|
||||
<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="keywordflow">return</span> <span class="keyword">true</span>;</div>
|
||||
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span>}</div>
|
||||
</div><!-- fragment --><div class="dynheader">
|
||||
Here is the call graph for this function:</div>
|
||||
<div class="dyncontent">
|
||||
@@ -222,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">◆ </a></span>main()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
@@ -240,35 +239,35 @@ 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="l00109"></a><span class="lineno"> 109</span>  {</div>
|
||||
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> n = 4;</div>
|
||||
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/array.html">std::array<std::array<int, n></a>, n> board{};</div>
|
||||
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  </div>
|
||||
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  <span class="keywordflow">if</span> (n % 2 == 0) {</div>
|
||||
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i <= n / 2 - 1; i++) { <span class="comment">// 😎</span></div>
|
||||
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  <span class="keywordflow">if</span> (backtracking::n_queens_optimized::CanIMove(board, i, 0)) {</div>
|
||||
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  board[i][0] = 1;</div>
|
||||
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <a class="code" href="../../da/dac/n__queens__all__solution__optimised_8cpp.html#a23c0547e4fd1708e6fb643b08327a60f">backtracking::n_queens_optimized::NQueenSol</a>(board, 1);</div>
|
||||
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  board[i][0] = 0;</div>
|
||||
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  }</div>
|
||||
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  }</div>
|
||||
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  } <span class="keywordflow">else</span> {</div>
|
||||
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i <= n / 2; i++) { <span class="comment">// 😏</span></div>
|
||||
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <span class="keywordflow">if</span> (backtracking::n_queens_optimized::CanIMove(board, i, 0)) {</div>
|
||||
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  board[i][0] = 1;</div>
|
||||
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <a class="code" href="../../da/dac/n__queens__all__solution__optimised_8cpp.html#a23c0547e4fd1708e6fb643b08327a60f">backtracking::n_queens_optimized::NQueenSol</a>(board, 1);</div>
|
||||
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  board[i][0] = 0;</div>
|
||||
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  }</div>
|
||||
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  }</div>
|
||||
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  }</div>
|
||||
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  <span class="keywordflow">return</span> 0;</div>
|
||||
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span> }</div>
|
||||
<div class="fragment"><div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span> {</div>
|
||||
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span> <span class="keyword">const</span> <span class="keywordtype">int</span> n = 4;</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/array.html">std::array<std::array<int, n></a>, n> board{};</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">if</span> (n % 2 == 0) {</div>
|
||||
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i <= n / 2 - 1; i++) { <span class="comment">// 😎</span></div>
|
||||
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span> <span class="keywordflow">if</span> (backtracking::n_queens_optimized::CanIMove(board, i, 0)) {</div>
|
||||
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span> board[i][0] = 1;</div>
|
||||
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span> <a class="code hl_function" href="../../da/dac/n__queens__all__solution__optimised_8cpp.html#a23c0547e4fd1708e6fb643b08327a60f">backtracking::n_queens_optimized::NQueenSol</a>(board, 1);</div>
|
||||
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span> board[i][0] = 0;</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> }</div>
|
||||
<div class="line"><a id="l00121" name="l00121"></a><span class="lineno"> 121</span> } <span class="keywordflow">else</span> {</div>
|
||||
<div class="line"><a id="l00122" name="l00122"></a><span class="lineno"> 122</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i <= n / 2; i++) { <span class="comment">// 😏</span></div>
|
||||
<div class="line"><a id="l00123" name="l00123"></a><span class="lineno"> 123</span> <span class="keywordflow">if</span> (backtracking::n_queens_optimized::CanIMove(board, i, 0)) {</div>
|
||||
<div class="line"><a id="l00124" name="l00124"></a><span class="lineno"> 124</span> board[i][0] = 1;</div>
|
||||
<div class="line"><a id="l00125" name="l00125"></a><span class="lineno"> 125</span> <a class="code hl_function" href="../../da/dac/n__queens__all__solution__optimised_8cpp.html#a23c0547e4fd1708e6fb643b08327a60f">backtracking::n_queens_optimized::NQueenSol</a>(board, 1);</div>
|
||||
<div class="line"><a id="l00126" name="l00126"></a><span class="lineno"> 126</span> board[i][0] = 0;</div>
|
||||
<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> }</div>
|
||||
<div class="line"><a id="l00129" name="l00129"></a><span class="lineno"> 129</span> }</div>
|
||||
<div class="line"><a id="l00130" name="l00130"></a><span class="lineno"> 130</span> <span class="keywordflow">return</span> 0;</div>
|
||||
<div class="line"><a id="l00131" name="l00131"></a><span class="lineno"> 131</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="an__queens__all__solution__optimised_8cpp_html_a23c0547e4fd1708e6fb643b08327a60f"><div class="ttname"><a href="../../da/dac/n__queens__all__solution__optimised_8cpp.html#a23c0547e4fd1708e6fb643b08327a60f">backtracking::n_queens_optimized::NQueenSol</a></div><div class="ttdeci">void NQueenSol(std::array< std::array< int, n >, n > board, int col)</div><div class="ttdef"><b>Definition:</b> n_queens_all_solution_optimised.cpp:89</div></div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="a23c0547e4fd1708e6fb643b08327a60f"></a>
|
||||
<a id="a23c0547e4fd1708e6fb643b08327a60f" name="a23c0547e4fd1708e6fb643b08327a60f"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a23c0547e4fd1708e6fb643b08327a60f">◆ </a></span>NQueenSol()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
@@ -295,7 +294,7 @@ template<size_t n> </div>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Solve n queens problem </p><dl class="tparams"><dt>Template Parameters</dt><dd>
|
||||
<p >Solve n queens problem </p><dl class="tparams"><dt>Template Parameters</dt><dd>
|
||||
<table class="tparams">
|
||||
<tr><td class="paramname">n</td><td>number of matrix size </td></tr>
|
||||
</table>
|
||||
@@ -308,19 +307,19 @@ template<size_t n> </div>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<div class="fragment"><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  {</div>
|
||||
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <span class="keywordflow">if</span> (col >= n) {</div>
|
||||
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  PrintSol<n>(board);</div>
|
||||
<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  <span class="keywordflow">return</span>;</div>
|
||||
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  }</div>
|
||||
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < n; i++) {</div>
|
||||
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <span class="keywordflow">if</span> (CanIMove<n>(board, i, col)) {</div>
|
||||
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  board[i][col] = 1;</div>
|
||||
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  NQueenSol<n>(board, col + 1);</div>
|
||||
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  board[i][col] = 0;</div>
|
||||
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  }</div>
|
||||
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  }</div>
|
||||
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> }</div>
|
||||
<div class="fragment"><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">if</span> (col >= n) {</div>
|
||||
<div class="line"><a id="l00091" name="l00091"></a><span class="lineno"> 91</span> PrintSol<n>(board);</div>
|
||||
<div class="line"><a id="l00092" name="l00092"></a><span class="lineno"> 92</span> <span class="keywordflow">return</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">for</span> (<span class="keywordtype">int</span> i = 0; i < n; i++) {</div>
|
||||
<div class="line"><a id="l00095" name="l00095"></a><span class="lineno"> 95</span> <span class="keywordflow">if</span> (CanIMove<n>(board, i, col)) {</div>
|
||||
<div class="line"><a id="l00096" name="l00096"></a><span class="lineno"> 96</span> board[i][col] = 1;</div>
|
||||
<div class="line"><a id="l00097" name="l00097"></a><span class="lineno"> 97</span> NQueenSol<n>(board, col + 1);</div>
|
||||
<div class="line"><a id="l00098" name="l00098"></a><span class="lineno"> 98</span> board[i][col] = 0;</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> }</div>
|
||||
<div class="line"><a id="l00101" name="l00101"></a><span class="lineno"> 101</span>}</div>
|
||||
</div><!-- fragment --><div class="dynheader">
|
||||
Here is the call graph for this function:</div>
|
||||
<div class="dyncontent">
|
||||
@@ -330,7 +329,7 @@ Here is the call graph for this function:</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a04090463be4942a69ea91fe7386da905"></a>
|
||||
<a id="a04090463be4942a69ea91fe7386da905" name="a04090463be4942a69ea91fe7386da905"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a04090463be4942a69ea91fe7386da905">◆ </a></span>PrintSol()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
@@ -347,7 +346,7 @@ template<size_t n> </div>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Utility function to print matrix </p><dl class="tparams"><dt>Template Parameters</dt><dd>
|
||||
<p >Utility function to print matrix </p><dl class="tparams"><dt>Template Parameters</dt><dd>
|
||||
<table class="tparams">
|
||||
<tr><td class="paramname">n</td><td>number of matrix size </td></tr>
|
||||
</table>
|
||||
@@ -359,24 +358,24 @@ template<size_t n> </div>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<div class="fragment"><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>  {</div>
|
||||
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < n; i++) {</div>
|
||||
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> j = 0; j < n; j++) {</div>
|
||||
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << board[i][j] << <span class="stringliteral">" "</span>;</div>
|
||||
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  }</div>
|
||||
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <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="l00036"></a><span class="lineno"> 36</span>  }</div>
|
||||
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <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="l00038"></a><span class="lineno"> 38</span>  <span class="keywordflow">if</span> (n % 2 == 0 || (n % 2 == 1 && board[n / 2 + 1][0] != 1)) {</div>
|
||||
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < n; i++) {</div>
|
||||
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> j = 0; j < n; j++) {</div>
|
||||
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << board[j][i] << <span class="stringliteral">" "</span>;</div>
|
||||
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  }</div>
|
||||
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <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="l00044"></a><span class="lineno"> 44</span>  }</div>
|
||||
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <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="l00046"></a><span class="lineno"> 46</span>  }</div>
|
||||
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> }</div>
|
||||
<div class="fragment"><div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> {</div>
|
||||
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < n; i++) {</div>
|
||||
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span> <span class="keywordflow">for</span> (<span class="keywordtype">int</span> j = 0; j < n; j++) {</div>
|
||||
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << board[i][j] << <span class="stringliteral">" "</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> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <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="l00036" name="l00036"></a><span class="lineno"> 36</span> }</div>
|
||||
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <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="l00038" name="l00038"></a><span class="lineno"> 38</span> <span class="keywordflow">if</span> (n % 2 == 0 || (n % 2 == 1 && board[n / 2 + 1][0] != 1)) {</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> i = 0; i < n; i++) {</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> j = 0; j < n; j++) {</div>
|
||||
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << board[j][i] << <span class="stringliteral">" "</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> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <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="l00044" name="l00044"></a><span class="lineno"> 44</span> }</div>
|
||||
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> <a class="code hl_classRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <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="l00046" name="l00046"></a><span class="lineno"> 46</span> }</div>
|
||||
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</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="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><!-- fragment --><div class="dynheader">
|
||||
@@ -394,7 +393,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_c11585dfcef32a26e29098facab6c144.html">backtracking</a></li><li class="navelem"><a class="el" href="../../da/dac/n__queens__all__solution__optimised_8cpp.html">n_queens_all_solution_optimised.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>
|
||||
|
||||
@@ -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::n_queens_optimized::PrintSol Pages: 1 -->
|
||||
<svg width="220pt" height="57pt"
|
||||
|
||||
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
@@ -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::n_queens_optimized::NQueenSol Pages: 1 -->
|
||||
<svg width="130pt" height="57pt"
|
||||
|
||||
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
@@ -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::n_queens_optimized::CanIMove Pages: 1 -->
|
||||
<svg width="130pt" height="57pt"
|
||||
|
||||
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
@@ -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++: bit_manipulation/count_of_set_bits.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++
|
||||
 <span id="projectnumber">1.0.0</span>
|
||||
<div id="projectname">Algorithms_in_C++<span id="projectnumber"> 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&dn=gpl-2.0.txt GPL-v2 */
|
||||
var searchBox = new SearchBox("searchBox", "../../search",false,'Search','.html');
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&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&dn=gpl-2.0.txt GPL-v2 */
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&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&dn=gpl-2.0.txt GPL-v2 */
|
||||
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */
|
||||
$(document).ready(function(){initNavTree('da/db8/count__of__set__bits_8cpp.html','../../'); initResizable(); });
|
||||
/* @license-end */
|
||||
</script>
|
||||
@@ -93,12 +93,11 @@ $(document).ready(function(){initNavTree('da/db8/count__of__set__bits_8cpp.html'
|
||||
<div class="summary">
|
||||
<a href="#namespaces">Namespaces</a> |
|
||||
<a href="#func-members">Functions</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">count_of_set_bits.cpp File Reference</div> </div>
|
||||
<div class="headertitle"><div class="title">count_of_set_bits.cpp File Reference</div></div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>Implementation to <a href="https://www.geeksforgeeks.org/count-set-bits-in-an-integer/">count sets bits</a> in an integer.
|
||||
<p>Implementation to <a href="https://www.geeksforgeeks.org/count-set-bits-in-an-integer/" target="_blank">count sets bits</a> in an integer.
|
||||
<a href="#details">More...</a></p>
|
||||
<div class="textblock"><code>#include <cassert></code><br />
|
||||
<code>#include <iostream></code><br />
|
||||
@@ -110,16 +109,16 @@ Include dependency graph for count_of_set_bits.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:d7/d81/namespacebit__manipulation"><td class="memItemLeft" align="right" valign="top">  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d81/namespacebit__manipulation.html">bit_manipulation</a></td></tr>
|
||||
<tr class="memitem:d7/d81/namespacebit__manipulation"><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/d81/namespacebit__manipulation.html">bit_manipulation</a></td></tr>
|
||||
<tr class="memdesc:d7/d81/namespacebit__manipulation"><td class="mdescLeft"> </td><td class="mdescRight">for <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector</a> <br /></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:dd/dae/namespacecount__of__set__bits"><td class="memItemLeft" align="right" valign="top">  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/dae/namespacecount__of__set__bits.html">count_of_set_bits</a></td></tr>
|
||||
<tr class="memdesc:dd/dae/namespacecount__of__set__bits"><td class="mdescLeft"> </td><td class="mdescRight">Functions for the <a href="https://www.geeksforgeeks.org/count-set-bits-in-an-integer/">count sets bits</a> implementation. <br /></td></tr>
|
||||
<tr class="memitem:dd/dae/namespacecount__of__set__bits"><td class="memItemLeft" align="right" valign="top">namespace  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../dd/dae/namespacecount__of__set__bits.html">count_of_set_bits</a></td></tr>
|
||||
<tr class="memdesc:dd/dae/namespacecount__of__set__bits"><td class="mdescLeft"> </td><td class="mdescRight">Functions for the <a href="https://www.geeksforgeeks.org/count-set-bits-in-an-integer/" target="_blank">count sets bits</a> implementation. <br /></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </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:a1f6a583b73a3e85c2d5121ed3d1c7d8a"><td class="memItemLeft" align="right" valign="top"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/types/integer.html">std::uint64_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/db8/count__of__set__bits_8cpp.html#a1f6a583b73a3e85c2d5121ed3d1c7d8a">bit_manipulation::count_of_set_bits::countSetBits</a> (int n)</td></tr>
|
||||
<tr class="memdesc:a1f6a583b73a3e85c2d5121ed3d1c7d8a"><td class="mdescLeft"> </td><td class="mdescRight">The main function implements set bit count. <a href="../../da/db8/count__of__set__bits_8cpp.html#a1f6a583b73a3e85c2d5121ed3d1c7d8a">More...</a><br /></td></tr>
|
||||
@@ -132,11 +131,11 @@ Functions</h2></td></tr>
|
||||
<tr class="separator:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table>
|
||||
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
|
||||
<div class="textblock"><p>Implementation to <a href="https://www.geeksforgeeks.org/count-set-bits-in-an-integer/">count sets bits</a> in an integer. </p>
|
||||
<p>We are given an integer number. Let’s say, number. The task is to first calculate the binary digit of a number and then calculate the total set bits of a number.</p>
|
||||
<p>Set bits in a binary number is represented by 1. Whenever we calculate the binary number of an integer value it is formed as the combination of 0’s and 1’s. So digit 1 is known as a set bit in computer terms. Time Complexity: O(log n) Space complexity: O(1) </p><dl class="section author"><dt>Author</dt><dd><a href="https://github.com/Swastyy">Swastika Gupta</a> </dd></dl>
|
||||
<div class="textblock"><p >Implementation to <a href="https://www.geeksforgeeks.org/count-set-bits-in-an-integer/" target="_blank">count sets bits</a> in an integer. </p>
|
||||
<p >We are given an integer number. Let’s say, number. The task is to first calculate the binary digit of a number and then calculate the total set bits of a number.</p>
|
||||
<p >Set bits in a binary number is represented by 1. Whenever we calculate the binary number of an integer value it is formed as the combination of 0’s and 1’s. So digit 1 is known as a set bit in computer terms. Time Complexity: O(log n) Space complexity: O(1) </p><dl class="section author"><dt>Author</dt><dd><a href="https://github.com/Swastyy" target="_blank">Swastika Gupta</a> </dd></dl>
|
||||
</div><h2 class="groupheader">Function Documentation</h2>
|
||||
<a id="a1f6a583b73a3e85c2d5121ed3d1c7d8a"></a>
|
||||
<a id="a1f6a583b73a3e85c2d5121ed3d1c7d8a" name="a1f6a583b73a3e85c2d5121ed3d1c7d8a"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a1f6a583b73a3e85c2d5121ed3d1c7d8a">◆ </a></span>countSetBits()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
@@ -160,15 +159,15 @@ Functions</h2></td></tr>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>the count of the number set bit in the binary representation of <code>n</code> </dd></dl>
|
||||
<div class="fragment"><div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  {</div>
|
||||
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  <span class="keywordtype">int</span> count = 0; <span class="comment">// "count" variable is used to count number of 1's in binary</span></div>
|
||||
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  <span class="comment">// representation of the number</span></div>
|
||||
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>  <span class="keywordflow">while</span> (n != 0) {</div>
|
||||
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  count += n & 1;</div>
|
||||
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  n = n >> 1; <span class="comment">// n=n/2</span></div>
|
||||
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  }</div>
|
||||
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  <span class="keywordflow">return</span> count;</div>
|
||||
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> }</div>
|
||||
<div class="fragment"><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> <span class="keywordtype">int</span> count = 0; <span class="comment">// "count" variable is used to count number of 1's in binary</span></div>
|
||||
<div class="line"><a id="l00043" name="l00043"></a><span class="lineno"> 43</span> <span class="comment">// representation of the number</span></div>
|
||||
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"> 44</span> <span class="keywordflow">while</span> (n != 0) {</div>
|
||||
<div class="line"><a id="l00045" name="l00045"></a><span class="lineno"> 45</span> count += n & 1;</div>
|
||||
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"> 46</span> n = n >> 1; <span class="comment">// n=n/2</span></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="keywordflow">return</span> count;</div>
|
||||
<div class="line"><a id="l00049" name="l00049"></a><span class="lineno"> 49</span>}</div>
|
||||
</div><!-- fragment --><div class="dynheader">
|
||||
Here is the call graph for this function:</div>
|
||||
<div class="dyncontent">
|
||||
@@ -178,7 +177,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">◆ </a></span>main()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
@@ -196,10 +195,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="l00077"></a><span class="lineno"> 77</span>  {</div>
|
||||
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <a class="code" href="../../da/db8/count__of__set__bits_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">test</a>(); <span class="comment">// run self-test implementations</span></div>
|
||||
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <span class="keywordflow">return</span> 0;</div>
|
||||
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span> }</div>
|
||||
<div class="fragment"><div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span> {</div>
|
||||
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span> <a class="code hl_function" href="../../da/db8/count__of__set__bits_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">test</a>(); <span class="comment">// run self-test implementations</span></div>
|
||||
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span> <span class="keywordflow">return</span> 0;</div>
|
||||
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span>}</div>
|
||||
<div class="ttc" id="acount__of__set__bits_8cpp_html_aa8dca7b867074164d5f45b0f3851269d"><div class="ttname"><a href="../../da/db8/count__of__set__bits_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">test</a></div><div class="ttdeci">static void test()</div><div class="ttdoc">Self-test implementations.</div><div class="ttdef"><b>Definition:</b> count_of_set_bits.cpp:57</div></div>
|
||||
</div><!-- fragment --><div class="dynheader">
|
||||
Here is the call graph for this function:</div>
|
||||
@@ -210,7 +209,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">◆ </a></span>test()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
@@ -235,21 +234,21 @@ Here is the call graph for this function:</div>
|
||||
|
||||
<p>Self-test implementations. </p>
|
||||
<dl class="section return"><dt>Returns</dt><dd>void </dd></dl>
|
||||
<div class="fragment"><div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  {</div>
|
||||
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <span class="comment">// n = 4 return 1</span></div>
|
||||
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  assert(bit_manipulation::count_of_set_bits::countSetBits(4) == 1);</div>
|
||||
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  <span class="comment">// n = 6 return 2</span></div>
|
||||
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  assert(bit_manipulation::count_of_set_bits::countSetBits(6) == 2);</div>
|
||||
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  <span class="comment">// n = 13 return 3</span></div>
|
||||
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  assert(bit_manipulation::count_of_set_bits::countSetBits(13) == 3);</div>
|
||||
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  <span class="comment">// n = 9 return 2</span></div>
|
||||
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  assert(bit_manipulation::count_of_set_bits::countSetBits(9) == 2);</div>
|
||||
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  <span class="comment">// n = 15 return 4</span></div>
|
||||
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  assert(bit_manipulation::count_of_set_bits::countSetBits(15) == 4);</div>
|
||||
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  <span class="comment">// n = 25 return 3</span></div>
|
||||
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  assert(bit_manipulation::count_of_set_bits::countSetBits(25) == 3);</div>
|
||||
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"All test cases successfully passed!"</span> << <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="l00071"></a><span class="lineno"> 71</span> }</div>
|
||||
<div class="fragment"><div class="line"><a id="l00057" name="l00057"></a><span class="lineno"> 57</span> {</div>
|
||||
<div class="line"><a id="l00058" name="l00058"></a><span class="lineno"> 58</span> <span class="comment">// n = 4 return 1</span></div>
|
||||
<div class="line"><a id="l00059" name="l00059"></a><span class="lineno"> 59</span> assert(bit_manipulation::count_of_set_bits::countSetBits(4) == 1);</div>
|
||||
<div class="line"><a id="l00060" name="l00060"></a><span class="lineno"> 60</span> <span class="comment">// n = 6 return 2</span></div>
|
||||
<div class="line"><a id="l00061" name="l00061"></a><span class="lineno"> 61</span> assert(bit_manipulation::count_of_set_bits::countSetBits(6) == 2);</div>
|
||||
<div class="line"><a id="l00062" name="l00062"></a><span class="lineno"> 62</span> <span class="comment">// n = 13 return 3</span></div>
|
||||
<div class="line"><a id="l00063" name="l00063"></a><span class="lineno"> 63</span> assert(bit_manipulation::count_of_set_bits::countSetBits(13) == 3);</div>
|
||||
<div class="line"><a id="l00064" name="l00064"></a><span class="lineno"> 64</span> <span class="comment">// n = 9 return 2</span></div>
|
||||
<div class="line"><a id="l00065" name="l00065"></a><span class="lineno"> 65</span> assert(bit_manipulation::count_of_set_bits::countSetBits(9) == 2);</div>
|
||||
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span> <span class="comment">// n = 15 return 4</span></div>
|
||||
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span> assert(bit_manipulation::count_of_set_bits::countSetBits(15) == 4);</div>
|
||||
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span> <span class="comment">// n = 25 return 3</span></div>
|
||||
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span> assert(bit_manipulation::count_of_set_bits::countSetBits(25) == 3);</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/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"All test cases successfully passed!"</span> << <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="l00071" name="l00071"></a><span class="lineno"> 71</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="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><!-- fragment --><div class="dynheader">
|
||||
@@ -267,7 +266,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_f3c4fbc4e901afa0a54d0623c5574aa7.html">bit_manipulation</a></li><li class="navelem"><a class="el" href="../../da/db8/count__of__set__bits_8cpp.html">count_of_set_bits.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>
|
||||
|
||||
@@ -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: bit_manipulation::count_of_set_bits::countSetBits Pages: 1 -->
|
||||
<svg width="140pt" height="57pt"
|
||||
|
||||
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |