Documentation for 554919d9f5
@@ -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.46.1 (20210213.1702)
|
||||
<!-- Generated by graphviz version 2.47.2 (20210527.0053)
|
||||
-->
|
||||
<!-- Title: backtracking/rat_maze.cpp Pages: 1 -->
|
||||
<svg width="186pt" height="84pt"
|
||||
|
||||
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.9 KiB |
@@ -0,0 +1,465 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<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 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"/>
|
||||
<script type="text/javascript" src="../../jquery.js"></script>
|
||||
<script type="text/javascript" src="../../dynsections.js"></script>
|
||||
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="../../resize.js"></script>
|
||||
<script type="text/javascript" src="../../navtreedata.js"></script>
|
||||
<script type="text/javascript" src="../../navtree.js"></script>
|
||||
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<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"],
|
||||
});
|
||||
</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>
|
||||
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<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>
|
||||
<div id="projectbrief">Set of algorithms implemented in C++.</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.9.1 -->
|
||||
<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-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 */
|
||||
$(function() {
|
||||
initMenu('../../',true,false,'search.php','Search');
|
||||
$(document).ready(function() { init_search(); });
|
||||
});
|
||||
/* @license-end */</script>
|
||||
<div id="main-nav"></div>
|
||||
</div><!-- top -->
|
||||
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
||||
<div id="nav-tree">
|
||||
<div id="nav-tree-contents">
|
||||
<div id="nav-sync" class="sync"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="splitbar" style="-moz-user-select:none;"
|
||||
class="ui-resizable-handle">
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
$(document).ready(function(){initNavTree('da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html','../../'); initResizable(); });
|
||||
/* @license-end */
|
||||
</script>
|
||||
<div id="doc-content">
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<a href="#nested-classes">Classes</a> |
|
||||
<a href="#pub-methods">Public Member Functions</a> |
|
||||
<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><!--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.
|
||||
<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="178" 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>
|
||||
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>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </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">Info</a></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-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:a8687882bdb604ab367da6e8fe42a35c9"><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#a8687882bdb604ab367da6e8fe42a35c9">Solution</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">std::map</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="../../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> > &parent_of)</td></tr>
|
||||
<tr class="memdesc:a8687882bdb604ab367da6e8fe42a35c9"><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#a8687882bdb604ab367da6e8fe42a35c9">More...</a><br /></td></tr>
|
||||
<tr class="separator:a8687882bdb604ab367da6e8fe42a35c9"><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>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a 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="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>
|
||||
Private Attributes</h2></td></tr>
|
||||
<tr class="memitem:aa2329b2036d458bc803fd62a5545fb0d"><td class="memItemLeft" align="right" valign="top"><a id="aa2329b2036d458bc803fd62a5545fb0d"></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:aa2329b2036d458bc803fd62a5545fb0d"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a7f3033a1201a4e35b955d663491869a1"><td class="memItemLeft" align="right" valign="top"><a id="a7f3033a1201a4e35b955d663491869a1"></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:a7f3033a1201a4e35b955d663491869a1"><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>
|
||||
<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">
|
||||
<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>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#abaff2ea6d309e1133fd95bbd1e39946e">◆ </a></span>AyStarSearch()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename Puzzle > </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname"><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="../../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html">AyStarSearch</a> </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const Puzzle & </td>
|
||||
<td class="paramname"><em>initial</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const Puzzle & </td>
|
||||
<td class="paramname"><em>final</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">
|
||||
|
||||
<p>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>. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">initial</td><td>denoting initial state of the puzzle </td></tr>
|
||||
<tr><td class="paramname">final</td><td>denoting final state of the puzzle </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<div class="fragment"><div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  {</div>
|
||||
<div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  Initial = <a class="code" href="../../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#a47b9bc9815a2e7123ac1dc13e5377301">Info</a>(initial);</div>
|
||||
<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  Final = <a class="code" href="../../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#a47b9bc9815a2e7123ac1dc13e5377301">Info</a>(<span class="keyword">final</span>);</div>
|
||||
<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>  }</div>
|
||||
<div class="ttc" id="aclassmachine__learning_1_1aystar__search_1_1_ay_star_search_html_a47b9bc9815a2e7123ac1dc13e5377301"><div class="ttname"><a href="../../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#a47b9bc9815a2e7123ac1dc13e5377301">machine_learning::aystar_search::AyStarSearch::Info</a></div><div class="ttdeci">struct machine_learning::aystar_search::AyStarSearch::Info Info</div><div class="ttdoc">Struct that handles all the information related to the current state.</div></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>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename Puzzle > </div>
|
||||
<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/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>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const uint32_t </td>
|
||||
<td class="paramname"><em>permissible_depth</em> = <code>30</code> </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">
|
||||
<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>
|
||||
</table>
|
||||
</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="l00420"></a><span class="lineno"> 420</span>  {</div>
|
||||
<div class="line"><a name="l00421"></a><span class="lineno"> 421</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/map.html">std::map<Info, Info *, comparison_operator></a></div>
|
||||
<div class="line"><a name="l00422"></a><span class="lineno"> 422</span>  parent_of; <span class="comment">/// Stores the parent of the states</span></div>
|
||||
<div class="line"><a name="l00423"></a><span class="lineno"> 423</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/map.html">std::map<Info, uint32_t, comparison_operator></a></div>
|
||||
<div class="line"><a name="l00424"></a><span class="lineno"> 424</span>  g_score; <span class="comment">/// Stores the g_score</span></div>
|
||||
<div class="line"><a name="l00425"></a><span class="lineno"> 425</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/set.html">std::set<Info, comparison_operator></a></div>
|
||||
<div class="line"><a name="l00426"></a><span class="lineno"> 426</span>  open_list; <span class="comment">/// Stores the list to explore</span></div>
|
||||
<div class="line"><a name="l00427"></a><span class="lineno"> 427</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/set.html">std::set<Info, comparison_operator></a></div>
|
||||
<div class="line"><a name="l00428"></a><span class="lineno"> 428</span>  closed_list; <span class="comment">/// Stores the list that are explored</span></div>
|
||||
<div class="line"><a name="l00429"></a><span class="lineno"> 429</span>  </div>
|
||||
<div class="line"><a name="l00430"></a><span class="lineno"> 430</span>  <span class="comment">// Before starting the AyStartSearch, initialize the set and maps</span></div>
|
||||
<div class="line"><a name="l00431"></a><span class="lineno"> 431</span>  open_list.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/set/emplace.html">emplace</a>(Initial);</div>
|
||||
<div class="line"><a name="l00432"></a><span class="lineno"> 432</span>  parent_of[Initial] = <span class="keyword">nullptr</span>;</div>
|
||||
<div class="line"><a name="l00433"></a><span class="lineno"> 433</span>  g_score[Initial] = 0;</div>
|
||||
<div class="line"><a name="l00434"></a><span class="lineno"> 434</span>  </div>
|
||||
<div class="line"><a name="l00435"></a><span class="lineno"> 435</span>  <span class="keywordflow">while</span> (!open_list.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/set/empty.html">empty</a>()) {</div>
|
||||
<div class="line"><a name="l00436"></a><span class="lineno"> 436</span>  <span class="comment">// Iterator for state having having lowest f_score.</span></div>
|
||||
<div class="line"><a name="l00437"></a><span class="lineno"> 437</span>  <span class="keyword">typename</span> <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/set.html">std::set<Info, comparison_operator>::iterator</a></div>
|
||||
<div class="line"><a name="l00438"></a><span class="lineno"> 438</span>  it_low_f_score;</div>
|
||||
<div class="line"><a name="l00439"></a><span class="lineno"> 439</span>  uint32_t min_f_score = 1e9;</div>
|
||||
<div class="line"><a name="l00440"></a><span class="lineno"> 440</span>  <span class="keywordflow">for</span> (<span class="keyword">auto</span> iter = open_list.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/set/begin.html">begin</a>(); iter != open_list.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/set/end.html">end</a>();</div>
|
||||
<div class="line"><a name="l00441"></a><span class="lineno"> 441</span>  ++iter) {</div>
|
||||
<div class="line"><a name="l00442"></a><span class="lineno"> 442</span>  <span class="comment">// f score here is evaluated by g score (depth) and h score</span></div>
|
||||
<div class="line"><a name="l00443"></a><span class="lineno"> 443</span>  <span class="comment">// (distance between current state and final state)</span></div>
|
||||
<div class="line"><a name="l00444"></a><span class="lineno"> 444</span>  uint32_t f_score = iter->heuristic_value + iter->depth;</div>
|
||||
<div class="line"><a name="l00445"></a><span class="lineno"> 445</span>  <span class="keywordflow">if</span> (f_score < min_f_score) {</div>
|
||||
<div class="line"><a name="l00446"></a><span class="lineno"> 446</span>  min_f_score = f_score;</div>
|
||||
<div class="line"><a name="l00447"></a><span class="lineno"> 447</span>  it_low_f_score = iter;</div>
|
||||
<div class="line"><a name="l00448"></a><span class="lineno"> 448</span>  }</div>
|
||||
<div class="line"><a name="l00449"></a><span class="lineno"> 449</span>  }</div>
|
||||
<div class="line"><a name="l00450"></a><span class="lineno"> 450</span>  </div>
|
||||
<div class="line"><a name="l00451"></a><span class="lineno"> 451</span>  <span class="comment">// current_state, stores lowest f score so far for this state.</span></div>
|
||||
<div class="line"><a name="l00452"></a><span class="lineno"> 452</span>  <a class="code" href="../../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#a47b9bc9815a2e7123ac1dc13e5377301">Info</a> *current_state = <span class="keyword">new</span> <a class="code" href="../../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#a47b9bc9815a2e7123ac1dc13e5377301">Info</a>(*it_low_f_score);</div>
|
||||
<div class="line"><a name="l00453"></a><span class="lineno"> 453</span>  </div>
|
||||
<div class="line"><a name="l00454"></a><span class="lineno"> 454</span>  <span class="comment">// if this current state is equal to final, return</span></div>
|
||||
<div class="line"><a name="l00455"></a><span class="lineno"> 455</span>  <span class="keywordflow">if</span> (current_state->state == Final.state) {</div>
|
||||
<div class="line"><a name="l00456"></a><span class="lineno"> 456</span>  <span class="keywordflow">return</span> <a class="code" href="../../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#a8687882bdb604ab367da6e8fe42a35c9">Solution</a>(current_state, parent_of);</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">// else remove from open list as visited.</span></div>
|
||||
<div class="line"><a name="l00459"></a><span class="lineno"> 459</span>  open_list.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/set/erase.html">erase</a>(it_low_f_score);</div>
|
||||
<div class="line"><a name="l00460"></a><span class="lineno"> 460</span>  <span class="comment">// if current_state has exceeded the allowed depth, skip</span></div>
|
||||
<div class="line"><a name="l00461"></a><span class="lineno"> 461</span>  <span class="comment">// neighbor checking</span></div>
|
||||
<div class="line"><a name="l00462"></a><span class="lineno"> 462</span>  <span class="keywordflow">if</span> (current_state->depth >= permissible_depth) {</div>
|
||||
<div class="line"><a name="l00463"></a><span class="lineno"> 463</span>  <span class="keywordflow">continue</span>;</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">// Generate all possible moves (neighbors) given the current</span></div>
|
||||
<div class="line"><a name="l00466"></a><span class="lineno"> 466</span>  <span class="comment">// state</span></div>
|
||||
<div class="line"><a name="l00467"></a><span class="lineno"> 467</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="l00468"></a><span class="lineno"> 468</span>  current_state->state.generate_possible_moves();</div>
|
||||
<div class="line"><a name="l00469"></a><span class="lineno"> 469</span>  </div>
|
||||
<div class="line"><a name="l00470"></a><span class="lineno"> 470</span>  <span class="keywordflow">for</span> (Puzzle &neighbor : total_possible_moves) {</div>
|
||||
<div class="line"><a name="l00471"></a><span class="lineno"> 471</span>  <span class="comment">// calculate score of neighbors with respect to</span></div>
|
||||
<div class="line"><a name="l00472"></a><span class="lineno"> 472</span>  <span class="comment">// current_state</span></div>
|
||||
<div class="line"><a name="l00473"></a><span class="lineno"> 473</span>  <a class="code" href="../../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#a47b9bc9815a2e7123ac1dc13e5377301">Info</a> Neighbor = {neighbor, dist(neighbor, Final.state),</div>
|
||||
<div class="line"><a name="l00474"></a><span class="lineno"> 474</span>  current_state->depth + 1};</div>
|
||||
<div class="line"><a name="l00475"></a><span class="lineno"> 475</span>  uint32_t temp_g_score = Neighbor.depth;</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="comment">// Check whether this state is explored.</span></div>
|
||||
<div class="line"><a name="l00478"></a><span class="lineno"> 478</span>  <span class="comment">// If this state is discovered at greater depth, then discard,</span></div>
|
||||
<div class="line"><a name="l00479"></a><span class="lineno"> 479</span>  <span class="comment">// else remove from closed list and explore the node</span></div>
|
||||
<div class="line"><a name="l00480"></a><span class="lineno"> 480</span>  <span class="keyword">auto</span> closed_list_iter = closed_list.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/set/find.html">find</a>(Neighbor);</div>
|
||||
<div class="line"><a name="l00481"></a><span class="lineno"> 481</span>  <span class="keywordflow">if</span> (closed_list_iter != closed_list.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/set/end.html">end</a>()) {</div>
|
||||
<div class="line"><a name="l00482"></a><span class="lineno"> 482</span>  <span class="comment">// 1. If state in closed list has higher depth, then remove</span></div>
|
||||
<div class="line"><a name="l00483"></a><span class="lineno"> 483</span>  <span class="comment">// from list since we have found better option,</span></div>
|
||||
<div class="line"><a name="l00484"></a><span class="lineno"> 484</span>  <span class="comment">// 2. Else don't explore this state.</span></div>
|
||||
<div class="line"><a name="l00485"></a><span class="lineno"> 485</span>  <span class="keywordflow">if</span> (Neighbor.depth < closed_list_iter->depth) {</div>
|
||||
<div class="line"><a name="l00486"></a><span class="lineno"> 486</span>  closed_list.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/set/erase.html">erase</a>(closed_list_iter);</div>
|
||||
<div class="line"><a name="l00487"></a><span class="lineno"> 487</span>  } <span class="keywordflow">else</span> {</div>
|
||||
<div class="line"><a name="l00488"></a><span class="lineno"> 488</span>  <span class="keywordflow">continue</span>;</div>
|
||||
<div class="line"><a name="l00489"></a><span class="lineno"> 489</span>  }</div>
|
||||
<div class="line"><a name="l00490"></a><span class="lineno"> 490</span>  }</div>
|
||||
<div class="line"><a name="l00491"></a><span class="lineno"> 491</span>  <span class="keyword">auto</span> neighbor_g_score_iter = g_score.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/map/find.html">find</a>(Neighbor);</div>
|
||||
<div class="line"><a name="l00492"></a><span class="lineno"> 492</span>  <span class="comment">// if the neighbor is already created and has minimum</span></div>
|
||||
<div class="line"><a name="l00493"></a><span class="lineno"> 493</span>  <span class="comment">// g_score, then update g_score and f_score else insert new</span></div>
|
||||
<div class="line"><a name="l00494"></a><span class="lineno"> 494</span>  <span class="keywordflow">if</span> (neighbor_g_score_iter != g_score.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/map/end.html">end</a>()) {</div>
|
||||
<div class="line"><a name="l00495"></a><span class="lineno"> 495</span>  <span class="keywordflow">if</span> (neighbor_g_score_iter->second > temp_g_score) {</div>
|
||||
<div class="line"><a name="l00496"></a><span class="lineno"> 496</span>  neighbor_g_score_iter->second = temp_g_score;</div>
|
||||
<div class="line"><a name="l00497"></a><span class="lineno"> 497</span>  parent_of[Neighbor] = current_state;</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="keywordflow">else</span> {</div>
|
||||
<div class="line"><a name="l00500"></a><span class="lineno"> 500</span>  g_score[Neighbor] = temp_g_score;</div>
|
||||
<div class="line"><a name="l00501"></a><span class="lineno"> 501</span>  parent_of[Neighbor] = current_state;</div>
|
||||
<div class="line"><a name="l00502"></a><span class="lineno"> 502</span>  }</div>
|
||||
<div class="line"><a name="l00503"></a><span class="lineno"> 503</span>  <span class="comment">// If this is a new state, insert into open_list</span></div>
|
||||
<div class="line"><a name="l00504"></a><span class="lineno"> 504</span>  <span class="comment">// else update if the this state has better g score than</span></div>
|
||||
<div class="line"><a name="l00505"></a><span class="lineno"> 505</span>  <span class="comment">// existing one.</span></div>
|
||||
<div class="line"><a name="l00506"></a><span class="lineno"> 506</span>  <span class="keyword">auto</span> iter = open_list.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/set/find.html">find</a>(Neighbor);</div>
|
||||
<div class="line"><a name="l00507"></a><span class="lineno"> 507</span>  <span class="keywordflow">if</span> (iter == open_list.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/set/end.html">end</a>()) {</div>
|
||||
<div class="line"><a name="l00508"></a><span class="lineno"> 508</span>  open_list.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/set/emplace.html">emplace</a>(Neighbor);</div>
|
||||
<div class="line"><a name="l00509"></a><span class="lineno"> 509</span>  } <span class="keywordflow">else</span> <span class="keywordflow">if</span> (iter->depth > Neighbor.depth) {</div>
|
||||
<div class="line"><a name="l00510"></a><span class="lineno"> 510</span>  open_list.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/set/erase.html">erase</a>(iter);</div>
|
||||
<div class="line"><a name="l00511"></a><span class="lineno"> 511</span>  open_list.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/set/emplace.html">emplace</a>(Neighbor);</div>
|
||||
<div class="line"><a name="l00512"></a><span class="lineno"> 512</span>  }</div>
|
||||
<div class="line"><a name="l00513"></a><span class="lineno"> 513</span>  }</div>
|
||||
<div class="line"><a name="l00514"></a><span class="lineno"> 514</span>  closed_list.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/set/emplace.html">emplace</a>(*current_state);</div>
|
||||
<div class="line"><a name="l00515"></a><span class="lineno"> 515</span>  }</div>
|
||||
<div class="line"><a name="l00516"></a><span class="lineno"> 516</span>  <span class="comment">// Cannot find the solution, return empty vector</span></div>
|
||||
<div class="line"><a name="l00517"></a><span class="lineno"> 517</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="l00518"></a><span class="lineno"> 518</span>  }</div>
|
||||
<div class="ttc" id="abegin_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/set/begin.html">std::set::begin</a></div><div class="ttdeci">T begin(T... args)</div></div>
|
||||
<div class="ttc" id="aclassmachine__learning_1_1aystar__search_1_1_ay_star_search_html_a8687882bdb604ab367da6e8fe42a35c9"><div class="ttname"><a href="../../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#a8687882bdb604ab367da6e8fe42a35c9">machine_learning::aystar_search::AyStarSearch::Solution</a></div><div class="ttdeci">std::vector< Puzzle > Solution(Info *FinalState, const std::map< Info, Info *, comparison_operator > &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:394</div></div>
|
||||
<div class="ttc" id="aemplace_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/set/emplace.html">std::set::emplace</a></div><div class="ttdeci">T emplace(T... args)</div></div>
|
||||
<div class="ttc" id="aempty_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/set/empty.html">std::set::empty</a></div><div class="ttdeci">T empty(T... args)</div></div>
|
||||
<div class="ttc" id="aend_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/set/end.html">std::set::end</a></div><div class="ttdeci">T end(T... args)</div></div>
|
||||
<div class="ttc" id="aerase_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/set/erase.html">std::set::erase</a></div><div class="ttdeci">T erase(T... args)</div></div>
|
||||
<div class="ttc" id="afind_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/set/find.html">std::set::find</a></div><div class="ttdeci">T find(T... args)</div></div>
|
||||
<div class="ttc" id="amap_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/map.html">std::map</a></div></div>
|
||||
<div class="ttc" id="aset_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/set.html">std::set</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="616" 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="a8687882bdb604ab367da6e8fe42a35c9"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a8687882bdb604ab367da6e8fe42a35c9">◆ </a></span>Solution()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename Puzzle > </div>
|
||||
<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/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="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>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/map.html">std::map</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="../../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>
|
||||
<td class="paramname"><em>parent_of</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">
|
||||
|
||||
<p>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. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">FinalState</td><td>the pointer to the obtained final state </td></tr>
|
||||
<tr><td class="paramname">parent_of</td><td>the list of all parents of nodes stored during A* search </td></tr>
|
||||
</table>
|
||||
</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="l00396"></a><span class="lineno"> 396</span>  {</div>
|
||||
<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>  <span class="comment">// Useful for traversing from final state to current state.</span></div>
|
||||
<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>  <a class="code" href="../../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#a47b9bc9815a2e7123ac1dc13e5377301">Info</a> *current_state = FinalState;</div>
|
||||
<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>  <span class="comment">/*</span></div>
|
||||
<div class="line"><a name="l00400"></a><span class="lineno"> 400</span> <span class="comment"> * For storing the solution tree starting from initial state to</span></div>
|
||||
<div class="line"><a name="l00401"></a><span class="lineno"> 401</span> <span class="comment"> * final state</span></div>
|
||||
<div class="line"><a name="l00402"></a><span class="lineno"> 402</span> <span class="comment"> */</span></div>
|
||||
<div class="line"><a name="l00403"></a><span class="lineno"> 403</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="l00404"></a><span class="lineno"> 404</span>  <span class="keywordflow">while</span> (current_state != <span class="keyword">nullptr</span>) {</div>
|
||||
<div class="line"><a name="l00405"></a><span class="lineno"> 405</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="l00406"></a><span class="lineno"> 406</span>  current_state = parent_of.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/map/find.html">find</a>(*current_state)->second;</div>
|
||||
<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="keywordflow">return</span> answer;</div>
|
||||
<div class="line"><a name="l00409"></a><span class="lineno"> 409</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_a8687882bdb604ab367da6e8fe42a35c9_cgraph.svg" width="402" 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>
|
||||
<hr/>The documentation for this class was generated from the following file:<ul>
|
||||
<li>machine_learning/a_star_search.cpp</li>
|
||||
</ul>
|
||||
</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="../../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>
|
||||
</ul>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,11 @@
|
||||
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" ],
|
||||
[ "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 ],
|
||||
[ "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#a8687882bdb604ab367da6e8fe42a35c9", null ],
|
||||
[ "Final", "da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#a7f3033a1201a4e35b955d663491869a1", null ],
|
||||
[ "Initial", "da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#aa2329b2036d458bc803fd62a5545fb0d", null ]
|
||||
];
|
||||
@@ -0,0 +1,13 @@
|
||||
<map id="machine_learning::aystar_search::AyStarSearch::a_star_search" name="machine_learning::aystar_search::AyStarSearch::a_star_search">
|
||||
<area shape="rect" id="node1" title=" " alt="" coords="5,193,172,249"/>
|
||||
<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="251,5,356,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="242,56,365,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="248,107,359,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="252,157,355,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="256,208,351,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="250,259,357,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="471,343,574,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="256,360,351,387"/>
|
||||
<area shape="rect" id="node10" href="$da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#a8687882bdb604ab367da6e8fe42a35c9" title="A helper solution: launches when a solution for AyStarSearch is found." alt="" coords="220,411,387,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="435,425,611,452"/>
|
||||
</map>
|
||||
@@ -0,0 +1 @@
|
||||
8c8c45c919edf5999cede22373099e4c
|
||||
@@ -0,0 +1,182 @@
|
||||
<?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.47.2 (20210527.0053)
|
||||
-->
|
||||
<!-- Title: machine_learning::aystar_search::AyStarSearch::a_star_search Pages: 1 -->
|
||||
<svg width="462pt" height="354pt"
|
||||
viewBox="0.00 0.00 462.00 354.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 350)">
|
||||
<title>machine_learning::aystar_search::AyStarSearch::a_star_search</title>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-350 458,-350 458,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,-163.5 0,-204.5 125,-204.5 125,-163.5 0,-163.5"/>
|
||||
<text text-anchor="start" x="8" y="-192.5" font-family="Helvetica,sans-Serif" font-size="10.00">machine_learning::aystar</text>
|
||||
<text text-anchor="start" x="8" y="-181.5" font-family="Helvetica,sans-Serif" font-size="10.00">_search::AyStarSearch::</text>
|
||||
<text text-anchor="middle" x="62.5" y="-170.5" font-family="Helvetica,sans-Serif" font-size="10.00">a_star_search</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node2 -->
|
||||
<g id="node2" class="node">
|
||||
<title>Node2</title>
|
||||
<g id="a_node2"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/set/begin.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="184,-326.5 184,-345.5 263,-345.5 263,-326.5 184,-326.5"/>
|
||||
<text text-anchor="middle" x="223.5" y="-333.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::set::begin</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node2 -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>Node1->Node2</title>
|
||||
<path fill="none" stroke="midnightblue" d="M73.33,-204.79C88.22,-234.09 119.26,-287.27 161,-317 165.16,-319.96 169.79,-322.47 174.6,-324.6"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="173.39,-327.88 183.98,-328.23 175.92,-321.36 173.39,-327.88"/>
|
||||
</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/set/emplace.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="177.5,-288.5 177.5,-307.5 269.5,-307.5 269.5,-288.5 177.5,-288.5"/>
|
||||
<text text-anchor="middle" x="223.5" y="-295.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::set::emplace</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node3 -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>Node1->Node3</title>
|
||||
<path fill="none" stroke="midnightblue" d="M79.64,-204.71C97.41,-226.19 127.88,-259.33 161,-279 164.62,-281.15 168.51,-283.08 172.51,-284.81"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="171.37,-288.12 181.96,-288.48 173.9,-281.59 171.37,-288.12"/>
|
||||
</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/set/empty.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="182,-250.5 182,-269.5 265,-269.5 265,-250.5 182,-250.5"/>
|
||||
<text text-anchor="middle" x="223.5" y="-257.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::set::empty</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node4 -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>Node1->Node4</title>
|
||||
<path fill="none" stroke="midnightblue" d="M94.58,-204.65C113.27,-216.42 137.85,-230.82 161,-241 166.05,-243.22 171.44,-245.29 176.85,-247.19"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="175.95,-250.58 186.54,-250.41 178.16,-243.93 175.95,-250.58"/>
|
||||
</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/map/end.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="185,-212.5 185,-231.5 262,-231.5 262,-212.5 185,-212.5"/>
|
||||
<text text-anchor="middle" x="223.5" y="-219.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::map::end</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node5 -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>Node1->Node5</title>
|
||||
<path fill="none" stroke="midnightblue" d="M125.43,-198.8C141.88,-202.73 159.39,-206.92 174.94,-210.63"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="174.31,-214.08 184.85,-213 175.94,-207.27 174.31,-214.08"/>
|
||||
</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="188,-174.5 188,-193.5 259,-193.5 259,-174.5 188,-174.5"/>
|
||||
<text text-anchor="middle" x="223.5" y="-181.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::set::end</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node6 -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>Node1->Node6</title>
|
||||
<path fill="none" stroke="midnightblue" d="M125.43,-184C142.74,-184 161.22,-184 177.36,-184"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="177.59,-187.5 187.59,-184 177.59,-180.5 177.59,-187.5"/>
|
||||
</g>
|
||||
<!-- Node7 -->
|
||||
<g id="node7" class="node">
|
||||
<title>Node7</title>
|
||||
<g id="a_node7"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/set/erase.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="183.5,-136.5 183.5,-155.5 263.5,-155.5 263.5,-136.5 183.5,-136.5"/>
|
||||
<text text-anchor="middle" x="223.5" y="-143.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::set::erase</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node7 -->
|
||||
<g id="edge6" class="edge">
|
||||
<title>Node1->Node7</title>
|
||||
<path fill="none" stroke="midnightblue" d="M125.43,-169.2C141.45,-165.37 158.48,-161.3 173.72,-157.66"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="174.54,-161.06 183.45,-155.33 172.91,-154.25 174.54,-161.06"/>
|
||||
</g>
|
||||
<!-- Node8 -->
|
||||
<g id="node8" class="node">
|
||||
<title>Node8</title>
|
||||
<g id="a_node8"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/map/find.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="349.5,-73.5 349.5,-92.5 426.5,-92.5 426.5,-73.5 349.5,-73.5"/>
|
||||
<text text-anchor="middle" x="388" y="-80.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::map::find</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node8 -->
|
||||
<g id="edge7" class="edge">
|
||||
<title>Node1->Node8</title>
|
||||
<path fill="none" stroke="midnightblue" d="M92.92,-163.26C111.62,-151 136.78,-136.13 161,-127 220.11,-104.71 292.37,-93.17 339.02,-87.6"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="339.61,-91.06 349.15,-86.44 338.81,-84.1 339.61,-91.06"/>
|
||||
</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="188,-60.5 188,-79.5 259,-79.5 259,-60.5 188,-60.5"/>
|
||||
<text text-anchor="middle" x="223.5" y="-67.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::set::find</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node9 -->
|
||||
<g id="edge8" class="edge">
|
||||
<title>Node1->Node9</title>
|
||||
<path fill="none" stroke="midnightblue" d="M81.51,-163.39C99.85,-143.43 129.94,-113.42 161,-94 167.41,-89.99 174.61,-86.45 181.75,-83.41"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="183.4,-86.52 191.39,-79.57 180.81,-80.02 183.4,-86.52"/>
|
||||
</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#a8687882bdb604ab367da6e8fe42a35c9" target="_top" xlink:title="A helper solution: launches when a solution for AyStarSearch is found.">
|
||||
<polygon fill="white" stroke="black" points="161,-0.5 161,-41.5 286,-41.5 286,-0.5 161,-0.5"/>
|
||||
<text text-anchor="start" x="169" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">machine_learning::aystar</text>
|
||||
<text text-anchor="start" x="169" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">_search::AyStarSearch::</text>
|
||||
<text text-anchor="middle" x="223.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">Solution</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node10 -->
|
||||
<g id="edge9" class="edge">
|
||||
<title>Node1->Node10</title>
|
||||
<path fill="none" stroke="midnightblue" d="M74.51,-163.1C90.39,-134.63 122.11,-83.49 161,-51 162.54,-49.71 164.14,-48.47 165.79,-47.26"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="167.99,-50 174.39,-41.56 164.12,-44.17 167.99,-50"/>
|
||||
</g>
|
||||
<!-- Node10->Node8 -->
|
||||
<g id="edge11" class="edge">
|
||||
<title>Node10->Node8</title>
|
||||
<path fill="none" stroke="midnightblue" d="M278.61,-41.65C302.95,-50.93 330.96,-61.62 352.41,-69.8"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="351.17,-73.08 361.77,-73.37 353.67,-66.54 351.17,-73.08"/>
|
||||
</g>
|
||||
<!-- Node11 -->
|
||||
<g id="node11" class="node">
|
||||
<title>Node11</title>
|
||||
<g id="a_node11"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/emplace_back.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="322,-11.5 322,-30.5 454,-30.5 454,-11.5 322,-11.5"/>
|
||||
<text text-anchor="middle" x="388" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::emplace_back</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node10->Node11 -->
|
||||
<g id="edge10" class="edge">
|
||||
<title>Node10->Node11</title>
|
||||
<path fill="none" stroke="midnightblue" d="M286.4,-21C294.62,-21 303.13,-21 311.55,-21"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="311.76,-24.5 321.76,-21 311.76,-17.5 311.76,-24.5"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 9.5 KiB |
@@ -0,0 +1,5 @@
|
||||
<map id="machine_learning::aystar_search::AyStarSearch::Solution" name="machine_learning::aystar_search::AyStarSearch::Solution">
|
||||
<area shape="rect" id="node1" title="A helper solution: launches when a solution for AyStarSearch is found." alt="" coords="5,16,172,72"/>
|
||||
<area shape="rect" id="node2" 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="220,5,396,32"/>
|
||||
<area shape="rect" id="node3" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/map/find.html#" title=" " alt="" coords="257,56,359,83"/>
|
||||
</map>
|
||||
@@ -0,0 +1 @@
|
||||
fa104f62e0167a8f92371e84db46bd57
|
||||
@@ -0,0 +1,54 @@
|
||||
<?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.47.2 (20210527.0053)
|
||||
-->
|
||||
<!-- Title: machine_learning::aystar_search::AyStarSearch::Solution Pages: 1 -->
|
||||
<svg width="301pt" height="66pt"
|
||||
viewBox="0.00 0.00 301.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>machine_learning::aystar_search::AyStarSearch::Solution</title>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-62 297,-62 297,4 -4,4"/>
|
||||
<!-- Node1 -->
|
||||
<g id="node1" class="node">
|
||||
<title>Node1</title>
|
||||
<g id="a_node1"><a xlink:title="A helper solution: launches when a solution for AyStarSearch is found.">
|
||||
<polygon fill="#bfbfbf" stroke="black" points="0,-8.5 0,-49.5 125,-49.5 125,-8.5 0,-8.5"/>
|
||||
<text text-anchor="start" x="8" y="-37.5" font-family="Helvetica,sans-Serif" font-size="10.00">machine_learning::aystar</text>
|
||||
<text text-anchor="start" x="8" y="-26.5" font-family="Helvetica,sans-Serif" font-size="10.00">_search::AyStarSearch::</text>
|
||||
<text text-anchor="middle" x="62.5" y="-15.5" font-family="Helvetica,sans-Serif" font-size="10.00">Solution</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node2 -->
|
||||
<g id="node2" class="node">
|
||||
<title>Node2</title>
|
||||
<g id="a_node2"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/emplace_back.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="161,-38.5 161,-57.5 293,-57.5 293,-38.5 161,-38.5"/>
|
||||
<text text-anchor="middle" x="227" y="-45.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::emplace_back</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node2 -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>Node1->Node2</title>
|
||||
<path fill="none" stroke="midnightblue" d="M125.4,-36.24C133.62,-37.2 142.13,-38.19 150.55,-39.18"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="150.42,-42.69 160.76,-40.37 151.24,-35.73 150.42,-42.69"/>
|
||||
</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/map/find.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="188.5,-0.5 188.5,-19.5 265.5,-19.5 265.5,-0.5 188.5,-0.5"/>
|
||||
<text text-anchor="middle" x="227" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::map::find</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node3 -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>Node1->Node3</title>
|
||||
<path fill="none" stroke="midnightblue" d="M125.4,-21.76C142.93,-19.71 161.73,-17.51 178.29,-15.58"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="178.74,-19.05 188.27,-14.41 177.93,-12.1 178.74,-19.05"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.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.46.1 (20210213.1702)
|
||||
<!-- Generated by graphviz version 2.47.2 (20210527.0053)
|
||||
-->
|
||||
<!-- Title: main Pages: 1 -->
|
||||
<svg width="139pt" height="66pt"
|
||||
|
||||
|
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.46.1 (20210213.1702)
|
||||
<!-- Generated by graphviz version 2.47.2 (20210527.0053)
|
||||
-->
|
||||
<!-- Title: sorting/strand_sort.cpp Pages: 1 -->
|
||||
<svg width="124pt" height="84pt"
|
||||
|
||||
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
@@ -0,0 +1,4 @@
|
||||
<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,162,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,168,61"/>
|
||||
</map>
|
||||
@@ -0,0 +1 @@
|
||||
dd594ab078d3e9e11bb8b100e19cbafa
|
||||
@@ -0,0 +1,41 @@
|
||||
<?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.47.2 (20210527.0053)
|
||||
-->
|
||||
<!-- Title: data_structures::trie_using_hashmap::Trie Pages: 1 -->
|
||||
<svg width="130pt" height="128pt"
|
||||
viewBox="0.00 0.00 130.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 126,-124 126,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 117.5,-30.5 117.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="61" 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 122,-119.5 122,-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="61" 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="M61,-68.03C61,-55.26 61,-40.97 61,-30.68"/>
|
||||
<polygon fill="#9a32cd" stroke="#9a32cd" points="57.5,-68.27 61,-78.27 64.5,-68.27 57.5,-68.27"/>
|
||||
<text text-anchor="middle" x="84" y="-52" font-family="Helvetica,sans-Serif" font-size="10.00"> root_node</text>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
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.46.1 (20210213.1702)
|
||||
<!-- Generated by graphviz version 2.47.2 (20210527.0053)
|
||||
-->
|
||||
<!-- Title: math/sieve_of_eratosthenes.cpp Pages: 1 -->
|
||||
<svg width="192pt" height="84pt"
|
||||
|
||||
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.9 KiB |
@@ -0,0 +1,228 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<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 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"/>
|
||||
<script type="text/javascript" src="../../jquery.js"></script>
|
||||
<script type="text/javascript" src="../../dynsections.js"></script>
|
||||
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="../../resize.js"></script>
|
||||
<script type="text/javascript" src="../../navtreedata.js"></script>
|
||||
<script type="text/javascript" src="../../navtree.js"></script>
|
||||
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<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"],
|
||||
});
|
||||
</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>
|
||||
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<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>
|
||||
<div id="projectbrief">Set of algorithms implemented in C++.</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.9.1 -->
|
||||
<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-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 */
|
||||
$(function() {
|
||||
initMenu('../../',true,false,'search.php','Search');
|
||||
$(document).ready(function() { init_search(); });
|
||||
});
|
||||
/* @license-end */</script>
|
||||
<div id="main-nav"></div>
|
||||
</div><!-- top -->
|
||||
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
||||
<div id="nav-tree">
|
||||
<div id="nav-tree-contents">
|
||||
<div id="nav-sync" class="sync"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="splitbar" style="-moz-user-select:none;"
|
||||
class="ui-resizable-handle">
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
$(document).ready(function(){initNavTree('da/d37/structdata__structures_1_1sparse__table_1_1_sparse__table.html','../../'); initResizable(); });
|
||||
/* @license-end */
|
||||
</script>
|
||||
<div id="doc-content">
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<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><!--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="266" 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>
|
||||
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="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>
|
||||
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="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="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="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>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a0c8cbe7239232863f104793c08273039">◆ </a></span>query()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">int64_t data_structures::sparse_table::Sparse_table::query </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">int64_t </td>
|
||||
<td class="paramname"><em>l</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">int64_t </td>
|
||||
<td class="paramname"><em>r</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">
|
||||
|
||||
<p>Queries the sparse table for the value of the interval <a href="../../i.e. from l to r inclusive">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>
|
||||
<tr><td class="paramname">r</td><td>the right index of the range (inclusive). </td></tr>
|
||||
</table>
|
||||
</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>
|
||||
<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>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<h2 class="groupheader">Member Data Documentation</h2>
|
||||
<a id="ab78620742305a35ff2f8d61179f47d3e"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ab78620742305a35ff2f8d61179f47d3e">◆ </a></span>A</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/array.html">std::array</a><int64_t, N> data_structures::sparse_table::Sparse_table::A = {}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>input array to perform RMQ. </p>
|
||||
<dl class="section warning"><dt>Warning</dt><dd>check if <code>N</code> is not less than <code>n</code>. if so, manually increase the value of N </dd></dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<hr/>The documentation for this struct was generated from the following file:<ul>
|
||||
<li>data_structures/<a class="el" href="../../d6/d42/data__structures_2sparse__table_8cpp.html">sparse_table.cpp</a></li>
|
||||
</ul>
|
||||
</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="../../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>
|
||||
</ul>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
8
da/d37/structdata__structures_1_1sparse__table_1_1_sparse__table.js
vendored
Normal file
@@ -0,0 +1,8 @@
|
||||
var structdata__structures_1_1sparse__table_1_1_sparse__table =
|
||||
[
|
||||
[ "query", "da/d37/structdata__structures_1_1sparse__table_1_1_sparse__table.html#a0c8cbe7239232863f104793c08273039", null ],
|
||||
[ "A", "da/d37/structdata__structures_1_1sparse__table_1_1_sparse__table.html#ab78620742305a35ff2f8d61179f47d3e", null ],
|
||||
[ "LOG", "da/d37/structdata__structures_1_1sparse__table_1_1_sparse__table.html#a6cf72f93b1551f0d943c585b4f173be3", null ],
|
||||
[ "n", "da/d37/structdata__structures_1_1sparse__table_1_1_sparse__table.html#ad71ecd43d0af1127df5f4006258f9635", null ],
|
||||
[ "ST", "da/d37/structdata__structures_1_1sparse__table_1_1_sparse__table.html#ad36b9a20fed47b068e407008c04e9f81", null ]
|
||||
];
|
||||
309
da/d41/uint128__t_8hpp.html
Normal file
@@ -0,0 +1,309 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<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 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"/>
|
||||
<script type="text/javascript" src="../../jquery.js"></script>
|
||||
<script type="text/javascript" src="../../dynsections.js"></script>
|
||||
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="../../resize.js"></script>
|
||||
<script type="text/javascript" src="../../navtreedata.js"></script>
|
||||
<script type="text/javascript" src="../../navtree.js"></script>
|
||||
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<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"],
|
||||
});
|
||||
</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>
|
||||
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<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>
|
||||
<div id="projectbrief">Set of algorithms implemented in C++.</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.9.1 -->
|
||||
<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-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 */
|
||||
$(function() {
|
||||
initMenu('../../',true,false,'search.php','Search');
|
||||
$(document).ready(function() { init_search(); });
|
||||
});
|
||||
/* @license-end */</script>
|
||||
<div id="main-nav"></div>
|
||||
</div><!-- top -->
|
||||
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
||||
<div id="nav-tree">
|
||||
<div id="nav-tree-contents">
|
||||
<div id="nav-sync" class="sync"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="splitbar" style="-moz-user-select:none;"
|
||||
class="ui-resizable-handle">
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
$(document).ready(function(){initNavTree('da/d41/uint128__t_8hpp.html','../../'); initResizable(); });
|
||||
/* @license-end */
|
||||
</script>
|
||||
<div id="doc-content">
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<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><!--header-->
|
||||
<div class="contents">
|
||||
<div class="textblock"><code>#include <algorithm></code><br />
|
||||
<code>#include <ostream></code><br />
|
||||
<code>#include <string></code><br />
|
||||
<code>#include <utility></code><br />
|
||||
</div><div class="textblock"><div class="dynheader">
|
||||
Include dependency graph for uint128_t.hpp:</div>
|
||||
<div class="dyncontent">
|
||||
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d9/dfd/uint128__t_8hpp__incl.svg" width="336" 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 class="textblock"><div class="dynheader">
|
||||
This graph shows which files directly or indirectly include this file:</div>
|
||||
<div class="dyncontent">
|
||||
<div class="center"><iframe scrolling="no" frameborder="0" src="../../de/dbb/uint128__t_8hpp__dep__incl.svg" width="158" height="202"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
|
||||
</div>
|
||||
</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>
|
||||
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>
|
||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d2/dfc/structstd_1_1is__arithmetic_3_01uint128__t_01_4.html">std::is_arithmetic< uint128_t ></a></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d5/d25/structstd_1_1is__unsigned_3_01uint128__t_01_4.html">std::is_unsigned< uint128_t ></a></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../db/d9a/classuint128__t.html">uint128_t</a></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>
|
||||
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>
|
||||
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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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><h2 class="groupheader">Macro Definition Documentation</h2>
|
||||
<a id="acce684d03a24f9c13a9ed36de6d24a57"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#acce684d03a24f9c13a9ed36de6d24a57">◆ </a></span>CIPHERS_UINT128_T_HPP_</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">#define CIPHERS_UINT128_T_HPP_</td>
|
||||
</tr>
|
||||
</table>
|
||||
</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>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<h2 class="groupheader">Function Documentation</h2>
|
||||
<a id="a3ff77262ffd6743df5b808d41382a6f3"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a3ff77262ffd6743df5b808d41382a6f3">◆ </a></span>add()</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/string/basic_string.html">std::string</a> add </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> & </td>
|
||||
<td class="paramname"><em>first</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> & </td>
|
||||
<td class="paramname"><em>second</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</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>
|
||||
<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>
|
||||
</table>
|
||||
</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="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="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>
|
||||
</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/d41/uint128__t_8hpp_a3ff77262ffd6743df5b808d41382a6f3_cgraph.svg" width="258" height="291"><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 -->
|
||||
</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="../../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>
|
||||
</ul>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
25
da/d41/uint128__t_8hpp.js
Normal file
@@ -0,0 +1,25 @@
|
||||
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 ],
|
||||
[ "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 ]
|
||||
];
|
||||
@@ -0,0 +1,9 @@
|
||||
<map id="add" name="add">
|
||||
<area shape="rect" id="node1" title="Adding two string." alt="" coords="5,132,48,159"/>
|
||||
<area shape="rect" id="node2" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/string/basic_string/begin.html#" title=" " alt="" coords="115,5,233,32"/>
|
||||
<area shape="rect" id="node3" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/string/basic_string/end.html#" title=" " alt="" coords="119,56,229,83"/>
|
||||
<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="99,107,249,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="129,157,219,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="118,208,230,235"/>
|
||||
<area shape="rect" id="node7" href="$d8/d77/namespacemachine__learning.html#a5305cc18d11943d3dc0d66e70d7e9c44" title=" " alt="" coords="96,259,252,285"/>
|
||||
</map>
|
||||
@@ -0,0 +1 @@
|
||||
0488c28a4644dd1c1998315f301235f8
|
||||
@@ -0,0 +1,112 @@
|
||||
<?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.47.2 (20210527.0053)
|
||||
-->
|
||||
<!-- Title: add Pages: 1 -->
|
||||
<svg width="193pt" height="218pt"
|
||||
viewBox="0.00 0.00 193.00 218.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 214)">
|
||||
<title>add</title>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-214 189,-214 189,4 -4,4"/>
|
||||
<!-- Node1 -->
|
||||
<g id="node1" class="node">
|
||||
<title>Node1</title>
|
||||
<g id="a_node1"><a xlink:title="Adding two string.">
|
||||
<polygon fill="#bfbfbf" stroke="black" points="0,-95.5 0,-114.5 32,-114.5 32,-95.5 0,-95.5"/>
|
||||
<text text-anchor="middle" x="16" y="-102.5" font-family="Helvetica,sans-Serif" font-size="10.00">add</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/string/basic_string/begin.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="82,-190.5 82,-209.5 171,-209.5 171,-190.5 82,-190.5"/>
|
||||
<text text-anchor="middle" x="126.5" y="-197.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::string::begin</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node2 -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>Node1->Node2</title>
|
||||
<path fill="none" stroke="midnightblue" d="M20.96,-114.67C28.03,-130.76 44.34,-163.03 68,-181 70.47,-182.88 73.14,-184.58 75.93,-186.11"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="74.59,-189.35 85.13,-190.47 77.59,-183.03 74.59,-189.35"/>
|
||||
</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/string/basic_string/end.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="85.5,-152.5 85.5,-171.5 167.5,-171.5 167.5,-152.5 85.5,-152.5"/>
|
||||
<text text-anchor="middle" x="126.5" y="-159.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::string::end</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node3 -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>Node1->Node3</title>
|
||||
<path fill="none" stroke="midnightblue" d="M27.65,-114.55C37.52,-122.99 52.92,-135.15 68,-143 72.21,-145.19 76.72,-147.2 81.3,-149.02"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="80.11,-152.31 90.71,-152.5 82.54,-145.75 80.11,-152.31"/>
|
||||
</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/string/basic_string/push_back.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="70,-114.5 70,-133.5 183,-133.5 183,-114.5 70,-114.5"/>
|
||||
<text text-anchor="middle" x="126.5" y="-121.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::string::push_back</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node4 -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>Node1->Node4</title>
|
||||
<path fill="none" stroke="midnightblue" d="M32.09,-107.64C39.93,-109.02 50.12,-110.8 60.87,-112.68"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="60.4,-116.15 70.85,-114.43 61.61,-109.26 60.4,-116.15"/>
|
||||
</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/algorithm/reverse.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="92.5,-76.5 92.5,-95.5 160.5,-95.5 160.5,-76.5 92.5,-76.5"/>
|
||||
<text text-anchor="middle" x="126.5" y="-83.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::reverse</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node5 -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>Node1->Node5</title>
|
||||
<path fill="none" stroke="midnightblue" d="M32.09,-102.36C45.03,-100.09 64.35,-96.71 82.07,-93.61"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="83.01,-96.99 92.26,-91.82 81.8,-90.1 83.01,-96.99"/>
|
||||
</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/string/basic_string/size.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="84.5,-38.5 84.5,-57.5 168.5,-57.5 168.5,-38.5 84.5,-38.5"/>
|
||||
<text text-anchor="middle" x="126.5" y="-45.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::string::size</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node6 -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>Node1->Node6</title>
|
||||
<path fill="none" stroke="midnightblue" d="M27.65,-95.45C37.52,-87.01 52.92,-74.85 68,-67 72.21,-64.81 76.72,-62.8 81.3,-60.98"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="82.54,-64.25 90.71,-57.5 80.11,-57.69 82.54,-64.25"/>
|
||||
</g>
|
||||
<!-- 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=" ">
|
||||
<polygon fill="white" stroke="black" points="68,-0.5 68,-19.5 185,-19.5 185,-0.5 68,-0.5"/>
|
||||
<text text-anchor="middle" x="126.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">machine_learning::sum</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node7 -->
|
||||
<g id="edge6" class="edge">
|
||||
<title>Node1->Node7</title>
|
||||
<path fill="none" stroke="midnightblue" d="M20.96,-95.33C28.03,-79.24 44.34,-46.97 68,-29 70.47,-27.12 73.14,-25.42 75.93,-23.89"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="77.59,-26.97 85.13,-19.53 74.59,-20.65 77.59,-26.97"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 5.4 KiB |
1311
da/d41/uint128__t_8hpp_source.html
Normal file
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.46.1 (20210213.1702)
|
||||
<!-- Generated by graphviz version 2.47.2 (20210527.0053)
|
||||
-->
|
||||
<!-- 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.46.1 (20210213.1702)
|
||||
<!-- Generated by graphviz version 2.47.2 (20210527.0053)
|
||||
-->
|
||||
<!-- Title: graph::depth_first_search::dfs Pages: 1 -->
|
||||
<svg width="396pt" 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.46.1 (20210213.1702)
|
||||
<!-- Generated by graphviz version 2.47.2 (20210527.0053)
|
||||
-->
|
||||
<!-- Title: main Pages: 1 -->
|
||||
<svg width="210pt" height="47pt"
|
||||
|
||||
|
Before Width: | Height: | Size: 2.6 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.46.1 (20210213.1702)
|
||||
<!-- Generated by graphviz version 2.47.2 (20210527.0053)
|
||||
-->
|
||||
<!-- Title: graph/is_graph_bipartite.cpp Pages: 1 -->
|
||||
<svg width="186pt" height="84pt"
|
||||
|
||||
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.9 KiB |
432
da/d52/minimum__edit__distance_8cpp.html
Normal file
@@ -0,0 +1,432 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<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 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"/>
|
||||
<script type="text/javascript" src="../../jquery.js"></script>
|
||||
<script type="text/javascript" src="../../dynsections.js"></script>
|
||||
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="../../resize.js"></script>
|
||||
<script type="text/javascript" src="../../navtreedata.js"></script>
|
||||
<script type="text/javascript" src="../../navtree.js"></script>
|
||||
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<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"],
|
||||
});
|
||||
</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>
|
||||
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<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>
|
||||
<div id="projectbrief">Set of algorithms implemented in C++.</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.9.1 -->
|
||||
<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-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 */
|
||||
$(function() {
|
||||
initMenu('../../',true,false,'search.php','Search');
|
||||
$(document).ready(function() { init_search(); });
|
||||
});
|
||||
/* @license-end */</script>
|
||||
<div id="main-nav"></div>
|
||||
</div><!-- top -->
|
||||
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
||||
<div id="nav-tree">
|
||||
<div id="nav-tree-contents">
|
||||
<div id="nav-sync" class="sync"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="splitbar" style="-moz-user-select:none;"
|
||||
class="ui-resizable-handle">
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
$(document).ready(function(){initNavTree('da/d52/minimum__edit__distance_8cpp.html','../../'); initResizable(); });
|
||||
/* @license-end */
|
||||
</script>
|
||||
<div id="doc-content">
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div class="header">
|
||||
<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><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>Implementation of <a href="https://en.wikipedia.org/wiki/Edit_distance">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 />
|
||||
<code>#include <vector></code><br />
|
||||
</div><div class="textblock"><div class="dynheader">
|
||||
Include dependency graph for minimum_edit_distance.cpp:</div>
|
||||
<div class="dyncontent">
|
||||
<div class="center"><iframe scrolling="no" frameborder="0" src="../../de/d3d/minimum__edit__distance_8cpp__incl.svg" width="256" height="127"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
|
||||
</div>
|
||||
</div>
|
||||
</div><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a 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="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="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>
|
||||
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>
|
||||
<tr class="separator:a0138c226bd79ffe6d839c787cfc60347"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ade2fcfe0359f3c7691bfaa04b14943e2"><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#ade2fcfe0359f3c7691bfaa04b14943e2">dynamic_programming::minimum_edit_distance::editDistDP</a> (<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> str1, <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> str2, uint64_t m, uint64_t n)</td></tr>
|
||||
<tr class="memdesc:ade2fcfe0359f3c7691bfaa04b14943e2"><td class="mdescLeft"> </td><td class="mdescRight">Calculates and stores the result of all the sub-problems, so that we don't have to recur to compute the minimum cost of a particular operation if it is already computed and stored in the <code>dp</code> vector. <a href="../../da/d52/minimum__edit__distance_8cpp.html#ade2fcfe0359f3c7691bfaa04b14943e2">More...</a><br /></td></tr>
|
||||
<tr class="separator:ade2fcfe0359f3c7691bfaa04b14943e2"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:aa8dca7b867074164d5f45b0f3851269d"><td class="memItemLeft" align="right" valign="top">static void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../da/d52/minimum__edit__distance_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">test</a> ()</td></tr>
|
||||
<tr class="memdesc:aa8dca7b867074164d5f45b0f3851269d"><td class="mdescLeft"> </td><td class="mdescRight">Self-test implementations. <a href="../../da/d52/minimum__edit__distance_8cpp.html#aa8dca7b867074164d5f45b0f3851269d">More...</a><br /></td></tr>
|
||||
<tr class="separator:aa8dca7b867074164d5f45b0f3851269d"><td class="memSeparator" colspan="2"> </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/d52/minimum__edit__distance_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/d52/minimum__edit__distance_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>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>
|
||||
<h3><a class="anchor" id="autotoc_md57"></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">
|
||||
<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>
|
||||
</div><h2 class="groupheader">Function Documentation</h2>
|
||||
<a id="ade2fcfe0359f3c7691bfaa04b14943e2"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ade2fcfe0359f3c7691bfaa04b14943e2">◆ </a></span>editDistDP()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">uint64_t dynamic_programming::minimum_edit_distance::editDistDP </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> </td>
|
||||
<td class="paramname"><em>str1</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> </td>
|
||||
<td class="paramname"><em>str2</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">uint64_t </td>
|
||||
<td class="paramname"><em>m</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">uint64_t </td>
|
||||
<td class="paramname"><em>n</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Calculates and stores the result of all the sub-problems, so that we don't have to recur to compute the minimum cost of a particular operation if it is already computed and stored in the <code>dp</code> vector. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">dp</td><td>vector to store the computed minimum costs </td></tr>
|
||||
<tr><td class="paramname">str1</td><td>to pass the 1st string </td></tr>
|
||||
<tr><td class="paramname">str2</td><td>to pass the 2nd string </td></tr>
|
||||
<tr><td class="paramname">m</td><td>the length of str1 </td></tr>
|
||||
<tr><td class="paramname">n</td><td>the length of str2 </td></tr>
|
||||
</table>
|
||||
</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>
|
||||
<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>
|
||||
<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>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">argc</td><td>commandline argument count (ignored) </td></tr>
|
||||
<tr><td class="paramname">argv</td><td>commandline array of arguments (ignored) </td></tr>
|
||||
</table>
|
||||
</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="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>
|
||||
<div class="dyncontent">
|
||||
<div class="center"><iframe scrolling="no" frameborder="0" src="../../da/d52/minimum__edit__distance_8cpp_a0ddf1224851353fc92bfbff6f499fa97_cgraph.svg" width="324" 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="a0138c226bd79ffe6d839c787cfc60347"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a0138c226bd79ffe6d839c787cfc60347">◆ </a></span>min()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">uint64_t dynamic_programming::minimum_edit_distance::min </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">uint64_t </td>
|
||||
<td class="paramname"><em>x</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">uint64_t </td>
|
||||
<td class="paramname"><em>y</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">uint64_t </td>
|
||||
<td class="paramname"><em>z</em> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td>)</td>
|
||||
<td></td><td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Takes input of the cost of three operations: Insert, Replace and Delete and return the minimum cost among them. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">x</td><td>used to pass minimum cost of Insert operations </td></tr>
|
||||
<tr><td class="paramname">y</td><td>used to pass minimum cost of Replace operations </td></tr>
|
||||
<tr><td class="paramname">z</td><td>used to pass minimum cost of Delete operations </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl class="section return"><dt>Returns</dt><dd>x if <code>x</code> is the minimum value </dd>
|
||||
<dd>
|
||||
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>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="aa8dca7b867074164d5f45b0f3851269d"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#aa8dca7b867074164d5f45b0f3851269d">◆ </a></span>test()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">static void test </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">static</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<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="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>
|
||||
<div class="ttc" id="aminimum__edit__distance_8cpp_html_ade2fcfe0359f3c7691bfaa04b14943e2"><div class="ttname"><a href="../../da/d52/minimum__edit__distance_8cpp.html#ade2fcfe0359f3c7691bfaa04b14943e2">dynamic_programming::minimum_edit_distance::editDistDP</a></div><div class="ttdeci">uint64_t editDistDP(std::string str1, std::string str2, uint64_t m, uint64_t n)</div><div class="ttdoc">Calculates and stores the result of all the sub-problems, so that we don't have to recur to compute t...</div><div class="ttdef"><b>Definition:</b> minimum_edit_distance.cpp:88</div></div>
|
||||
<div class="ttc" id="asize_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/string/basic_string/size.html">std::string::length</a></div><div class="ttdeci">T length(T... args)</div></div>
|
||||
</div><!-- 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/d52/minimum__edit__distance_8cpp_aa8dca7b867074164d5f45b0f3851269d_cgraph.svg" width="226" 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>
|
||||
</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="../../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>
|
||||
</ul>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
7
da/d52/minimum__edit__distance_8cpp.js
Normal file
@@ -0,0 +1,7 @@
|
||||
var minimum__edit__distance_8cpp =
|
||||
[
|
||||
[ "editDistDP", "da/d52/minimum__edit__distance_8cpp.html#ade2fcfe0359f3c7691bfaa04b14943e2", null ],
|
||||
[ "main", "da/d52/minimum__edit__distance_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97", null ],
|
||||
[ "min", "da/d52/minimum__edit__distance_8cpp.html#a0138c226bd79ffe6d839c787cfc60347", null ],
|
||||
[ "test", "da/d52/minimum__edit__distance_8cpp.html#aa8dca7b867074164d5f45b0f3851269d", null ]
|
||||
];
|
||||
@@ -0,0 +1,6 @@
|
||||
<map id="main" name="main">
|
||||
<area shape="rect" id="node1" title="main function" alt="" coords="5,31,56,57"/>
|
||||
<area shape="rect" id="node2" href="$da/d52/minimum__edit__distance_8cpp.html#aa8dca7b867074164d5f45b0f3851269d" title="Self-test implementations." alt="" coords="104,31,148,57"/>
|
||||
<area shape="rect" id="node3" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/io/manip/endl.html#" title=" " alt="" coords="221,5,293,32"/>
|
||||
<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/size.html#" title=" " alt="" coords="196,56,319,83"/>
|
||||
</map>
|
||||
@@ -0,0 +1 @@
|
||||
1d870b19e256347c9c55e5ac4895c7ea
|
||||
@@ -0,0 +1,67 @@
|
||||
<?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.47.2 (20210527.0053)
|
||||
-->
|
||||
<!-- Title: main Pages: 1 -->
|
||||
<svg width="243pt" height="66pt"
|
||||
viewBox="0.00 0.00 243.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>main</title>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-62 239,-62 239,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,-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>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node2 -->
|
||||
<g id="node2" class="node">
|
||||
<title>Node2</title>
|
||||
<g id="a_node2"><a xlink:href="../../da/d52/minimum__edit__distance_8cpp.html#aa8dca7b867074164d5f45b0f3851269d" target="_top" xlink:title="Self-test implementations.">
|
||||
<polygon fill="white" stroke="black" points="74,-19.5 74,-38.5 107,-38.5 107,-19.5 74,-19.5"/>
|
||||
<text text-anchor="middle" x="90.5" y="-26.5" font-family="Helvetica,sans-Serif" font-size="10.00">test</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node2 -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>Node1->Node2</title>
|
||||
<path fill="none" stroke="midnightblue" d="M38.26,-29C46.07,-29 55.31,-29 63.79,-29"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="63.95,-32.5 73.95,-29 63.95,-25.5 63.95,-32.5"/>
|
||||
</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/io/manip/endl.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="162,-38.5 162,-57.5 216,-57.5 216,-38.5 162,-38.5"/>
|
||||
<text text-anchor="middle" x="189" y="-45.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::endl</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node2->Node3 -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>Node2->Node3</title>
|
||||
<path fill="none" stroke="midnightblue" d="M107,-32.05C119.15,-34.44 136.55,-37.87 152.11,-40.93"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="151.5,-44.38 161.99,-42.88 152.86,-37.51 151.5,-44.38"/>
|
||||
</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/string/basic_string/size.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="143,-0.5 143,-19.5 235,-19.5 235,-0.5 143,-0.5"/>
|
||||
<text text-anchor="middle" x="189" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::string::length</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node2->Node4 -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>Node2->Node4</title>
|
||||
<path fill="none" stroke="midnightblue" d="M107,-25.95C114.28,-24.51 123.44,-22.71 132.95,-20.84"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="133.8,-24.24 142.94,-18.87 132.45,-17.37 133.8,-24.24"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.1 KiB |
@@ -0,0 +1,5 @@
|
||||
<map id="test" name="test">
|
||||
<area shape="rect" id="node1" title="Self-test implementations." alt="" coords="5,31,49,57"/>
|
||||
<area shape="rect" id="node2" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/io/manip/endl.html#" title=" " alt="" coords="123,5,195,32"/>
|
||||
<area shape="rect" id="node3" 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="97,56,220,83"/>
|
||||
</map>
|
||||
@@ -0,0 +1 @@
|
||||
5d4300b05742c51159ae7bfa132fa0d6
|
||||
@@ -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.47.2 (20210527.0053)
|
||||
-->
|
||||
<!-- Title: test Pages: 1 -->
|
||||
<svg width="169pt" height="66pt"
|
||||
viewBox="0.00 0.00 169.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>test</title>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-62 165,-62 165,4 -4,4"/>
|
||||
<!-- Node1 -->
|
||||
<g id="node1" class="node">
|
||||
<title>Node1</title>
|
||||
<g id="a_node1"><a xlink:title="Self-test implementations.">
|
||||
<polygon fill="#bfbfbf" stroke="black" points="0,-19.5 0,-38.5 33,-38.5 33,-19.5 0,-19.5"/>
|
||||
<text text-anchor="middle" x="16.5" y="-26.5" font-family="Helvetica,sans-Serif" font-size="10.00">test</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/io/manip/endl.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="88,-38.5 88,-57.5 142,-57.5 142,-38.5 88,-38.5"/>
|
||||
<text text-anchor="middle" x="115" y="-45.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::endl</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node2 -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>Node1->Node2</title>
|
||||
<path fill="none" stroke="midnightblue" d="M33,-32.05C45.15,-34.44 62.55,-37.87 78.11,-40.93"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="77.5,-44.38 87.99,-42.88 78.86,-37.51 77.5,-44.38"/>
|
||||
</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/string/basic_string/size.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="69,-0.5 69,-19.5 161,-19.5 161,-0.5 69,-0.5"/>
|
||||
<text text-anchor="middle" x="115" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::string::length</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node3 -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>Node1->Node3</title>
|
||||
<path fill="none" stroke="midnightblue" d="M33,-25.95C40.28,-24.51 49.44,-22.71 58.95,-20.84"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="59.8,-24.24 68.94,-18.87 58.45,-17.37 59.8,-24.24"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
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.46.1 (20210213.1702)
|
||||
<!-- Generated by graphviz version 2.47.2 (20210527.0053)
|
||||
-->
|
||||
<!-- Title: Complex::Complex Pages: 1 -->
|
||||
<svg width="197pt" height="66pt"
|
||||
|
||||
|
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 2.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.46.1 (20210213.1702)
|
||||
<!-- Generated by graphviz version 2.47.2 (20210527.0053)
|
||||
-->
|
||||
<!-- Title: Complex::operator/ Pages: 1 -->
|
||||
<svg width="333pt" 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.46.1 (20210213.1702)
|
||||
<!-- Generated by graphviz version 2.47.2 (20210527.0053)
|
||||
-->
|
||||
<!-- Title: Complex::arg Pages: 1 -->
|
||||
<svg width="179pt" 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.46.1 (20210213.1702)
|
||||
<!-- Generated by graphviz version 2.47.2 (20210527.0053)
|
||||
-->
|
||||
<!-- 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.46.1 (20210213.1702)
|
||||
<!-- Generated by graphviz version 2.47.2 (20210527.0053)
|
||||
-->
|
||||
<!-- Title: sorting/non_recursive_merge_sort.cpp Pages: 1 -->
|
||||
<svg width="188pt" height="95pt"
|
||||
|
||||
|
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 3.0 KiB |
@@ -0,0 +1,460 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<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 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"/>
|
||||
<script type="text/javascript" src="../../jquery.js"></script>
|
||||
<script type="text/javascript" src="../../dynsections.js"></script>
|
||||
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="../../resize.js"></script>
|
||||
<script type="text/javascript" src="../../navtreedata.js"></script>
|
||||
<script type="text/javascript" src="../../navtree.js"></script>
|
||||
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<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"],
|
||||
});
|
||||
</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>
|
||||
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<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>
|
||||
<div id="projectbrief">Set of algorithms implemented in C++.</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.9.1 -->
|
||||
<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-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 */
|
||||
$(function() {
|
||||
initMenu('../../',true,false,'search.php','Search');
|
||||
$(document).ready(function() { init_search(); });
|
||||
});
|
||||
/* @license-end */</script>
|
||||
<div id="main-nav"></div>
|
||||
</div><!-- top -->
|
||||
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
||||
<div id="nav-tree">
|
||||
<div id="nav-tree-contents">
|
||||
<div id="nav-sync" class="sync"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="splitbar" style="-moz-user-select:none;"
|
||||
class="ui-resizable-handle">
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
$(document).ready(function(){initNavTree('da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html','../../'); initResizable(); });
|
||||
/* @license-end */
|
||||
</script>
|
||||
<div id="doc-content">
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<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><!--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>
|
||||
<table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a 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>
|
||||
<tr class="separator:aaa7ea27346659f0abe2df82ca57fc5a7"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a695e4314ebc3ab58e13004dc63599fe8"><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#a695e4314ebc3ab58e13004dc63599fe8">Info</a> (const Puzzle &A)</td></tr>
|
||||
<tr class="memdesc:a695e4314ebc3ab58e13004dc63599fe8"><td class="mdescLeft"> </td><td class="mdescRight">constructor having Puzzle as parameter <a href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#a695e4314ebc3ab58e13004dc63599fe8">More...</a><br /></td></tr>
|
||||
<tr class="separator:a695e4314ebc3ab58e13004dc63599fe8"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ad3950824936488f66408313b1f8a8ca8"><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#ad3950824936488f66408313b1f8a8ca8">Info</a> (const Puzzle &A, size_t h_value, size_t d)</td></tr>
|
||||
<tr class="memdesc:ad3950824936488f66408313b1f8a8ca8"><td class="mdescLeft"> </td><td class="mdescRight">constructor having three parameters <a href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#ad3950824936488f66408313b1f8a8ca8">More...</a><br /></td></tr>
|
||||
<tr class="separator:ad3950824936488f66408313b1f8a8ca8"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a572de12115e39e34dde6e68b707d59f5"><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#a572de12115e39e34dde6e68b707d59f5">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)</td></tr>
|
||||
<tr class="memdesc:a572de12115e39e34dde6e68b707d59f5"><td class="mdescLeft"> </td><td class="mdescRight">Copy constructor. <a href="../../da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#a572de12115e39e34dde6e68b707d59f5">More...</a><br /></td></tr>
|
||||
<tr class="separator:a572de12115e39e34dde6e68b707d59f5"><td class="memSeparator" colspan="2"> </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="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>
|
||||
Public Attributes</h2></td></tr>
|
||||
<tr class="memitem:ab047f7d2fe77b461e454929a5c0e3cbc"><td class="memItemLeft" align="right" valign="top"><a id="ab047f7d2fe77b461e454929a5c0e3cbc"></a>
|
||||
Puzzle </td><td class="memItemRight" valign="bottom"><b>state</b></td></tr>
|
||||
<tr class="separator:ab047f7d2fe77b461e454929a5c0e3cbc"><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="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="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><h2 class="groupheader">Constructor & Destructor Documentation</h2>
|
||||
<a id="aaa7ea27346659f0abe2df82ca57fc5a7"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#aaa7ea27346659f0abe2df82ca57fc5a7">◆ </a></span>Info() <span class="overload">[1/5]</span></h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename Puzzle > </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname"><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::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">default</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>stores g score </p>
|
||||
<p>Default constructor </p>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<a id="a695e4314ebc3ab58e13004dc63599fe8"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a695e4314ebc3ab58e13004dc63599fe8">◆ </a></span>Info() <span class="overload">[2/5]</span></h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename Puzzle > </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname"><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::Info </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const Puzzle & </td>
|
||||
<td class="paramname"><em>A</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">explicit</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>constructor having Puzzle as parameter </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">A</td><td>a puzzle object </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<div class="fragment"><div class="line"><a name="l00308"></a><span class="lineno"> 308</span> : state(<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/move.html">std::move</a>(A)) {}</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="ad3950824936488f66408313b1f8a8ca8"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ad3950824936488f66408313b1f8a8ca8">◆ </a></span>Info() <span class="overload">[3/5]</span></h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename Puzzle > </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname"><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::Info </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype">const Puzzle & </td>
|
||||
<td class="paramname"><em>A</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">size_t </td>
|
||||
<td class="paramname"><em>h_value</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">size_t </td>
|
||||
<td class="paramname"><em>d</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">
|
||||
|
||||
<p>constructor having three parameters </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">A</td><td>a puzzle object </td></tr>
|
||||
<tr><td class="paramname">h_value</td><td>heuristic value of this puzzle object </td></tr>
|
||||
<tr><td class="paramname">depth</td><td>the depth at which this node was found during traversal </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<div class="fragment"><div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  : state(<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/move.html">std::move</a>(A)), <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), <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="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:297</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:296</div></div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="a572de12115e39e34dde6e68b707d59f5"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a572de12115e39e34dde6e68b707d59f5">◆ </a></span>Info() <span class="overload">[4/5]</span></h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename Puzzle > </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname"><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::Info </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>
|
||||
<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>Copy constructor. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">A</td><td><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> object reference </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<div class="fragment"><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  : state(A.state),</div>
|
||||
<div class="line"><a name="l00325"></a><span class="lineno"> 325</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="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#a003a30bb165be50ce503c17df90c128d">depth</a>(A.depth) {}</div>
|
||||
</div><!-- fragment -->
|
||||
</div>
|
||||
</div>
|
||||
<a id="a6abc89925ae7055a63b428e61525ad7a"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a6abc89925ae7055a63b428e61525ad7a">◆ </a></span>Info() <span class="overload">[5/5]</span></h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename Puzzle > </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname"><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::Info </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>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Move constructor. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">A</td><td><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> object reference </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<div class="fragment"><div class="line"><a name="l00333"></a><span class="lineno"> 333</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="l00334"></a><span class="lineno"> 334</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="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#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><!-- 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>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename Puzzle > </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<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>(</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>
|
||||
<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>copy assignment operator </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">A</td><td><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> object reference </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<div class="fragment"><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  {</div>
|
||||
<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  state = A.state;</div>
|
||||
<div class="line"><a name="l00343"></a><span class="lineno"> 343</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="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#a003a30bb165be50ce503c17df90c128d">depth</a> = A.depth;</div>
|
||||
<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
|
||||
<div class="line"><a name="l00346"></a><span class="lineno"> 346</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>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename Puzzle > </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<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>(</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>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
<td class="mlabels-right">
|
||||
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">noexcept</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>move assignment operator </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">A</td><td><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> object reference </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<div class="fragment"><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  {</div>
|
||||
<div class="line"><a name="l00353"></a><span class="lineno"> 353</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="l00354"></a><span class="lineno"> 354</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="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#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="l00356"></a><span class="lineno"> 356</span>  <span class="keywordflow">return</span> *<span class="keyword">this</span>;</div>
|
||||
<div class="line"><a name="l00357"></a><span class="lineno"> 357</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="306" height="67"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<hr/>The documentation for this struct was generated from the following file:<ul>
|
||||
<li>machine_learning/a_star_search.cpp</li>
|
||||
</ul>
|
||||
</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="../../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>
|
||||
</ul>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,14 @@
|
||||
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#aaa7ea27346659f0abe2df82ca57fc5a7", null ],
|
||||
[ "Info", "da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#a695e4314ebc3ab58e13004dc63599fe8", null ],
|
||||
[ "Info", "da/d70/structmachine__learning_1_1aystar__search_1_1_ay_star_search_1_1_info.html#ad3950824936488f66408313b1f8a8ca8", null ],
|
||||
[ "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 ],
|
||||
[ "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#ab047f7d2fe77b461e454929a5c0e3cbc", null ]
|
||||
];
|
||||
@@ -0,0 +1,4 @@
|
||||
<map id="machine_learning::aystar_search::AyStarSearch::Info::operator=" name="machine_learning::aystar_search::AyStarSearch::Info::operator=">
|
||||
<area shape="rect" id="node1" title="move assignment operator" alt="" coords="5,5,172,61"/>
|
||||
<area shape="rect" id="node2" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/utility/move.html#" title=" " alt="" coords="220,20,300,47"/>
|
||||
</map>
|
||||
@@ -0,0 +1 @@
|
||||
ee468c4f9d15d7b30ae1212a8f33da54
|
||||
@@ -0,0 +1,39 @@
|
||||
<?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.47.2 (20210527.0053)
|
||||
-->
|
||||
<!-- Title: machine_learning::aystar_search::AyStarSearch::Info::operator= Pages: 1 -->
|
||||
<svg width="229pt" height="50pt"
|
||||
viewBox="0.00 0.00 229.00 50.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 46)">
|
||||
<title>machine_learning::aystar_search::AyStarSearch::Info::operator=</title>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-46 225,-46 225,4 -4,4"/>
|
||||
<!-- Node1 -->
|
||||
<g id="node1" class="node">
|
||||
<title>Node1</title>
|
||||
<g id="a_node1"><a xlink:title="move assignment operator">
|
||||
<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-41.5 125,-41.5 125,-0.5 0,-0.5"/>
|
||||
<text text-anchor="start" x="8" y="-29.5" font-family="Helvetica,sans-Serif" font-size="10.00">machine_learning::aystar</text>
|
||||
<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">_search::AyStarSearch::</text>
|
||||
<text text-anchor="middle" x="62.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">Info::operator=</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/utility/move.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="161,-11.5 161,-30.5 221,-30.5 221,-11.5 161,-11.5"/>
|
||||
<text text-anchor="middle" x="191" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::move</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node2 -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>Node1->Node2</title>
|
||||
<path fill="none" stroke="midnightblue" d="M125.27,-21C133.9,-21 142.57,-21 150.64,-21"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="150.83,-24.5 160.83,-21 150.83,-17.5 150.83,-24.5"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
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.46.1 (20210213.1702)
|
||||
<!-- Generated by graphviz version 2.47.2 (20210527.0053)
|
||||
-->
|
||||
<!-- Title: graph/connected_components_with_dsu.cpp Pages: 1 -->
|
||||
<svg width="172pt" height="95pt"
|
||||
|
||||
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.9 KiB |
7
da/d76/abbreviation_8cpp__incl.map
Normal file
@@ -0,0 +1,7 @@
|
||||
<map id="dynamic_programming/abbreviation.cpp" name="dynamic_programming/abbreviation.cpp">
|
||||
<area shape="rect" id="node1" title="Implementation of Abbrievation" alt="" coords="99,5,252,47"/>
|
||||
<area shape="rect" id="node2" title=" " alt="" coords="5,95,71,121"/>
|
||||
<area shape="rect" id="node3" title=" " alt="" coords="95,95,167,121"/>
|
||||
<area shape="rect" id="node4" title=" " alt="" coords="192,95,247,121"/>
|
||||
<area shape="rect" id="node5" title=" " alt="" coords="271,95,330,121"/>
|
||||
</map>
|
||||
1
da/d76/abbreviation_8cpp__incl.md5
Normal file
@@ -0,0 +1 @@
|
||||
730e5c87400931d13f7b1c205f1f65fb
|
||||
83
da/d76/abbreviation_8cpp__incl.svg
Normal file
@@ -0,0 +1,83 @@
|
||||
<?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.47.2 (20210527.0053)
|
||||
-->
|
||||
<!-- Title: dynamic_programming/abbreviation.cpp Pages: 1 -->
|
||||
<svg width="252pt" height="95pt"
|
||||
viewBox="0.00 0.00 251.50 95.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 91)">
|
||||
<title>dynamic_programming/abbreviation.cpp</title>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-91 247.5,-91 247.5,4 -4,4"/>
|
||||
<!-- Node1 -->
|
||||
<g id="node1" class="node">
|
||||
<title>Node1</title>
|
||||
<g id="a_node1"><a xlink:title="Implementation of Abbrievation">
|
||||
<polygon fill="#bfbfbf" stroke="black" points="70,-56.5 70,-86.5 185,-86.5 185,-56.5 70,-56.5"/>
|
||||
<text text-anchor="start" x="78" y="-74.5" font-family="Helvetica,sans-Serif" font-size="10.00">dynamic_programming</text>
|
||||
<text text-anchor="middle" x="127.5" y="-63.5" font-family="Helvetica,sans-Serif" font-size="10.00">/abbreviation.cpp</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node2 -->
|
||||
<g id="node2" class="node">
|
||||
<title>Node2</title>
|
||||
<g id="a_node2"><a xlink:title=" ">
|
||||
<polygon fill="white" stroke="#bfbfbf" points="0,-0.5 0,-19.5 49,-19.5 49,-0.5 0,-0.5"/>
|
||||
<text text-anchor="middle" x="24.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">cassert</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node2 -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>Node1->Node2</title>
|
||||
<path fill="none" stroke="midnightblue" d="M103.09,-56.4C86.58,-46.86 64.88,-34.32 48.46,-24.84"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="49.9,-21.63 39.49,-19.66 46.4,-27.69 49.9,-21.63"/>
|
||||
</g>
|
||||
<!-- Node3 -->
|
||||
<g id="node3" class="node">
|
||||
<title>Node3</title>
|
||||
<g id="a_node3"><a xlink:title=" ">
|
||||
<polygon fill="white" stroke="#bfbfbf" points="67.5,-0.5 67.5,-19.5 121.5,-19.5 121.5,-0.5 67.5,-0.5"/>
|
||||
<text text-anchor="middle" x="94.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">iostream</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node3 -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>Node1->Node3</title>
|
||||
<path fill="none" stroke="midnightblue" d="M119.68,-56.4C115.03,-48.02 109.1,-37.33 104.16,-28.42"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="107.21,-26.71 99.3,-19.66 101.09,-30.1 107.21,-26.71"/>
|
||||
</g>
|
||||
<!-- Node4 -->
|
||||
<g id="node4" class="node">
|
||||
<title>Node4</title>
|
||||
<g id="a_node4"><a xlink:title=" ">
|
||||
<polygon fill="white" stroke="#bfbfbf" points="140,-0.5 140,-19.5 181,-19.5 181,-0.5 140,-0.5"/>
|
||||
<text text-anchor="middle" x="160.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">string</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node4 -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>Node1->Node4</title>
|
||||
<path fill="none" stroke="midnightblue" d="M135.32,-56.4C139.97,-48.02 145.9,-37.33 150.84,-28.42"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="153.91,-30.1 155.7,-19.66 147.79,-26.71 153.91,-30.1"/>
|
||||
</g>
|
||||
<!-- Node5 -->
|
||||
<g id="node5" class="node">
|
||||
<title>Node5</title>
|
||||
<g id="a_node5"><a xlink:title=" ">
|
||||
<polygon fill="white" stroke="#bfbfbf" points="199.5,-0.5 199.5,-19.5 243.5,-19.5 243.5,-0.5 199.5,-0.5"/>
|
||||
<text text-anchor="middle" x="221.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">vector</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node5 -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>Node1->Node5</title>
|
||||
<path fill="none" stroke="midnightblue" d="M149.78,-56.4C164.7,-46.95 184.28,-34.56 199.21,-25.11"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="201.24,-27.96 207.82,-19.66 197.5,-22.05 201.24,-27.96"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.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.46.1 (20210213.1702)
|
||||
<!-- Generated by graphviz version 2.47.2 (20210527.0053)
|
||||
-->
|
||||
<!-- Title: main Pages: 1 -->
|
||||
<!--zoomable 481 -->
|
||||
|
||||
|
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.46.1 (20210213.1702)
|
||||
<!-- Generated by graphviz version 2.47.2 (20210527.0053)
|
||||
-->
|
||||
<!-- Title: main Pages: 1 -->
|
||||
<svg width="705pt" height="481pt"
|
||||
|
||||
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 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.46.1 (20210213.1702)
|
||||
<!-- Generated by graphviz version 2.47.2 (20210527.0053)
|
||||
-->
|
||||
<!-- Title: main Pages: 1 -->
|
||||
<svg width="136pt" height="66pt"
|
||||
|
||||
|
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.46.1 (20210213.1702)
|
||||
<!-- Generated by graphviz version 2.47.2 (20210527.0053)
|
||||
-->
|
||||
<!-- Title: data_structures::tree_234::Tree234 Pages: 1 -->
|
||||
<svg width="268pt" height="251pt"
|
||||
|
||||
|
Before Width: | Height: | Size: 5.3 KiB After Width: | Height: | Size: 5.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.46.1 (20210213.1702)
|
||||
<!-- Generated by graphviz version 2.47.2 (20210527.0053)
|
||||
-->
|
||||
<!-- Title: others/paranthesis_matching.cpp Pages: 1 -->
|
||||
<svg width="126pt" height="95pt"
|
||||
|
||||
|
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.46.1 (20210213.1702)
|
||||
<!-- Generated by graphviz version 2.47.2 (20210527.0053)
|
||||
-->
|
||||
<!-- Title: main Pages: 1 -->
|
||||
<svg width="297pt" height="116pt"
|
||||
|
||||
|
Before Width: | Height: | Size: 4.8 KiB After Width: | Height: | Size: 4.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.46.1 (20210213.1702)
|
||||
<!-- Generated by graphviz version 2.47.2 (20210527.0053)
|
||||
-->
|
||||
<!-- Title: main Pages: 1 -->
|
||||
<svg width="171pt" height="142pt"
|
||||
|
||||
|
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 3.9 KiB |
235
da/da3/uint256__t_8hpp.html
Normal file
@@ -0,0 +1,235 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<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 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"/>
|
||||
<script type="text/javascript" src="../../jquery.js"></script>
|
||||
<script type="text/javascript" src="../../dynsections.js"></script>
|
||||
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="../../resize.js"></script>
|
||||
<script type="text/javascript" src="../../navtreedata.js"></script>
|
||||
<script type="text/javascript" src="../../navtree.js"></script>
|
||||
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<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"],
|
||||
});
|
||||
</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>
|
||||
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<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>
|
||||
<div id="projectbrief">Set of algorithms implemented in C++.</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.9.1 -->
|
||||
<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-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 */
|
||||
$(function() {
|
||||
initMenu('../../',true,false,'search.php','Search');
|
||||
$(document).ready(function() { init_search(); });
|
||||
});
|
||||
/* @license-end */</script>
|
||||
<div id="main-nav"></div>
|
||||
</div><!-- top -->
|
||||
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
||||
<div id="nav-tree">
|
||||
<div id="nav-tree-contents">
|
||||
<div id="nav-sync" class="sync"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="splitbar" style="-moz-user-select:none;"
|
||||
class="ui-resizable-handle">
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
$(document).ready(function(){initNavTree('da/da3/uint256__t_8hpp.html','../../'); initResizable(); });
|
||||
/* @license-end */
|
||||
</script>
|
||||
<div id="doc-content">
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div class="header">
|
||||
<div class="summary">
|
||||
<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><!--header-->
|
||||
<div class="contents">
|
||||
<div class="textblock"><code>#include <string></code><br />
|
||||
<code>#include <utility></code><br />
|
||||
<code>#include "<a class="el" href="../../da/d41/uint128__t_8hpp_source.html">uint128_t.hpp</a>"</code><br />
|
||||
</div><div class="textblock"><div class="dynheader">
|
||||
Include dependency graph for uint256_t.hpp:</div>
|
||||
<div class="dyncontent">
|
||||
<div class="center"><iframe scrolling="no" frameborder="0" src="../../dd/d43/uint256__t_8hpp__incl.svg" width="336" height="187"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
|
||||
</div>
|
||||
</div>
|
||||
</div><div class="textblock"><div class="dynheader">
|
||||
This graph shows which files directly or indirectly include this file:</div>
|
||||
<div class="dyncontent">
|
||||
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d0/d59/uint256__t_8hpp__dep__incl.svg" width="158" height="127"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
|
||||
</div>
|
||||
</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>
|
||||
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>
|
||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../dc/d6d/structstd_1_1is__arithmetic_3_01uint256__t_01_4.html">std::is_arithmetic< uint256_t ></a></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../df/d99/structstd_1_1is__unsigned_3_01uint256__t_01_4.html">std::is_unsigned< uint256_t ></a></td></tr>
|
||||
<tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d1/d83/classuint256__t.html">uint256_t</a></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>
|
||||
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>
|
||||
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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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="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><h2 class="groupheader">Macro Definition Documentation</h2>
|
||||
<a id="a1d8c5ec5b5e419c5c8a740251485102c"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a1d8c5ec5b5e419c5c8a740251485102c">◆ </a></span>CIPHERS_UINT256_T_HPP_</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">#define CIPHERS_UINT256_T_HPP_</td>
|
||||
</tr>
|
||||
</table>
|
||||
</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>
|
||||
|
||||
</div>
|
||||
</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="../../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>
|
||||
</ul>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
24
da/da3/uint256__t_8hpp.js
Normal file
@@ -0,0 +1,24 @@
|
||||
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 ],
|
||||
[ "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 ]
|
||||
];
|
||||
1283
da/da3/uint256__t_8hpp_source.html
Normal file
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.46.1 (20210213.1702)
|
||||
<!-- Generated by graphviz version 2.47.2 (20210527.0053)
|
||||
-->
|
||||
<!-- Title: backtracking::n_queens_optimized::PrintSol Pages: 1 -->
|
||||
<svg width="218pt" 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.46.1 (20210213.1702)
|
||||
<!-- Generated by graphviz version 2.47.2 (20210527.0053)
|
||||
-->
|
||||
<!-- Title: backtracking::n_queens_optimized::NQueenSol Pages: 1 -->
|
||||
<svg width="128pt" 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.46.1 (20210213.1702)
|
||||
<!-- Generated by graphviz version 2.47.2 (20210527.0053)
|
||||
-->
|
||||
<!-- Title: backtracking::n_queens_optimized::CanIMove Pages: 1 -->
|
||||
<svg width="128pt" 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.46.1 (20210213.1702)
|
||||
<!-- Generated by graphviz version 2.47.2 (20210527.0053)
|
||||
-->
|
||||
<!-- Title: dynamic_programming/longest_palindromic_subsequence.cpp Pages: 1 -->
|
||||
<svg width="266pt" height="106pt"
|
||||
|
||||
|
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 3.8 KiB |
@@ -0,0 +1,4 @@
|
||||
<map id="std::is_unsigned< uint128_t >" name="std::is_unsigned< uint128_t >">
|
||||
<area shape="rect" id="node1" title=" " alt="" coords="5,80,200,107"/>
|
||||
<area shape="rect" id="node2" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/types/integral_constant.html" title=" " alt="" coords="51,5,154,32"/>
|
||||
</map>
|
||||
@@ -0,0 +1 @@
|
||||
7293a46548a770a90517de8fa121730d
|
||||
@@ -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.47.2 (20210527.0053)
|
||||
-->
|
||||
<!-- Title: std::is_unsigned< uint128_t > Pages: 1 -->
|
||||
<svg width="154pt" height="84pt"
|
||||
viewBox="0.00 0.00 154.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>std::is_unsigned< uint128_t ></title>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-80 150,-80 150,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 146,-19.5 146,-0.5 0,-0.5"/>
|
||||
<text text-anchor="middle" x="73" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::is_unsigned< uint128_t ></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/types/integral_constant.html" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="34.5,-56.5 34.5,-75.5 111.5,-75.5 111.5,-56.5 34.5,-56.5"/>
|
||||
<text text-anchor="middle" x="73" y="-63.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::true_type</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node2->Node1 -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>Node2->Node1</title>
|
||||
<path fill="none" stroke="midnightblue" d="M73,-45.8C73,-36.91 73,-26.78 73,-19.75"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="69.5,-46.08 73,-56.08 76.5,-46.08 69.5,-46.08"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 1.7 KiB |
@@ -201,70 +201,70 @@ Here is the call graph for this function:</div>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Main function: Allows the user add and delete values from the list. Also allows user to search for and display values in the list. </p><dl class="section return"><dt>Returns</dt><dd>0 on exit </dd></dl>
|
||||
<div class="fragment"><div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  {</div>
|
||||
<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  <a class="code" href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html">data_structures::linked_list::list</a> l;</div>
|
||||
<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  <span class="keywordtype">int</span> choice = 0;</div>
|
||||
<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  <span class="keywordtype">int</span> x = 0;</div>
|
||||
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> s;</div>
|
||||
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  <span class="keywordflow">do</span> {</div>
|
||||
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"\n1. Insert"</span>;</div>
|
||||
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"\n2. Delete"</span>;</div>
|
||||
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"\n3. Search"</span>;</div>
|
||||
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"\n4. Print"</span>;</div>
|
||||
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"\n0. Exit"</span>;</div>
|
||||
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"\n\nEnter you choice : "</span>;</div>
|
||||
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> >> choice;</div>
|
||||
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  <span class="keywordflow">switch</span> (choice) {</div>
|
||||
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  <span class="keywordflow">case</span> 1:</div>
|
||||
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"\nEnter the element to be inserted : "</span>;</div>
|
||||
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> >> s;</div>
|
||||
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  </div>
|
||||
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  <span class="keywordflow">if</span> (data_structures::linked_list::isDigit(s)) {</div>
|
||||
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  x = <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string/stol.html">std::stoi</a>(s);</div>
|
||||
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  l.<a class="code" href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#ad585670a392c7e842c992d088093dff5">push_back</a>(x);</div>
|
||||
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  } <span class="keywordflow">else</span> {</div>
|
||||
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Wrong Input!\n"</span>;</div>
|
||||
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  }</div>
|
||||
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  <span class="keywordflow">case</span> 2:</div>
|
||||
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"\nEnter the element to be removed : "</span>;</div>
|
||||
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> >> s;</div>
|
||||
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  <span class="keywordflow">if</span> (data_structures::linked_list::isDigit(s)) {</div>
|
||||
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  x = <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string/stol.html">std::stoi</a>(s);</div>
|
||||
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  l.<a class="code" href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#a1fb1792ab867dc26639eef368a56989e">erase</a>(x);</div>
|
||||
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  } <span class="keywordflow">else</span> {</div>
|
||||
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Wrong Input!\n"</span>;</div>
|
||||
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  }</div>
|
||||
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  <span class="keywordflow">case</span> 3:</div>
|
||||
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"\nEnter the element to be searched : "</span>;</div>
|
||||
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> >> s;</div>
|
||||
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  <span class="keywordflow">if</span> (data_structures::linked_list::isDigit(s)) {</div>
|
||||
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  x = <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string/stol.html">std::stoi</a>(s);</div>
|
||||
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr<data_structures::linked_list::link></a> found =</div>
|
||||
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  l.<a class="code" href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#a098be172c737f236763afdb8cada4835">search</a>(x);</div>
|
||||
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  } <span class="keywordflow">else</span> {</div>
|
||||
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Wrong Input!\n"</span>;</div>
|
||||
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  }</div>
|
||||
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  <span class="keywordflow">case</span> 4:</div>
|
||||
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  l.<a class="code" href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#abf7c97616b873ffeebdd0eac2d19d13e">display</a>();</div>
|
||||
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"\n"</span>;</div>
|
||||
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  <span class="keywordflow">default</span>:</div>
|
||||
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Invalid Input\n"</span> << <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
|
||||
<div class="fragment"><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  {</div>
|
||||
<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  <a class="code" href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html">data_structures::linked_list::list</a> l;</div>
|
||||
<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  <span class="keywordtype">int</span> choice = 0;</div>
|
||||
<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  <span class="keywordtype">int</span> x = 0;</div>
|
||||
<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> s;</div>
|
||||
<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  <span class="keywordflow">do</span> {</div>
|
||||
<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"\n1. Insert"</span>;</div>
|
||||
<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"\n2. Delete"</span>;</div>
|
||||
<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"\n3. Search"</span>;</div>
|
||||
<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"\n4. Print"</span>;</div>
|
||||
<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"\n0. Exit"</span>;</div>
|
||||
<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"\n\nEnter you choice : "</span>;</div>
|
||||
<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> >> choice;</div>
|
||||
<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  <span class="keywordflow">switch</span> (choice) {</div>
|
||||
<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  <span class="keywordflow">case</span> 1:</div>
|
||||
<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"\nEnter the element to be inserted : "</span>;</div>
|
||||
<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> >> s;</div>
|
||||
<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  </div>
|
||||
<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  <span class="keywordflow">if</span> (data_structures::linked_list::isDigit(s)) {</div>
|
||||
<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  x = <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string/stol.html">std::stoi</a>(s);</div>
|
||||
<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  l.<a class="code" href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#ad585670a392c7e842c992d088093dff5">push_back</a>(x);</div>
|
||||
<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  } <span class="keywordflow">else</span> {</div>
|
||||
<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Wrong Input!\n"</span>;</div>
|
||||
<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  }</div>
|
||||
<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  <span class="keywordflow">case</span> 2:</div>
|
||||
<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"\nEnter the element to be removed : "</span>;</div>
|
||||
<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> >> s;</div>
|
||||
<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  <span class="keywordflow">if</span> (data_structures::linked_list::isDigit(s)) {</div>
|
||||
<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  x = <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string/stol.html">std::stoi</a>(s);</div>
|
||||
<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  l.<a class="code" href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#a1fb1792ab867dc26639eef368a56989e">erase</a>(x);</div>
|
||||
<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  } <span class="keywordflow">else</span> {</div>
|
||||
<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Wrong Input!\n"</span>;</div>
|
||||
<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  }</div>
|
||||
<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  <span class="keywordflow">case</span> 3:</div>
|
||||
<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"\nEnter the element to be searched : "</span>;</div>
|
||||
<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_istream.html">std::cin</a> >> s;</div>
|
||||
<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  <span class="keywordflow">if</span> (data_structures::linked_list::isDigit(s)) {</div>
|
||||
<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  x = <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string/stol.html">std::stoi</a>(s);</div>
|
||||
<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr<data_structures::linked_list::link></a> found =</div>
|
||||
<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  l.<a class="code" href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#a098be172c737f236763afdb8cada4835">search</a>(x);</div>
|
||||
<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  } <span class="keywordflow">else</span> {</div>
|
||||
<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Wrong Input!\n"</span>;</div>
|
||||
<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  }</div>
|
||||
<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  <span class="keywordflow">case</span> 4:</div>
|
||||
<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  l.<a class="code" href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#abf7c97616b873ffeebdd0eac2d19d13e">display</a>();</div>
|
||||
<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"\n"</span>;</div>
|
||||
<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  }</div>
|
||||
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  } <span class="keywordflow">while</span> (choice != 0);</div>
|
||||
<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  <span class="keywordflow">return</span> 0;</div>
|
||||
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span> }</div>
|
||||
<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  <span class="keywordflow">default</span>:</div>
|
||||
<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Invalid Input\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="l00274"></a><span class="lineno"> 274</span>  <span class="keywordflow">break</span>;</div>
|
||||
<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>  }</div>
|
||||
<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  } <span class="keywordflow">while</span> (choice != 0);</div>
|
||||
<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  <span class="keywordflow">return</span> 0;</div>
|
||||
<div class="line"><a name="l00278"></a><span class="lineno"> 278</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>
|
||||
<div class="ttc" id="aclassdata__structures_1_1linked__list_1_1list_html"><div class="ttname"><a href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html">data_structures::linked_list::list</a></div><div class="ttdef"><b>Definition:</b> linked_list.cpp:81</div></div>
|
||||
<div class="ttc" id="aclassdata__structures_1_1linked__list_1_1list_html_a098be172c737f236763afdb8cada4835"><div class="ttname"><a href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#a098be172c737f236763afdb8cada4835">data_structures::linked_list::list::search</a></div><div class="ttdeci">std::shared_ptr< link > search(int find_elem)</div><div class="ttdef"><b>Definition:</b> linked_list.cpp:194</div></div>
|
||||
<div class="ttc" id="aclassdata__structures_1_1linked__list_1_1list_html_a098be172c737f236763afdb8cada4835"><div class="ttname"><a href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#a098be172c737f236763afdb8cada4835">data_structures::linked_list::list::search</a></div><div class="ttdeci">std::shared_ptr< link > search(int find_elem)</div><div class="ttdef"><b>Definition:</b> linked_list.cpp:197</div></div>
|
||||
<div class="ttc" id="aclassdata__structures_1_1linked__list_1_1list_html_a1fb1792ab867dc26639eef368a56989e"><div class="ttname"><a href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#a1fb1792ab867dc26639eef368a56989e">data_structures::linked_list::list::erase</a></div><div class="ttdeci">void erase(int old_elem)</div><div class="ttdef"><b>Definition:</b> linked_list.cpp:152</div></div>
|
||||
<div class="ttc" id="aclassdata__structures_1_1linked__list_1_1list_html_abf7c97616b873ffeebdd0eac2d19d13e"><div class="ttname"><a href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#abf7c97616b873ffeebdd0eac2d19d13e">data_structures::linked_list::list::display</a></div><div class="ttdeci">void display()</div><div class="ttdef"><b>Definition:</b> linked_list.cpp:178</div></div>
|
||||
<div class="ttc" id="aclassdata__structures_1_1linked__list_1_1list_html_abf7c97616b873ffeebdd0eac2d19d13e"><div class="ttname"><a href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#abf7c97616b873ffeebdd0eac2d19d13e">data_structures::linked_list::list::display</a></div><div class="ttdeci">void display()</div><div class="ttdef"><b>Definition:</b> linked_list.cpp:181</div></div>
|
||||
<div class="ttc" id="aclassdata__structures_1_1linked__list_1_1list_html_ad585670a392c7e842c992d088093dff5"><div class="ttname"><a href="../../d1/def/classdata__structures_1_1linked__list_1_1list.html#ad585670a392c7e842c992d088093dff5">data_structures::linked_list::list::push_back</a></div><div class="ttdeci">void push_back(int new_elem)</div><div class="ttdef"><b>Definition:</b> linked_list.cpp:123</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="ashared_ptr_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/memory/shared_ptr.html">std::shared_ptr< data_structures::linked_list::link ></a></div></div>
|
||||
|
||||
@@ -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.46.1 (20210213.1702)
|
||||
<!-- Generated by graphviz version 2.47.2 (20210527.0053)
|
||||
-->
|
||||
<!-- Title: data_structures::linked_list::isDigit Pages: 1 -->
|
||||
<svg width="124pt" 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.46.1 (20210213.1702)
|
||||
<!-- Generated by graphviz version 2.47.2 (20210527.0053)
|
||||
-->
|
||||
<!-- Title: main Pages: 1 -->
|
||||
<svg width="350pt" height="264pt"
|
||||
|
||||
|
Before Width: | Height: | Size: 8.6 KiB After Width: | Height: | Size: 8.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.46.1 (20210213.1702)
|
||||
<!-- Generated by graphviz version 2.47.2 (20210527.0053)
|
||||
-->
|
||||
<!-- Title: test Pages: 1 -->
|
||||
<svg width="109pt" 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.46.1 (20210213.1702)
|
||||
<!-- Generated by graphviz version 2.47.2 (20210527.0053)
|
||||
-->
|
||||
<!-- Title: main Pages: 1 -->
|
||||
<svg width="204pt" height="104pt"
|
||||
|
||||
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.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.46.1 (20210213.1702)
|
||||
<!-- Generated by graphviz version 2.47.2 (20210527.0053)
|
||||
-->
|
||||
<!-- Title: range_queries::heavy_light_decomposition::Tree< X > Pages: 1 -->
|
||||
<svg width="118pt" height="128pt"
|
||||
|
||||
|
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.46.1 (20210213.1702)
|
||||
<!-- Generated by graphviz version 2.47.2 (20210527.0053)
|
||||
-->
|
||||
<!-- Title: machine_learning::adaline Pages: 1 -->
|
||||
<svg width="137pt" height="95pt"
|
||||
|
||||
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
@@ -178,7 +178,7 @@ template<std::size_t N> </div>
|
||||
</dd>
|
||||
</dl>
|
||||
<div class="fragment"><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="keywordtype">double</span> dt = rot * 2.f * M_PI / N;</div>
|
||||
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  <span class="keywordtype">double</span> dt = rot * 2.f * M_PI / <a class="code" href="../../d6/d42/data__structures_2sparse__table_8cpp.html#a10f3ffb3f6f7e1b83d556b9c8de89a5d">N</a>;</div>
|
||||
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <span class="keywordtype">double</span> R = 1.f;</div>
|
||||
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <span class="keyword">const</span> <span class="keywordtype">double</span> k1 = 1.f - k;</div>
|
||||
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  int32_t step = 0;</div>
|
||||
@@ -186,7 +186,7 @@ template<std::size_t N> </div>
|
||||
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> <span class="preprocessor">#ifdef _OPENMP</span></div>
|
||||
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="preprocessor">#pragma omp for</span></div>
|
||||
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span> <span class="preprocessor">#endif</span></div>
|
||||
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <span class="keywordflow">for</span> (step = 0; step < N; step++) {</div>
|
||||
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  <span class="keywordflow">for</span> (step = 0; step < <a class="code" href="../../d6/d42/data__structures_2sparse__table_8cpp.html#a10f3ffb3f6f7e1b83d556b9c8de89a5d">N</a>; step++) {</div>
|
||||
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  <span class="keywordtype">double</span> t = dt * step;</div>
|
||||
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  <span class="keywordtype">double</span> first = R * (k1 * <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/math/cos.html">std::cos</a>(t) + l * k * <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/math/cos.html">std::cos</a>(k1 * t / k));</div>
|
||||
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  <span class="keywordtype">double</span> second = R * (k1 * <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/math/sin.html">std::sin</a>(t) - l * k * <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/math/sin.html">std::sin</a>(k1 * t / k));</div>
|
||||
@@ -195,6 +195,7 @@ template<std::size_t N> </div>
|
||||
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  }</div>
|
||||
<div class="line"><a name="l00087"></a><span class="lineno"> 87</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="adata__structures_2sparse__table_8cpp_html_a10f3ffb3f6f7e1b83d556b9c8de89a5d"><div class="ttname"><a href="../../d6/d42/data__structures_2sparse__table_8cpp.html#a10f3ffb3f6f7e1b83d556b9c8de89a5d">data_structures::sparse_table::N</a></div><div class="ttdeci">constexpr uint32_t N</div><div class="ttdoc">A struct to represent sparse table for min() as their invariant function, for the given array A....</div><div class="ttdef"><b>Definition:</b> sparse_table.cpp:47</div></div>
|
||||
<div class="ttc" id="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">
|
||||
Here is the call graph for this function:</div>
|
||||
|
||||
@@ -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.46.1 (20210213.1702)
|
||||
<!-- Generated by graphviz version 2.47.2 (20210527.0053)
|
||||
-->
|
||||
<!-- Title: spirograph::spirograph Pages: 1 -->
|
||||
<svg width="209pt" height="66pt"
|
||||
|
||||
|
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 2.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.46.1 (20210213.1702)
|
||||
<!-- Generated by graphviz version 2.47.2 (20210527.0053)
|
||||
-->
|
||||
<!-- Title: others/happy_number.cpp Pages: 1 -->
|
||||
<svg width="136pt" height="84pt"
|
||||
|
||||
|
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.46.1 (20210213.1702)
|
||||
<!-- Generated by graphviz version 2.47.2 (20210527.0053)
|
||||
-->
|
||||
<!-- Title: hashing/double_hash_hash_table.cpp Pages: 1 -->
|
||||
<svg width="194pt" 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.46.1 (20210213.1702)
|
||||
<!-- Generated by graphviz version 2.47.2 (20210527.0053)
|
||||
-->
|
||||
<!-- Title: main 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.46.1 (20210213.1702)
|
||||
<!-- Generated by graphviz version 2.47.2 (20210527.0053)
|
||||
-->
|
||||
<!-- Title: test2 Pages: 1 -->
|
||||
<svg width="469pt" height="370pt"
|
||||
|
||||
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 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.46.1 (20210213.1702)
|
||||
<!-- Generated by graphviz version 2.47.2 (20210527.0053)
|
||||
-->
|
||||
<!-- Title: test1 Pages: 1 -->
|
||||
<svg width="469pt" height="370pt"
|
||||
|
||||
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 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.46.1 (20210213.1702)
|
||||
<!-- Generated by graphviz version 2.47.2 (20210527.0053)
|
||||
-->
|
||||
<!-- Title: poly_function Pages: 1 -->
|
||||
<svg width="218pt" height="104pt"
|
||||
|
||||
|
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.46.1 (20210213.1702)
|
||||
<!-- Generated by graphviz version 2.47.2 (20210527.0053)
|
||||
-->
|
||||
<!-- Title: durand_kerner_algo Pages: 1 -->
|
||||
<svg width="395pt" height="370pt"
|
||||
|
||||
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
@@ -0,0 +1,115 @@
|
||||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<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 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"/>
|
||||
<script type="text/javascript" src="../../jquery.js"></script>
|
||||
<script type="text/javascript" src="../../dynsections.js"></script>
|
||||
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
|
||||
<script type="text/javascript" src="../../resize.js"></script>
|
||||
<script type="text/javascript" src="../../navtreedata.js"></script>
|
||||
<script type="text/javascript" src="../../navtree.js"></script>
|
||||
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
|
||||
<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"],
|
||||
});
|
||||
</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>
|
||||
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||
<div id="titlearea">
|
||||
<table cellspacing="0" cellpadding="0">
|
||||
<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>
|
||||
<div id="projectbrief">Set of algorithms implemented in C++.</div>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<!-- end header part -->
|
||||
<!-- Generated by Doxygen 1.9.1 -->
|
||||
<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-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 */
|
||||
$(function() {
|
||||
initMenu('../../',true,false,'search.php','Search');
|
||||
$(document).ready(function() { init_search(); });
|
||||
});
|
||||
/* @license-end */</script>
|
||||
<div id="main-nav"></div>
|
||||
</div><!-- top -->
|
||||
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
||||
<div id="nav-tree">
|
||||
<div id="nav-tree-contents">
|
||||
<div id="nav-sync" class="sync"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="splitbar" style="-moz-user-select:none;"
|
||||
class="ui-resizable-handle">
|
||||
</div>
|
||||
</div>
|
||||
<script type="text/javascript">
|
||||
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
||||
$(document).ready(function(){initNavTree('da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html','../../'); initResizable(); });
|
||||
/* @license-end */
|
||||
</script>
|
||||
<div id="doc-content">
|
||||
<!-- window showing the filter options -->
|
||||
<div id="MSearchSelectWindow"
|
||||
onmouseover="return searchBox.OnSearchSelectShow()"
|
||||
onmouseout="return searchBox.OnSearchSelectHide()"
|
||||
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
||||
</div>
|
||||
|
||||
<!-- iframe showing the search results (closed by default) -->
|
||||
<div id="MSearchResultsWindow">
|
||||
<iframe src="javascript:void(0)" frameborder="0"
|
||||
name="MSearchResults" id="MSearchResults">
|
||||
</iframe>
|
||||
</div>
|
||||
|
||||
<div class="header">
|
||||
<div class="headertitle">
|
||||
<div class="title">machine_learning::aystar_search::AyStarSearch< Puzzle > Member List</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>This is the complete list of members for <a class="el" href="../../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html">machine_learning::aystar_search::AyStarSearch< Puzzle ></a>, including all inherited members.</p>
|
||||
<table class="directory">
|
||||
<tr class="even"><td class="entry"><a class="el" href="../../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#a5bb772fd41005fdefa8bd32edbf00cc3">a_star_search</a>(const std::function< uint32_t(const Puzzle &, const Puzzle &)> &dist, const uint32_t permissible_depth=30)</td><td class="entry"><a class="el" href="../../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html">machine_learning::aystar_search::AyStarSearch< Puzzle ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr><td class="entry"><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><td class="entry"><a class="el" href="../../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html">machine_learning::aystar_search::AyStarSearch< Puzzle ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Final</b> (defined in <a class="el" href="../../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html">machine_learning::aystar_search::AyStarSearch< Puzzle ></a>)</td><td class="entry"><a class="el" href="../../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html">machine_learning::aystar_search::AyStarSearch< Puzzle ></a></td><td class="entry"><span class="mlabel">private</span></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="../../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#a47b9bc9815a2e7123ac1dc13e5377301">Info</a> typedef</td><td class="entry"><a class="el" href="../../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html">machine_learning::aystar_search::AyStarSearch< Puzzle ></a></td><td class="entry"><span class="mlabel">private</span></td></tr>
|
||||
<tr bgcolor="#f0f0f0" class="even"><td class="entry"><b>Initial</b> (defined in <a class="el" href="../../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html">machine_learning::aystar_search::AyStarSearch< Puzzle ></a>)</td><td class="entry"><a class="el" href="../../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html">machine_learning::aystar_search::AyStarSearch< Puzzle ></a></td><td class="entry"><span class="mlabel">private</span></td></tr>
|
||||
<tr><td class="entry"><a class="el" href="../../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html#a8687882bdb604ab367da6e8fe42a35c9">Solution</a>(Info *FinalState, const std::map< Info, Info *, comparison_operator > &parent_of)</td><td class="entry"><a class="el" href="../../da/d02/classmachine__learning_1_1aystar__search_1_1_ay_star_search.html">machine_learning::aystar_search::AyStarSearch< Puzzle ></a></td><td class="entry"><span class="mlabel">inline</span></td></tr>
|
||||
</table></div><!-- contents -->
|
||||
</div><!-- doc-content -->
|
||||
<!-- start footer part -->
|
||||
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
||||
<ul>
|
||||
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="../../doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
|
||||
</ul>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -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.46.1 (20210213.1702)
|
||||
<!-- Generated by graphviz version 2.47.2 (20210527.0053)
|
||||
-->
|
||||
<!-- Title: others/buzz_number.cpp Pages: 1 -->
|
||||
<svg width="131pt" height="84pt"
|
||||
|
||||
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |