Documentation for f16093cf7b
631
d7/db9/hill__cipher_8cpp.html
Normal file
@@ -0,0 +1,631 @@
|
||||
<!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.8.18"/>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||
<title>Algorithms_in_C++: ciphers/hill_cipher.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.8.18 -->
|
||||
<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');
|
||||
/* @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('d7/db9/hill__cipher_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="#nested-classes">Classes</a> |
|
||||
<a href="#namespaces">Namespaces</a> |
|
||||
<a href="#func-members">Functions</a> |
|
||||
<a href="#var-members">Variables</a> </div>
|
||||
<div class="headertitle">
|
||||
<div class="title">hill_cipher.cpp File Reference</div> </div>
|
||||
</div><!--header-->
|
||||
<div class="contents">
|
||||
|
||||
<p>Implementation of <a href="https://en.wikipedia.org/wiki/Hill_cipher">Hill cipher</a> algorithm.
|
||||
<a href="#details">More...</a></p>
|
||||
<div class="textblock"><code>#include <cassert></code><br />
|
||||
<code>#include <cmath></code><br />
|
||||
<code>#include <cstring></code><br />
|
||||
<code>#include <ctime></code><br />
|
||||
<code>#include <fstream></code><br />
|
||||
<code>#include <iomanip></code><br />
|
||||
<code>#include <iostream></code><br />
|
||||
<code>#include <string></code><br />
|
||||
<code>#include "<a class="el" href="../../d1/dbe/lu__decomposition_8h_source.html">../numerical_methods/lu_decomposition.h</a>"</code><br />
|
||||
</div><div class="textblock"><div class="dynheader">
|
||||
Include dependency graph for hill_cipher.cpp:</div>
|
||||
<div class="dyncontent">
|
||||
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="../../d3/d1a/hill__cipher_8cpp__incl.svg" width="100%" height="451"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
|
||||
</div>
|
||||
</div>
|
||||
</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">class  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d26/classciphers_1_1_hill_cipher.html">ciphers::HillCipher</a></td></tr>
|
||||
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Implementation of <a href="https://en.wikipedia.org/wiki/Hill_cipher">Hill Cipher</a> algorithm. <a href="../../d6/d26/classciphers_1_1_hill_cipher.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="namespaces"></a>
|
||||
Namespaces</h2></td></tr>
|
||||
<tr class="memitem:d6/d4e/namespaceciphers"><td class="memItemLeft" align="right" valign="top">  </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d4e/namespaceciphers.html">ciphers</a></td></tr>
|
||||
<tr class="memdesc:d6/d4e/namespaceciphers"><td class="mdescLeft"> </td><td class="mdescRight">Algorithms for encryption and decryption. <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:aeff09ac6b8f060c828354394a3189519"><td class="memTemplParams" colspan="2">template<typename T > </td></tr>
|
||||
<tr class="memitem:aeff09ac6b8f060c828354394a3189519"><td class="memTemplItemLeft" align="right" valign="top">static <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::ostream</a> & </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../d7/db9/hill__cipher_8cpp.html#aeff09ac6b8f060c828354394a3189519">operator<<</a> (<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::ostream</a> &out, <a class="el" href="../../d1/dbe/lu__decomposition_8h.html#aed8766713ee9b561a4acdcdff5f90ea5">matrix</a>< T > const &v)</td></tr>
|
||||
<tr class="separator:aeff09ac6b8f060c828354394a3189519"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a3147ad576f8a94a2a6b66948672b452b"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/db9/hill__cipher_8cpp.html#a3147ad576f8a94a2a6b66948672b452b">test1</a> (const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> &text)</td></tr>
|
||||
<tr class="memdesc:a3147ad576f8a94a2a6b66948672b452b"><td class="mdescLeft"> </td><td class="mdescRight">Self test 1 - using 3x3 randomly generated key. <a href="../../d7/db9/hill__cipher_8cpp.html#a3147ad576f8a94a2a6b66948672b452b">More...</a><br /></td></tr>
|
||||
<tr class="separator:a3147ad576f8a94a2a6b66948672b452b"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:a04391124480d2a49f2dec900237b0712"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/db9/hill__cipher_8cpp.html#a04391124480d2a49f2dec900237b0712">test2</a> (const <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> &text)</td></tr>
|
||||
<tr class="memdesc:a04391124480d2a49f2dec900237b0712"><td class="mdescLeft"> </td><td class="mdescRight">Self test 2 - using 8x8 randomly generated key. <a href="../../d7/db9/hill__cipher_8cpp.html#a04391124480d2a49f2dec900237b0712">More...</a><br /></td></tr>
|
||||
<tr class="separator:a04391124480d2a49f2dec900237b0712"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
<tr class="memitem:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/db9/hill__cipher_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a> ()</td></tr>
|
||||
<tr class="separator:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="memSeparator" colspan="2"> </td></tr>
|
||||
</table><table class="memberdecls">
|
||||
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
|
||||
Variables</h2></td></tr>
|
||||
<tr class="memitem:ab9aec0ccf4b6809f652bb540be87c216"><td class="memItemLeft" align="right" valign="top">static const char * </td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d4e/namespaceciphers.html#ab9aec0ccf4b6809f652bb540be87c216">ciphers::STRKEY</a></td></tr>
|
||||
<tr class="separator:ab9aec0ccf4b6809f652bb540be87c216"><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/Hill_cipher">Hill cipher</a> algorithm. </p>
|
||||
<p>Program to generate the encryption-decryption key and perform encryption and decryption of ASCII text using the famous block cipher algorithm. This is a powerful encryption algorithm that is relatively easy to implement with a given key. The strength of the algorithm depends on the size of the block encryption matrix key; the bigger the matrix, the stronger the encryption and more difficult to break it. However, the important requirement for the matrix is that:</p><ol type="1">
|
||||
<li>matrix should be invertible - all inversion conditions should be satisfied and</li>
|
||||
<li>its determinant must not have any common factors with the length of character set Due to this restriction, most implementations only implement with small 3x3 encryption keys and a small subset of ASCII alphabets.</li>
|
||||
</ol>
|
||||
<p>In the current implementation, I present to you an implementation for generating larger encryption keys (I have attempted upto 10x10) and an ASCII character set of 97 printable characters. Hence, a typical ASCII text file could be easily encrypted with the module. The larger character set increases the modulo of cipher and hence the matrix determinants can get very large very quickly rendering them ill-defined.</p>
|
||||
<dl class="section note"><dt>Note</dt><dd>This program uses determinant computation using LU decomposition from the file lu_decomposition.h </dd>
|
||||
<dd>
|
||||
The matrix generation algorithm is very rudimentary and does not guarantee an invertible modulus matrix. </dd></dl>
|
||||
<dl class="todo"><dt><b><a class="el" href="../../dd/da0/todo.html#_todo000001">Todo:</a></b></dt><dd>Better matrix generation algorithm.</dd></dl>
|
||||
<dl class="section author"><dt>Author</dt><dd><a href="https://github.com/kvedala">Krishna Vedala</a> </dd></dl>
|
||||
</div><h2 class="groupheader">Function Documentation</h2>
|
||||
<a id="ae66f6b31b5ad750f1fe042a706a4e3d4"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#ae66f6b31b5ad750f1fe042a706a4e3d4">◆ </a></span>main()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">int main </td>
|
||||
<td>(</td>
|
||||
<td class="paramname"></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>Main function </p>
|
||||
<div class="fragment"><div class="line"><a name="l00532"></a><span class="lineno"> 532</span>  {</div>
|
||||
<div class="line"><a name="l00533"></a><span class="lineno"> 533</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/random/srand.html">std::srand</a>(<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/chrono/c/time.html">std::time</a>(<span class="keyword">nullptr</span>));</div>
|
||||
<div class="line"><a name="l00534"></a><span class="lineno"> 534</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Key dictionary: ("</span> << <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/byte/strlen.html">std::strlen</a>(<a class="code" href="../../d6/d4e/namespaceciphers.html#ab9aec0ccf4b6809f652bb540be87c216">ciphers::STRKEY</a>) << <span class="stringliteral">")\n\t"</span></div>
|
||||
<div class="line"><a name="l00535"></a><span class="lineno"> 535</span>  << <a class="code" href="../../d6/d4e/namespaceciphers.html#ab9aec0ccf4b6809f652bb540be87c216">ciphers::STRKEY</a> << <span class="stringliteral">"\n"</span>;</div>
|
||||
<div class="line"><a name="l00536"></a><span class="lineno"> 536</span>  </div>
|
||||
<div class="line"><a name="l00537"></a><span class="lineno"> 537</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> text = <span class="stringliteral">"This is a simple text with numb3r5 and exclamat!0n."</span>;</div>
|
||||
<div class="line"><a name="l00538"></a><span class="lineno"> 538</span>  </div>
|
||||
<div class="line"><a name="l00539"></a><span class="lineno"> 539</span>  <a class="code" href="../../d7/db9/hill__cipher_8cpp.html#a3147ad576f8a94a2a6b66948672b452b">test1</a>(text);</div>
|
||||
<div class="line"><a name="l00540"></a><span class="lineno"> 540</span>  <a class="code" href="../../d7/db9/hill__cipher_8cpp.html#a04391124480d2a49f2dec900237b0712">test2</a>(text);</div>
|
||||
<div class="line"><a name="l00541"></a><span class="lineno"> 541</span>  </div>
|
||||
<div class="line"><a name="l00542"></a><span class="lineno"> 542</span>  <span class="keywordflow">return</span> 0;</div>
|
||||
<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> }</div>
|
||||
</div><!-- fragment --><div class="dynheader">
|
||||
Here is the call graph for this function:</div>
|
||||
<div class="dyncontent">
|
||||
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="../../d7/db9/hill__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg" width="100%" height="600"><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>
|
||||
<a id="aeff09ac6b8f060c828354394a3189519"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#aeff09ac6b8f060c828354394a3189519">◆ </a></span>operator<<()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<div class="memtemplate">
|
||||
template<typename T > </div>
|
||||
<table class="mlabels">
|
||||
<tr>
|
||||
<td class="mlabels-left">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">static <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::ostream</a>& operator<< </td>
|
||||
<td>(</td>
|
||||
<td class="paramtype"><a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::ostream</a> & </td>
|
||||
<td class="paramname"><em>out</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype"><a class="el" href="../../d1/dbe/lu__decomposition_8h.html#aed8766713ee9b561a4acdcdff5f90ea5">matrix</a>< T > const & </td>
|
||||
<td class="paramname"><em>v</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">static</span></span> </td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
<p>operator to print a matrix </p>
|
||||
<div class="fragment"><div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  {</div>
|
||||
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  <span class="keyword">const</span> <span class="keywordtype">int</span> width = 15;</div>
|
||||
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  <span class="keyword">const</span> <span class="keywordtype">char</span> separator = <span class="charliteral">' '</span>;</div>
|
||||
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  </div>
|
||||
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> row = 0; row < v.size(); row++) {</div>
|
||||
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> col = 0; col < v[row].size(); col++)</div>
|
||||
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  out << <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/left.html">std::left</a> << <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/setw.html">std::setw</a>(width) << <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/setfill.html">std::setfill</a>(separator)</div>
|
||||
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  << v[row][col];</div>
|
||||
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  out << <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="l00063"></a><span class="lineno"> 63</span>  }</div>
|
||||
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  </div>
|
||||
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  <span class="keywordflow">return</span> out;</div>
|
||||
<div class="line"><a name="l00066"></a><span class="lineno"> 66</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="../../d7/db9/hill__cipher_8cpp_aeff09ac6b8f060c828354394a3189519_cgraph.svg" width="223" height="190"><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="a3147ad576f8a94a2a6b66948672b452b"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a3147ad576f8a94a2a6b66948672b452b">◆ </a></span>test1()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void test1 </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>text</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Self test 1 - using 3x3 randomly generated key. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">text</td><td>string to encrypt and decrypt </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<div class="fragment"><div class="line"><a name="l00470"></a><span class="lineno"> 470</span>  {</div>
|
||||
<div class="line"><a name="l00471"></a><span class="lineno"> 471</span>  <span class="comment">// std::string text = "Hello world!";</span></div>
|
||||
<div class="line"><a name="l00472"></a><span class="lineno"> 472</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"======Test 1 (3x3 key) ======\nOriginal text:\n\t"</span> << text</div>
|
||||
<div class="line"><a name="l00473"></a><span class="lineno"> 473</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="l00474"></a><span class="lineno"> 474</span>  </div>
|
||||
<div class="line"><a name="l00475"></a><span class="lineno"> 475</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair<matrix<int></a>, <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">matrix<int></a>> p =</div>
|
||||
<div class="line"><a name="l00476"></a><span class="lineno"> 476</span>  <a class="code" href="../../d6/d26/classciphers_1_1_hill_cipher.html#a14bfcd14af6cd853130cbacd32e35c13">ciphers::HillCipher::generate_keys</a>(3, 0, 100);</div>
|
||||
<div class="line"><a name="l00477"></a><span class="lineno"> 477</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">matrix<int></a> ekey = p.first;</div>
|
||||
<div class="line"><a name="l00478"></a><span class="lineno"> 478</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">matrix<int></a> dkey = p.second;</div>
|
||||
<div class="line"><a name="l00479"></a><span class="lineno"> 479</span>  </div>
|
||||
<div class="line"><a name="l00480"></a><span class="lineno"> 480</span>  <span class="comment">// matrix<int> ekey = {{22, 28, 25}, {5, 26, 15}, {14, 18, 9}};</span></div>
|
||||
<div class="line"><a name="l00481"></a><span class="lineno"> 481</span>  <span class="comment">// std::cout << "Encryption key: \n" << ekey;</span></div>
|
||||
<div class="line"><a name="l00482"></a><span class="lineno"> 482</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> gibberish = <a class="code" href="../../d6/d26/classciphers_1_1_hill_cipher.html#aa8bbb6e4a5749f6008b06602d5103917">ciphers::HillCipher::encrypt_text</a>(text, ekey);</div>
|
||||
<div class="line"><a name="l00483"></a><span class="lineno"> 483</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Encrypted text:\n\t"</span> << gibberish << <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="l00484"></a><span class="lineno"> 484</span>  </div>
|
||||
<div class="line"><a name="l00485"></a><span class="lineno"> 485</span>  <span class="comment">// matrix<int> dkey = ciphers::HillCipher::generate_decryption_key(ekey);</span></div>
|
||||
<div class="line"><a name="l00486"></a><span class="lineno"> 486</span>  <span class="comment">// std::cout << "Decryption key: \n" << dkey;</span></div>
|
||||
<div class="line"><a name="l00487"></a><span class="lineno"> 487</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> txt_back = <a class="code" href="../../d6/d26/classciphers_1_1_hill_cipher.html#a427acfac1dbff3f48a2b071d449d965b">ciphers::HillCipher::decrypt_text</a>(gibberish, dkey);</div>
|
||||
<div class="line"><a name="l00488"></a><span class="lineno"> 488</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Reconstruct text:\n\t"</span> << txt_back << <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="l00489"></a><span class="lineno"> 489</span>  </div>
|
||||
<div class="line"><a name="l00490"></a><span class="lineno"> 490</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ofstream.html">std::ofstream</a> out_file(<span class="stringliteral">"hill_cipher_test1.txt"</span>);</div>
|
||||
<div class="line"><a name="l00491"></a><span class="lineno"> 491</span>  out_file << <span class="stringliteral">"Block size: "</span> << ekey.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>() << <span class="stringliteral">"\n"</span>;</div>
|
||||
<div class="line"><a name="l00492"></a><span class="lineno"> 492</span>  out_file << <span class="stringliteral">"Encryption Key:\n"</span> << ekey;</div>
|
||||
<div class="line"><a name="l00493"></a><span class="lineno"> 493</span>  out_file << <span class="stringliteral">"\nDecryption Key:\n"</span> << dkey;</div>
|
||||
<div class="line"><a name="l00494"></a><span class="lineno"> 494</span>  out_file.close();</div>
|
||||
<div class="line"><a name="l00495"></a><span class="lineno"> 495</span>  </div>
|
||||
<div class="line"><a name="l00496"></a><span class="lineno"> 496</span>  assert(txt_back == text);</div>
|
||||
<div class="line"><a name="l00497"></a><span class="lineno"> 497</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Passed :)\n"</span>;</div>
|
||||
<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> }</div>
|
||||
</div><!-- fragment --><div class="dynheader">
|
||||
Here is the call graph for this function:</div>
|
||||
<div class="dyncontent">
|
||||
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="../../d7/db9/hill__cipher_8cpp_a3147ad576f8a94a2a6b66948672b452b_cgraph.svg" width="100%" height="600"><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>
|
||||
<a id="a04391124480d2a49f2dec900237b0712"></a>
|
||||
<h2 class="memtitle"><span class="permalink"><a href="#a04391124480d2a49f2dec900237b0712">◆ </a></span>test2()</h2>
|
||||
|
||||
<div class="memitem">
|
||||
<div class="memproto">
|
||||
<table class="memname">
|
||||
<tr>
|
||||
<td class="memname">void test2 </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>text</em></td><td>)</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div><div class="memdoc">
|
||||
|
||||
<p>Self test 2 - using 8x8 randomly generated key. </p>
|
||||
<dl class="params"><dt>Parameters</dt><dd>
|
||||
<table class="params">
|
||||
<tr><td class="paramname">text</td><td>string to encrypt and decrypt </td></tr>
|
||||
</table>
|
||||
</dd>
|
||||
</dl>
|
||||
<div class="fragment"><div class="line"><a name="l00505"></a><span class="lineno"> 505</span>  {</div>
|
||||
<div class="line"><a name="l00506"></a><span class="lineno"> 506</span>  <span class="comment">// std::string text = "Hello world!";</span></div>
|
||||
<div class="line"><a name="l00507"></a><span class="lineno"> 507</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"======Test 2 (8x8 key) ======\nOriginal text:\n\t"</span> << text</div>
|
||||
<div class="line"><a name="l00508"></a><span class="lineno"> 508</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="l00509"></a><span class="lineno"> 509</span>  </div>
|
||||
<div class="line"><a name="l00510"></a><span class="lineno"> 510</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair<matrix<int></a>, <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">matrix<int></a>> p =</div>
|
||||
<div class="line"><a name="l00511"></a><span class="lineno"> 511</span>  <a class="code" href="../../d6/d26/classciphers_1_1_hill_cipher.html#a14bfcd14af6cd853130cbacd32e35c13">ciphers::HillCipher::generate_keys</a>(8, 0, 3);</div>
|
||||
<div class="line"><a name="l00512"></a><span class="lineno"> 512</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">matrix<int></a> ekey = p.first;</div>
|
||||
<div class="line"><a name="l00513"></a><span class="lineno"> 513</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">matrix<int></a> dkey = p.second;</div>
|
||||
<div class="line"><a name="l00514"></a><span class="lineno"> 514</span>  </div>
|
||||
<div class="line"><a name="l00515"></a><span class="lineno"> 515</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> gibberish = <a class="code" href="../../d6/d26/classciphers_1_1_hill_cipher.html#aa8bbb6e4a5749f6008b06602d5103917">ciphers::HillCipher::encrypt_text</a>(text, ekey);</div>
|
||||
<div class="line"><a name="l00516"></a><span class="lineno"> 516</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Encrypted text:\n\t"</span> << gibberish << <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="l00517"></a><span class="lineno"> 517</span>  </div>
|
||||
<div class="line"><a name="l00518"></a><span class="lineno"> 518</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> txt_back = <a class="code" href="../../d6/d26/classciphers_1_1_hill_cipher.html#a427acfac1dbff3f48a2b071d449d965b">ciphers::HillCipher::decrypt_text</a>(gibberish, dkey);</div>
|
||||
<div class="line"><a name="l00519"></a><span class="lineno"> 519</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Reconstruct text:\n\t"</span> << txt_back << <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="l00520"></a><span class="lineno"> 520</span>  </div>
|
||||
<div class="line"><a name="l00521"></a><span class="lineno"> 521</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ofstream.html">std::ofstream</a> out_file(<span class="stringliteral">"hill_cipher_test2.txt"</span>);</div>
|
||||
<div class="line"><a name="l00522"></a><span class="lineno"> 522</span>  out_file << <span class="stringliteral">"Block size: "</span> << ekey.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>() << <span class="stringliteral">"\n"</span>;</div>
|
||||
<div class="line"><a name="l00523"></a><span class="lineno"> 523</span>  out_file << <span class="stringliteral">"Encryption Key:\n"</span> << ekey;</div>
|
||||
<div class="line"><a name="l00524"></a><span class="lineno"> 524</span>  out_file << <span class="stringliteral">"\nDecryption Key:\n"</span> << dkey;</div>
|
||||
<div class="line"><a name="l00525"></a><span class="lineno"> 525</span>  out_file.close();</div>
|
||||
<div class="line"><a name="l00526"></a><span class="lineno"> 526</span>  </div>
|
||||
<div class="line"><a name="l00527"></a><span class="lineno"> 527</span>  assert(txt_back.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string/compare.html">compare</a>(0, text.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string/size.html">size</a>(), text) == 0);</div>
|
||||
<div class="line"><a name="l00528"></a><span class="lineno"> 528</span>  <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> << <span class="stringliteral">"Passed :)\n"</span>;</div>
|
||||
<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> }</div>
|
||||
</div><!-- fragment --><div class="dynheader">
|
||||
Here is the call graph for this function:</div>
|
||||
<div class="dyncontent">
|
||||
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="../../d7/db9/hill__cipher_8cpp_a04391124480d2a49f2dec900237b0712_cgraph.svg" width="100%" height="600"><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>
|
||||
</div><!-- contents -->
|
||||
</div><!-- doc-content -->
|
||||
<div class="ttc" id="atower__of__hanoi_8cpp_html_af4cfc41e546f1f8d25f01e0804e8b61d"><div class="ttname"><a href="../../db/d3c/tower__of__hanoi_8cpp.html#af4cfc41e546f1f8d25f01e0804e8b61d">mov</a></div><div class="ttdeci">void mov(tower *From, tower *To)</div><div class="ttdef"><b>Definition:</b> tower_of_hanoi.cpp:39</div></div>
|
||||
<div class="ttc" id="asrand_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/numeric/random/srand.html">std::srand</a></div><div class="ttdeci">T srand(T... args)</div></div>
|
||||
<div class="ttc" id="aknuth__morris__pratt_8cpp_html_ae66f6b31b5ad750f1fe042a706a4e3d4"><div class="ttname"><a href="../../de/d6a/knuth__morris__pratt_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a></div><div class="ttdeci">int main()</div><div class="ttdef"><b>Definition:</b> knuth_morris_pratt.cpp:76</div></div>
|
||||
<div class="ttc" id="afenwick__tree_8cpp_html_ae66f6b31b5ad750f1fe042a706a4e3d4"><div class="ttname"><a href="../../d6/d2e/fenwick__tree_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a></div><div class="ttdeci">int main()</div><div class="ttdef"><b>Definition:</b> fenwick_tree.cpp:69</div></div>
|
||||
<div class="ttc" id="aternary__search_8cpp_html_aef655a27eb82efa299bf9d0becf6e9c8"><div class="ttname"><a href="../../dc/dfe/ternary__search_8cpp.html#aef655a27eb82efa299bf9d0becf6e9c8">ternary_search</a></div><div class="ttdeci">void ternary_search(int N, int A[], int target)</div><div class="ttdef"><b>Definition:</b> ternary_search.cpp:127</div></div>
|
||||
<div class="ttc" id="afloor_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/numeric/math/floor.html">std::floor</a></div><div class="ttdeci">T floor(T... args)</div></div>
|
||||
<div class="ttc" id="asmallest__circle_8cpp_html_a6d0455dd5c30adda100e95f0423c786e"><div class="ttname"><a href="../../d0/d01/smallest__circle_8cpp.html#a6d0455dd5c30adda100e95f0423c786e">test3</a></div><div class="ttdeci">void test3()</div><div class="ttdef"><b>Definition:</b> smallest_circle.cpp:188</div></div>
|
||||
<div class="ttc" id="adecimal__to__hexadecimal_8cpp_html_a840291bc02cba5474a4cb46a9b9566fe"><div class="ttname"><a href="../../da/de7/decimal__to__hexadecimal_8cpp.html#a840291bc02cba5474a4cb46a9b9566fe">main</a></div><div class="ttdeci">int main(void)</div><div class="ttdef"><b>Definition:</b> decimal_to_hexadecimal.cpp:11</div></div>
|
||||
<div class="ttc" id="adecimal__to__binary_8cpp_html_a10df57491019f0ac39b492740fb388f7"><div class="ttname"><a href="../../df/d06/decimal__to__binary_8cpp.html#a10df57491019f0ac39b492740fb388f7">method2</a></div><div class="ttdeci">void method2(int number)</div><div class="ttdef"><b>Definition:</b> decimal_to_binary.cpp:27</div></div>
|
||||
<div class="ttc" id="aexponential__search_8cpp_html_ae66f6b31b5ad750f1fe042a706a4e3d4"><div class="ttname"><a href="../../d8/d8a/exponential__search_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a></div><div class="ttdeci">int main()</div><div class="ttdef"><b>Definition:</b> exponential_search.cpp:74</div></div>
|
||||
<div class="ttc" id="astrlen_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/string/byte/strlen.html">std::strlen</a></div><div class="ttdeci">T strlen(T... args)</div></div>
|
||||
<div class="ttc" id="amatrix__exponentiation_8cpp_html_a9977ad12548c4a49dee9dc3f0685aa54"><div class="ttname"><a href="../../d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a></div><div class="ttdeci">ll mat_size</div><div class="ttdef"><b>Definition:</b> matrix_exponentiation.cpp:45</div></div>
|
||||
<div class="ttc" id="astairs__pattern_8cpp_html_ae66f6b31b5ad750f1fe042a706a4e3d4"><div class="ttname"><a href="../../d5/def/stairs__pattern_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a></div><div class="ttdeci">int main()</div><div class="ttdef"><b>Definition:</b> stairs_pattern.cpp:17</div></div>
|
||||
<div class="ttc" id="ahash__search_8cpp_html_a36ea13c16028f18ef2d5ff47f3fda7a2"><div class="ttname"><a href="../../d1/df3/hash__search_8cpp.html#a36ea13c16028f18ef2d5ff47f3fda7a2">hash_search</a></div><div class="ttdeci">int hash_search(int key, int *counter)</div><div class="ttdef"><b>Definition:</b> hash_search.cpp:76</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 class="ttdoc">STL class.</div></div>
|
||||
<div class="ttc" id="anamespacesorting_html_a5669396c6a6b1e14b97589b6e37980aa"><div class="ttname"><a href="../../d5/d91/namespacesorting.html#a5669396c6a6b1e14b97589b6e37980aa">sorting::shell_sort</a></div><div class="ttdeci">void shell_sort(T *arr, size_t LEN)</div><div class="ttdef"><b>Definition:</b> shell_sort2.cpp:45</div></div>
|
||||
<div class="ttc" id="adecimal__to__roman__numeral_8cpp_html_a003fb4e1b08279fe4cd50fbbc2782c2d"><div class="ttname"><a href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a003fb4e1b08279fe4cd50fbbc2782c2d">tolowerRoman</a></div><div class="ttdeci">std::string tolowerRoman(int n)</div><div class="ttdef"><b>Definition:</b> decimal_to_roman_numeral.cpp:24</div></div>
|
||||
<div class="ttc" id="ashell__sort2_8cpp_html_a22ea0d1f7943ebb4371d31e44b465b6d"><div class="ttname"><a href="../../d4/d7a/shell__sort2_8cpp.html#a22ea0d1f7943ebb4371d31e44b465b6d">test_f</a></div><div class="ttdeci">void test_f(const int NUM_DATA)</div><div class="ttdef"><b>Definition:</b> shell_sort2.cpp:145</div></div>
|
||||
<div class="ttc" id="anamespacestring__search_html"><div class="ttname"><a href="../../d9/d03/namespacestring__search.html">string_search</a></div><div class="ttdoc">String search algorithms.</div><div class="ttdef"><b>Definition:</b> brute_force_string_searching.cpp:13</div></div>
|
||||
<div class="ttc" id="afibonacci__fast_8cpp_html_a392fb874e547e582e9c66a08a1f23326"><div class="ttname"><a href="../../d4/d32/fibonacci__fast_8cpp.html#a392fb874e547e582e9c66a08a1f23326">MAX</a></div><div class="ttdeci">#define MAX</div><div class="ttdef"><b>Definition:</b> fibonacci_fast.cpp:27</div></div>
|
||||
<div class="ttc" id="ashell__sort2_8cpp_html_a951127aea9d7e1e53ea9ae0868633246"><div class="ttname"><a href="../../d4/d7a/shell__sort2_8cpp.html#a951127aea9d7e1e53ea9ae0868633246">show_data</a></div><div class="ttdeci">void show_data(T *arr, size_t LEN)</div><div class="ttdef"><b>Definition:</b> shell_sort2.cpp:18</div></div>
|
||||
<div class="ttc" id="alist_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/list.html">std::list</a></div><div class="ttdoc">STL class.</div></div>
|
||||
<div class="ttc" id="agroup__sorting_html_ga29d28b140174dbdde7c9f5157758435f"><div class="ttname"><a href="../../d5/d4c/group__sorting.html#ga29d28b140174dbdde7c9f5157758435f">heapSort</a></div><div class="ttdeci">void heapSort(T *arr, int n)</div><div class="ttdef"><b>Definition:</b> heap_sort.cpp:84</div></div>
|
||||
<div class="ttc" id="aclock_t_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/chrono/c/clock_t.html">std::clock_t</a></div></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 class="ttc" id="abinomial__dist_8cpp_html_ae66f6b31b5ad750f1fe042a706a4e3d4"><div class="ttname"><a href="../../d6/db0/binomial__dist_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a></div><div class="ttdeci">int main()</div><div class="ttdef"><b>Definition:</b> binomial_dist.cpp:84</div></div>
|
||||
<div class="ttc" id="aaddition__rule_8cpp_html_a565ffcbbdbe496ced37250bc8dc36bc0"><div class="ttname"><a href="../../d6/d4a/addition__rule_8cpp.html#a565ffcbbdbe496ced37250bc8dc36bc0">addition_rule_dependent</a></div><div class="ttdeci">double addition_rule_dependent(double A, double B, double B_given_A)</div><div class="ttdef"><b>Definition:</b> addition_rule.cpp:25</div></div>
|
||||
<div class="ttc" id="asmallest__circle_8cpp_html_a0283886819c7c140a023582b7269e2d0"><div class="ttname"><a href="../../d0/d01/smallest__circle_8cpp.html#a0283886819c7c140a023582b7269e2d0">test2</a></div><div class="ttdeci">void test2()</div><div class="ttdef"><b>Definition:</b> smallest_circle.cpp:173</div></div>
|
||||
<div class="ttc" id="apair_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair</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 class="ttdoc">STL class.</div></div>
|
||||
<div class="ttc" id="asize_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/size.html">std::vector::size</a></div><div class="ttdeci">T size(T... args)</div></div>
|
||||
<div class="ttc" id="astruct_point_html_ab99c56589bc8ad5fa5071387110a5bc7"><div class="ttname"><a href="../../d8/dc8/struct_point.html#ab99c56589bc8ad5fa5071387110a5bc7">Point::x</a></div><div class="ttdeci">double x</div><div class="ttdef"><b>Definition:</b> smallest_circle.cpp:16</div></div>
|
||||
<div class="ttc" id="adecimal__to__roman__numeral_8cpp_html_ae66f6b31b5ad750f1fe042a706a4e3d4"><div class="ttname"><a href="../../de/d85/decimal__to__roman__numeral_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a></div><div class="ttdeci">int main()</div><div class="ttdef"><b>Definition:</b> decimal_to_roman_numeral.cpp:90</div></div>
|
||||
<div class="ttc" id="aclass_fenwick_tree_html_a115ff5c548b429b737ea09f75817d1f9"><div class="ttname"><a href="../../dd/d91/class_fenwick_tree.html#a115ff5c548b429b737ea09f75817d1f9">FenwickTree::sum_range</a></div><div class="ttdeci">int sum_range(int l, int r)</div><div class="ttdef"><b>Definition:</b> fenwick_tree.cpp:65</div></div>
|
||||
<div class="ttc" id="aheap__sort_8cpp_html_ae1a3968e7947464bee7714f6d43b7002"><div class="ttname"><a href="../../d2/d52/heap__sort_8cpp.html#ae1a3968e7947464bee7714f6d43b7002">test</a></div><div class="ttdeci">void test()</div><div class="ttdef"><b>Definition:</b> heap_sort.cpp:99</div></div>
|
||||
<div class="ttc" id="aternary__search_8cpp_html_ae01eda5098801bb6b5b778828fb4fddc"><div class="ttname"><a href="../../dc/dfe/ternary__search_8cpp.html#ae01eda5098801bb6b5b778828fb4fddc">absolutePrecision</a></div><div class="ttdeci">#define absolutePrecision</div><div class="ttdef"><b>Definition:</b> ternary_search.cpp:22</div></div>
|
||||
<div class="ttc" id="amatrix__exponentiation_8cpp_html_ad8389ed58fd0ec66df248014775ad1fa"><div class="ttname"><a href="../../d7/d35/matrix__exponentiation_8cpp.html#ad8389ed58fd0ec66df248014775ad1fa">ans</a></div><div class="ttdeci">ll ans(ll n)</div><div class="ttdef"><b>Definition:</b> matrix_exponentiation.cpp:91</div></div>
|
||||
<div class="ttc" id="aclass_fenwick_tree_html"><div class="ttname"><a href="../../dd/d91/class_fenwick_tree.html">FenwickTree</a></div><div class="ttdef"><b>Definition:</b> fenwick_tree.cpp:17</div></div>
|
||||
<div class="ttc" id="asieve__of__eratosthenes_8cpp_html_af50a5c87d27cfd3462745b37fb9b0f46"><div class="ttname"><a href="../../d8/ddf/sieve__of__eratosthenes_8cpp.html#af50a5c87d27cfd3462745b37fb9b0f46">print</a></div><div class="ttdeci">void print(uint32_t N)</div><div class="ttdef"><b>Definition:</b> sieve_of_eratosthenes.cpp:40</div></div>
|
||||
<div class="ttc" id="ahash__search_8cpp_html_a77c722016053a1d484aa177ce205b367"><div class="ttname"><a href="../../d1/df3/hash__search_8cpp.html#a77c722016053a1d484aa177ce205b367">HASHMAX</a></div><div class="ttdeci">#define HASHMAX</div><div class="ttdoc">Determines the length of the hash table.</div><div class="ttdef"><b>Definition:</b> hash_search.cpp:22</div></div>
|
||||
<div class="ttc" id="arabin__karp_8cpp_html_ac4add2a227a10511e0128d63952030e8"><div class="ttname"><a href="../../d6/dce/rabin__karp_8cpp.html#ac4add2a227a10511e0128d63952030e8">PRIME</a></div><div class="ttdeci">#define PRIME</div><div class="ttdoc">Prime modulus for hash functions.</div><div class="ttdef"><b>Definition:</b> rabin_karp.cpp:16</div></div>
|
||||
<div class="ttc" id="anamespacesorting_html_a7e7f25f31c50523990437abf2ac3907e"><div class="ttname"><a href="../../d5/d91/namespacesorting.html#a7e7f25f31c50523990437abf2ac3907e">sorting::partition</a></div><div class="ttdeci">int partition(int arr[], int low, int high)</div><div class="ttdef"><b>Definition:</b> quick_sort.cpp:37</div></div>
|
||||
<div class="ttc" id="adistance_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/iterator/distance.html">std::distance</a></div><div class="ttdeci">T distance(T... args)</div></div>
|
||||
<div class="ttc" id="aexponential__search_8cpp_html_a0f697e2a3b5193324ab84bd4045088f7"><div class="ttname"><a href="../../d8/d8a/exponential__search_8cpp.html#a0f697e2a3b5193324ab84bd4045088f7">binary_s</a></div><div class="ttdeci">Type * binary_s(Type *array, size_t size, Type key)</div><div class="ttdef"><b>Definition:</b> exponential_search.cpp:34</div></div>
|
||||
<div class="ttc" id="astructnode_html"><div class="ttname"><a href="../../d5/da1/structnode.html">node</a></div><div class="ttdef"><b>Definition:</b> avltree.cpp:13</div></div>
|
||||
<div class="ttc" id="astruct_point_html_afa38be143ae800e6ad69ce8ed4df62d8"><div class="ttname"><a href="../../d8/dc8/struct_point.html#afa38be143ae800e6ad69ce8ed4df62d8">Point::y</a></div><div class="ttdeci">double y</div><div class="ttdef"><b>Definition:</b> smallest_circle.cpp:17</div></div>
|
||||
<div class="ttc" id="asearch_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/algorithm/search.html">std::search</a></div><div class="ttdeci">T search(T... args)</div></div>
|
||||
<div class="ttc" id="ahash__search_8cpp_html_a8ca8dcb494104d273679e219e53d0555"><div class="ttname"><a href="../../d1/df3/hash__search_8cpp.html#a8ca8dcb494104d273679e219e53d0555">node</a></div><div class="ttdeci">struct list node</div></div>
|
||||
<div class="ttc" id="acomb__sort_8cpp_html_aede08143e63105faba10e9ee8e745fd5"><div class="ttname"><a href="../../d9/dfd/comb__sort_8cpp.html#aede08143e63105faba10e9ee8e745fd5">FindNextGap</a></div><div class="ttdeci">int FindNextGap(int gap)</div><div class="ttdef"><b>Definition:</b> comb_sort.cpp:29</div></div>
|
||||
<div class="ttc" id="ahash__search_8cpp_html_a392fb874e547e582e9c66a08a1f23326"><div class="ttname"><a href="../../d1/df3/hash__search_8cpp.html#a392fb874e547e582e9c66a08a1f23326">MAX</a></div><div class="ttdeci">#define MAX</div><div class="ttdoc">Determines how much data.</div><div class="ttdef"><b>Definition:</b> hash_search.cpp:21</div></div>
|
||||
<div class="ttc" id="apascal__triangle_8cpp_html_ae66f6b31b5ad750f1fe042a706a4e3d4"><div class="ttname"><a href="../../dc/d1a/pascal__triangle_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a></div><div class="ttdeci">int main()</div><div class="ttdef"><b>Definition:</b> pascal_triangle.cpp:52</div></div>
|
||||
<div class="ttc" id="abayes__theorem_8cpp_html_ae66f6b31b5ad750f1fe042a706a4e3d4"><div class="ttname"><a href="../../d5/d67/bayes__theorem_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a></div><div class="ttdeci">int main()</div><div class="ttdef"><b>Definition:</b> bayes_theorem.cpp:26</div></div>
|
||||
<div class="ttc" id="afscanf_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/c/fscanf.html">std::scanf</a></div><div class="ttdeci">T scanf(T... args)</div></div>
|
||||
<div class="ttc" id="amatrix__exponentiation_8cpp_html_ac62a499b83c7895dd0aa69da1b64c904"><div class="ttname"><a href="../../d7/d35/matrix__exponentiation_8cpp.html#ac62a499b83c7895dd0aa69da1b64c904">multiply</a></div><div class="ttdeci">vector< vector< ll > > multiply(const vector< vector< ll >> &A, const vector< vector< ll >> &B)</div><div class="ttdef"><b>Definition:</b> matrix_exponentiation.cpp:57</div></div>
|
||||
<div class="ttc" id="ahill__cipher_8cpp_html_a04391124480d2a49f2dec900237b0712"><div class="ttname"><a href="../../d7/db9/hill__cipher_8cpp.html#a04391124480d2a49f2dec900237b0712">test2</a></div><div class="ttdeci">void test2(const std::string &text)</div><div class="ttdoc">Self test 2 - using 8x8 randomly generated key.</div><div class="ttdef"><b>Definition:</b> hill_cipher.cpp:505</div></div>
|
||||
<div class="ttc" id="asetfill_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/manip/setfill.html">std::setfill</a></div><div class="ttdeci">T setfill(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="aqr__decomposition_8cpp_html_a840291bc02cba5474a4cb46a9b9566fe"><div class="ttname"><a href="../../d3/d24/qr__decomposition_8cpp.html#a840291bc02cba5474a4cb46a9b9566fe">main</a></div><div class="ttdeci">int main(void)</div><div class="ttdef"><b>Definition:</b> qr_decomposition.cpp:23</div></div>
|
||||
<div class="ttc" id="apalindrome__of__number_8cpp_html_ae66f6b31b5ad750f1fe042a706a4e3d4"><div class="ttname"><a href="../../da/d9a/palindrome__of__number_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a></div><div class="ttdeci">int main()</div><div class="ttdef"><b>Definition:</b> palindrome_of_number.cpp:19</div></div>
|
||||
<div class="ttc" id="anamespacesorting_html"><div class="ttname"><a href="../../d5/d91/namespacesorting.html">sorting</a></div><div class="ttdoc">Sorting algorithms.</div><div class="ttdef"><b>Definition:</b> non_recursive_merge_sort.cpp:11</div></div>
|
||||
<div class="ttc" id="avector__important__functions_8cpp_html_ae66f6b31b5ad750f1fe042a706a4e3d4"><div class="ttname"><a href="../../d3/d61/vector__important__functions_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a></div><div class="ttdeci">int main()</div><div class="ttdef"><b>Definition:</b> vector_important_functions.cpp:11</div></div>
|
||||
<div class="ttc" id="aqueue_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/queue.html">std::queue</a></div><div class="ttdoc">STL class.</div></div>
|
||||
<div class="ttc" id="anamespacesorting_html_aa26de383227859210f14dcf12201a079"><div class="ttname"><a href="../../d5/d91/namespacesorting.html#aa26de383227859210f14dcf12201a079">sorting::merge</a></div><div class="ttdeci">void merge(Iterator, Iterator, const Iterator, char[])</div><div class="ttdoc">merges 2 sorted adjacent segments into a larger sorted segment</div><div class="ttdef"><b>Definition:</b> non_recursive_merge_sort.cpp:57</div></div>
|
||||
<div class="ttc" id="alinear__search_8cpp_html_ae66f6b31b5ad750f1fe042a706a4e3d4"><div class="ttname"><a href="../../d9/d02/linear__search_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a></div><div class="ttdeci">int main()</div><div class="ttdef"><b>Definition:</b> linear_search.cpp:27</div></div>
|
||||
<div class="ttc" id="asuccessive__approximation_8cpp_html_ae89c36add7c55298c5195d0a83de1456"><div class="ttname"><a href="../../df/dc8/successive__approximation_8cpp.html#ae89c36add7c55298c5195d0a83de1456">eqd</a></div><div class="ttdeci">static float eqd(float y)</div><div class="ttdef"><b>Definition:</b> successive_approximation.cpp:17</div></div>
|
||||
<div class="ttc" id="asort_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/algorithm/sort.html">std::sort</a></div><div class="ttdeci">T sort(T... args)</div></div>
|
||||
<div class="ttc" id="adecimal__to__roman__numeral_8cpp_html_a88203bd297e8405160c132faa1187780"><div class="ttname"><a href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a88203bd297e8405160c132faa1187780">fill</a></div><div class="ttdeci">std::string fill(char c, int n)</div><div class="ttdef"><b>Definition:</b> decimal_to_roman_numeral.cpp:15</div></div>
|
||||
<div class="ttc" id="aqr__eigen__values_8cpp_html_a7558fd7779bf207157ced66f275951a0"><div class="ttname"><a href="../../de/d75/qr__eigen__values_8cpp.html#a7558fd7779bf207157ced66f275951a0">mat_mul</a></div><div class="ttdeci">void mat_mul(const std::valarray< std::valarray< double >> &A, const std::valarray< std::valarray< double >> &B, std::valarray< std::valarray< double >> *OUT)</div><div class="ttdef"><b>Definition:</b> qr_eigen_values.cpp:54</div></div>
|
||||
<div class="ttc" id="anamespacestring__search_html_a8fb0bc932ba8b582c9f4c71338d050f8"><div class="ttname"><a href="../../d9/d03/namespacestring__search.html#a8fb0bc932ba8b582c9f4c71338d050f8">string_search::create_hash</a></div><div class="ttdeci">int64_t create_hash(const std::string &s, int n)</div><div class="ttdef"><b>Definition:</b> rabin_karp.cpp:25</div></div>
|
||||
<div class="ttc" id="asqrt_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/numeric/math/sqrt.html">std::sqrt</a></div><div class="ttdeci">T sqrt(T... args)</div></div>
|
||||
<div class="ttc" id="aparanthesis__matching_8cpp_html_af4c937d823c412d99fbe60c99dbf0a4f"><div class="ttname"><a href="../../dc/dc5/paranthesis__matching_8cpp.html#af4c937d823c412d99fbe60c99dbf0a4f">stack_idx</a></div><div class="ttdeci">int stack_idx</div><div class="ttdoc">pointer to track stack index</div><div class="ttdef"><b>Definition:</b> paranthesis_matching.cpp:23</div></div>
|
||||
<div class="ttc" id="ashell__sort2_8cpp_html_a0ddf1224851353fc92bfbff6f499fa97"><div class="ttname"><a href="../../d4/d7a/shell__sort2_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97">main</a></div><div class="ttdeci">int main(int argc, char *argv[])</div><div class="ttdef"><b>Definition:</b> shell_sort2.cpp:183</div></div>
|
||||
<div class="ttc" id="ainterpolation__search2_8cpp_html_ae66f6b31b5ad750f1fe042a706a4e3d4"><div class="ttname"><a href="../../df/d39/interpolation__search2_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a></div><div class="ttdeci">int main()</div><div class="ttdef"><b>Definition:</b> interpolation_search2.cpp:32</div></div>
|
||||
<div class="ttc" id="ashell__sort2_8cpp_html_a7eb77daed2cf1513f6d68c47a1c2db1c"><div class="ttname"><a href="../../d4/d7a/shell__sort2_8cpp.html#a7eb77daed2cf1513f6d68c47a1c2db1c">compare</a></div><div class="ttdeci">int compare(const void *a, const void *b)</div><div class="ttdef"><b>Definition:</b> shell_sort2.cpp:87</div></div>
|
||||
<div class="ttc" id="anamespacestring__search_html_aeb2cd81064717aedd62bfb096b1a73d8"><div class="ttname"><a href="../../d9/d03/namespacestring__search.html#aeb2cd81064717aedd62bfb096b1a73d8">string_search::brute_force</a></div><div class="ttdeci">int brute_force(const std::string &text, const std::string &pattern)</div><div class="ttdef"><b>Definition:</b> brute_force_string_searching.cpp:21</div></div>
|
||||
<div class="ttc" id="abuzz__number_8cpp_html_ae66f6b31b5ad750f1fe042a706a4e3d4"><div class="ttname"><a href="../../d1/d76/buzz__number_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a></div><div class="ttdeci">int main()</div><div class="ttdef"><b>Definition:</b> buzz_number.cpp:9</div></div>
|
||||
<div class="ttc" id="ais_sorted_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/algorithm/is_sorted.html">std::is_sorted</a></div><div class="ttdeci">T is_sorted(T... args)</div></div>
|
||||
<div class="ttc" id="anamespaceqr__algorithm_html"><div class="ttname"><a href="../../d2/d3b/namespaceqr__algorithm.html">qr_algorithm</a></div><div class="ttdoc">Functions to compute QR decomposition of any rectangular matrix.</div></div>
|
||||
<div class="ttc" id="aclass_fenwick_tree_html_aaae15ea71455315e257baa11017cec10"><div class="ttname"><a href="../../dd/d91/class_fenwick_tree.html#aaae15ea71455315e257baa11017cec10">FenwickTree::offset</a></div><div class="ttdeci">int offset(int x)</div><div class="ttdef"><b>Definition:</b> fenwick_tree.cpp:22</div></div>
|
||||
<div class="ttc" id="aqr__eigen__values_8cpp_html_a33cb0a68c36aa26fd599c7c66da86ed7"><div class="ttname"><a href="../../de/d75/qr__eigen__values_8cpp.html#a33cb0a68c36aa26fd599c7c66da86ed7">create_matrix</a></div><div class="ttdeci">void create_matrix(std::valarray< std::valarray< double >> *A)</div><div class="ttdef"><b>Definition:</b> qr_eigen_values.cpp:28</div></div>
|
||||
<div class="ttc" id="ahappy__number_8cpp_html_ae66f6b31b5ad750f1fe042a706a4e3d4"><div class="ttname"><a href="../../db/df3/happy__number_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a></div><div class="ttdeci">int main()</div><div class="ttdef"><b>Definition:</b> happy_number.cpp:29</div></div>
|
||||
<div class="ttc" id="astructquery_html"><div class="ttname"><a href="../../dd/d1b/structquery.html">query</a></div><div class="ttdef"><b>Definition:</b> mo.cpp:6</div></div>
|
||||
<div class="ttc" id="atext__search_8cpp_html_ae66f6b31b5ad750f1fe042a706a4e3d4"><div class="ttname"><a href="../../dc/db5/text__search_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a></div><div class="ttdeci">int main()</div><div class="ttdef"><b>Definition:</b> text_search.cpp:15</div></div>
|
||||
<div class="ttc" id="agroup__sorting_html_ga0a9a57a1f1bbba3d4822531d002b7e07"><div class="ttname"><a href="../../d5/d4c/group__sorting.html#ga0a9a57a1f1bbba3d4822531d002b7e07">show</a></div><div class="ttdeci">void show(int *arr, int size)</div><div class="ttdef"><b>Definition:</b> merge_sort.cpp:96</div></div>
|
||||
<div class="ttc" id="abrute__force__string__searching_8cpp_html_ae2abaa9caa13fff35e45edca00bee123"><div class="ttname"><a href="../../d3/d7d/brute__force__string__searching_8cpp.html#ae2abaa9caa13fff35e45edca00bee123">test_set</a></div><div class="ttdeci">const std::vector< std::vector< std::string > > test_set</div><div class="ttdef"><b>Definition:</b> brute_force_string_searching.cpp:41</div></div>
|
||||
<div class="ttc" id="aternary__search_8cpp_html_a93d0099db95022f1eb90ddfd68f73ead"><div class="ttname"><a href="../../dc/dfe/ternary__search_8cpp.html#a93d0099db95022f1eb90ddfd68f73ead">rec_ternary_search</a></div><div class="ttdeci">int rec_ternary_search(int left, int right, int A[], int target)</div><div class="ttdef"><b>Definition:</b> ternary_search.cpp:90</div></div>
|
||||
<div class="ttc" id="astruct_node_html"><div class="ttname"><a href="../../db/d8b/struct_node.html">Node</a></div><div class="ttdef"><b>Definition:</b> linkedlist_implentation_usingarray.cpp:14</div></div>
|
||||
<div class="ttc" id="apush_back_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">std::vector::push_back</a></div><div class="ttdeci">T push_back(T... args)</div></div>
|
||||
<div class="ttc" id="astruct_point_html_a2e1b5fb2b2a83571f5c0bc0f66a73cf7"><div class="ttname"><a href="../../d8/dc8/struct_point.html#a2e1b5fb2b2a83571f5c0bc0f66a73cf7">Point::y</a></div><div class="ttdeci">int y</div><div class="ttdoc">Point respect to x coordinate.</div><div class="ttdef"><b>Definition:</b> line_segment_intersection.cpp:14</div></div>
|
||||
<div class="ttc" id="anamespaceqr__algorithm_html_a763896dbb4a7e95c4a1e614ac0819d66"><div class="ttname"><a href="../../d2/d3b/namespaceqr__algorithm.html#a763896dbb4a7e95c4a1e614ac0819d66">qr_algorithm::eigen_values</a></div><div class="ttdeci">std::valarray< double > eigen_values(std::valarray< std::valarray< double >> *A, bool print_intermediates=false)</div><div class="ttdef"><b>Definition:</b> qr_eigen_values.cpp:98</div></div>
|
||||
<div class="ttc" id="aclock_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/chrono/c/clock.html">std::clock</a></div><div class="ttdeci">T clock(T... args)</div></div>
|
||||
<div class="ttc" id="anamespacestring__search_html_aed769d565b705a9b3e0eb1ec74088893"><div class="ttname"><a href="../../d9/d03/namespacestring__search.html#aed769d565b705a9b3e0eb1ec74088893">string_search::recalculate_hash</a></div><div class="ttdeci">int64_t recalculate_hash(const std::string &s, int old_index, int new_index, int64_t old_hash, int patLength)</div><div class="ttdef"><b>Definition:</b> rabin_karp.cpp:42</div></div>
|
||||
<div class="ttc" id="anamespaceciphers_html_ab9aec0ccf4b6809f652bb540be87c216"><div class="ttname"><a href="../../d6/d4e/namespaceciphers.html#ab9aec0ccf4b6809f652bb540be87c216">ciphers::STRKEY</a></div><div class="ttdeci">static const char * STRKEY</div><div class="ttdef"><b>Definition:</b> hill_cipher.cpp:73</div></div>
|
||||
<div class="ttc" id="asmallest__circle_8cpp_html_ae66f6b31b5ad750f1fe042a706a4e3d4"><div class="ttname"><a href="../../d0/d01/smallest__circle_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a></div><div class="ttdeci">int main()</div><div class="ttdef"><b>Definition:</b> smallest_circle.cpp:198</div></div>
|
||||
<div class="ttc" id="ashell__sort2_8cpp_html_a895b313cb2671e8f712040460325573e"><div class="ttname"><a href="../../d4/d7a/shell__sort2_8cpp.html#a895b313cb2671e8f712040460325573e">test_int</a></div><div class="ttdeci">void test_int(const int NUM_DATA)</div><div class="ttdef"><b>Definition:</b> shell_sort2.cpp:105</div></div>
|
||||
<div class="ttc" id="apascal__triangle_8cpp_html_afd3f52dd56ddedbf7af5d26a202a199e"><div class="ttname"><a href="../../dc/d1a/pascal__triangle_8cpp.html#afd3f52dd56ddedbf7af5d26a202a199e">pascal_triangle</a></div><div class="ttdeci">int ** pascal_triangle(int **arr, int n)</div><div class="ttdef"><b>Definition:</b> pascal_triangle.cpp:36</div></div>
|
||||
<div class="ttc" id="ahill__cipher_8cpp_html_ae66f6b31b5ad750f1fe042a706a4e3d4"><div class="ttname"><a href="../../d7/db9/hill__cipher_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a></div><div class="ttdeci">int main()</div><div class="ttdef"><b>Definition:</b> hill_cipher.cpp:532</div></div>
|
||||
<div class="ttc" id="acomb__sort_8cpp_html_a0f4e7569090083fb53d5cdeaf0e2974f"><div class="ttname"><a href="../../d9/dfd/comb__sort_8cpp.html#a0f4e7569090083fb53d5cdeaf0e2974f">CombSort</a></div><div class="ttdeci">void CombSort(int *arr, int l, int r)</div><div class="ttdef"><b>Definition:</b> comb_sort.cpp:42</div></div>
|
||||
<div class="ttc" id="aavltree_8cpp_html_aa7cd8a68075fae1c33df41233c1bed6a"><div class="ttname"><a href="../../d8/dee/avltree_8cpp.html#aa7cd8a68075fae1c33df41233c1bed6a">insert</a></div><div class="ttdeci">node * insert(node *root, int item)</div><div class="ttdef"><b>Definition:</b> avltree.cpp:66</div></div>
|
||||
<div class="ttc" id="afprintf_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/c/fprintf.html">std::printf</a></div><div class="ttdeci">T printf(T... args)</div></div>
|
||||
<div class="ttc" id="aclass_fenwick_tree_html_aaddab1f03d4941212a82cc647b1adb17"><div class="ttname"><a href="../../dd/d91/class_fenwick_tree.html#aaddab1f03d4941212a82cc647b1adb17">FenwickTree::FenwickTree</a></div><div class="ttdeci">FenwickTree(const std::vector< int > &arr)</div><div class="ttdef"><b>Definition:</b> fenwick_tree.cpp:28</div></div>
|
||||
<div class="ttc" id="agroup__sorting_html_gab6b14fea48d9841e29b9fc26be6e05d7"><div class="ttname"><a href="../../d5/d4c/group__sorting.html#gab6b14fea48d9841e29b9fc26be6e05d7">mergeSort</a></div><div class="ttdeci">void mergeSort(int *arr, int l, int r)</div><div class="ttdef"><b>Definition:</b> merge_sort.cpp:83</div></div>
|
||||
<div class="ttc" id="amatrix__exponentiation_8cpp_html_ae66f6b31b5ad750f1fe042a706a4e3d4"><div class="ttname"><a href="../../d7/d35/matrix__exponentiation_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a></div><div class="ttdeci">int main()</div><div class="ttdef"><b>Definition:</b> matrix_exponentiation.cpp:126</div></div>
|
||||
<div class="ttc" id="afast__interger__input_8cpp_html_ae66f6b31b5ad750f1fe042a706a4e3d4"><div class="ttname"><a href="../../d4/de8/fast__interger__input_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a></div><div class="ttdeci">int main()</div><div class="ttdef"><b>Definition:</b> fast_interger_input.cpp:39</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="aqr__decompose_8h_html"><div class="ttname"><a href="../../d4/d68/qr__decompose_8h.html">qr_decompose.h</a></div><div class="ttdoc">Library functions to compute QR decomposition of a given matrix.</div></div>
|
||||
<div class="ttc" id="agroup__sorting_html_ga460c61cd948203b4816bef2accb3fc73"><div class="ttname"><a href="../../d5/d4c/group__sorting.html#ga460c61cd948203b4816bef2accb3fc73">merge</a></div><div class="ttdeci">void merge(int *arr, int l, int m, int r)</div><div class="ttdef"><b>Definition:</b> merge_sort.cpp:33</div></div>
|
||||
<div class="ttc" id="ahash__search_8cpp_html_a566eaf0ffafd50bc61e644561fd27001"><div class="ttname"><a href="../../d1/df3/hash__search_8cpp.html#a566eaf0ffafd50bc61e644561fd27001">h</a></div><div class="ttdeci">int h(int key)</div><div class="ttdef"><b>Definition:</b> hash_search.cpp:45</div></div>
|
||||
<div class="ttc" id="abasic_ofstream_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/basic_ofstream.html">std::ofstream</a></div><div class="ttdoc">STL class.</div></div>
|
||||
<div class="ttc" id="anamespacesorting_html_ae97f4dd815654c4682f564afd718e824"><div class="ttname"><a href="../../d5/d91/namespacesorting.html#ae97f4dd815654c4682f564afd718e824">sorting::non_recursive_merge_sort</a></div><div class="ttdeci">void non_recursive_merge_sort(const Iterator first, const Iterator last)</div><div class="ttdoc">bottom-up merge sort which sorts elements in a non-decreasing order</div><div class="ttdef"><b>Definition:</b> non_recursive_merge_sort.cpp:86</div></div>
|
||||
<div class="ttc" id="aclass_fenwick_tree_html_a2e9ea4fcbe0786487f4535c1cfc7aa00"><div class="ttname"><a href="../../dd/d91/class_fenwick_tree.html#a2e9ea4fcbe0786487f4535c1cfc7aa00">FenwickTree::update</a></div><div class="ttdeci">void update(int id, int val)</div><div class="ttdef"><b>Definition:</b> fenwick_tree.cpp:45</div></div>
|
||||
<div class="ttc" id="abinary__search_8cpp_html_abf9e6b7e6f15df4b525a2e7705ba3089"><div class="ttname"><a href="../../df/dd5/binary__search_8cpp.html#abf9e6b7e6f15df4b525a2e7705ba3089">main</a></div><div class="ttdeci">int main(int argc, char const *argv[])</div><div class="ttdef"><b>Definition:</b> binary_search.cpp:31</div></div>
|
||||
<div class="ttc" id="astructtower_html"><div class="ttname"><a href="../../d2/d2c/structtower.html">tower</a></div><div class="ttdef"><b>Definition:</b> tower_of_hanoi.cpp:11</div></div>
|
||||
<div class="ttc" id="aternary__search_8cpp_html_a23ad617bfce1e7cf4591059c85c1a027"><div class="ttname"><a href="../../dc/dfe/ternary__search_8cpp.html#a23ad617bfce1e7cf4591059c85c1a027">_target</a></div><div class="ttdeci">#define _target</div><div class="ttdef"><b>Definition:</b> ternary_search.cpp:27</div></div>
|
||||
<div class="ttc" id="abinary__search_8cpp_html_a78df202b718cfe3c2c9216979b08298d"><div class="ttname"><a href="../../df/dd5/binary__search_8cpp.html#a78df202b718cfe3c2c9216979b08298d">binary_search</a></div><div class="ttdeci">int binary_search(int a[], int r, int key)</div><div class="ttdef"><b>Definition:</b> binary_search.cpp:15</div></div>
|
||||
<div class="ttc" id="aparanthesis__matching_8cpp_html_ade525d33459755a32ba21e1b6910ff21"><div class="ttname"><a href="../../dc/dc5/paranthesis__matching_8cpp.html#ade525d33459755a32ba21e1b6910ff21">opening</a></div><div class="ttdeci">char opening(char ch)</div><div class="ttdef"><b>Definition:</b> paranthesis_matching.cpp:36</div></div>
|
||||
<div class="ttc" id="ahappy__number_8cpp_html_a00ccdb1166a7c83ac3c33ac67a2532b7"><div class="ttname"><a href="../../db/df3/happy__number_8cpp.html#a00ccdb1166a7c83ac3c33ac67a2532b7">is_happy</a></div><div class="ttdeci">bool is_happy(T n)</div><div class="ttdef"><b>Definition:</b> happy_number.cpp:14</div></div>
|
||||
<div class="ttc" id="acompare_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/string/basic_string/compare.html">std::string::compare</a></div><div class="ttdeci">T compare(T... args)</div></div>
|
||||
<div class="ttc" id="anamespacestring__search_html_aebe07cea289a13142503d98be7df11fd"><div class="ttname"><a href="../../d9/d03/namespacestring__search.html#aebe07cea289a13142503d98be7df11fd">string_search::check_if_equal</a></div><div class="ttdeci">bool check_if_equal(const std::string &str1, const std::string &str2, int start1, int end1, int start2, int end2)</div><div class="ttdef"><b>Definition:</b> rabin_karp.cpp:60</div></div>
|
||||
<div class="ttc" id="amedian__search_8cpp_html_ae66f6b31b5ad750f1fe042a706a4e3d4"><div class="ttname"><a href="../../d9/d69/median__search_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a></div><div class="ttdeci">int main()</div><div class="ttdef"><b>Definition:</b> median_search.cpp:38</div></div>
|
||||
<div class="ttc" id="aternary__search_8cpp_html_ae66f6b31b5ad750f1fe042a706a4e3d4"><div class="ttname"><a href="../../dc/dfe/ternary__search_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a></div><div class="ttdeci">int main()</div><div class="ttdef"><b>Definition:</b> ternary_search.cpp:134</div></div>
|
||||
<div class="ttc" id="abinomial__dist_8cpp_html_a76ed6ce71415fb400b65f0656cef3d25"><div class="ttname"><a href="../../d6/db0/binomial__dist_8cpp.html#a76ed6ce71415fb400b65f0656cef3d25">binomial_range_successes</a></div><div class="ttdeci">double binomial_range_successes(double n, double p, double lower_bound, double upper_bound)</div><div class="ttdef"><b>Definition:</b> binomial_dist.cpp:74</div></div>
|
||||
<div class="ttc" id="asmallest__circle_8cpp_html_a3cbebd6f4d2cdf227663c67fe41ba12a"><div class="ttname"><a href="../../d0/d01/smallest__circle_8cpp.html#a3cbebd6f4d2cdf227663c67fe41ba12a">LenghtLine</a></div><div class="ttdeci">double LenghtLine(const Point &A, const Point &B)</div><div class="ttdef"><b>Definition:</b> smallest_circle.cpp:37</div></div>
|
||||
<div class="ttc" id="aqsort_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/algorithm/qsort.html">std::qsort</a></div><div class="ttdeci">T qsort(T... args)</div></div>
|
||||
<div class="ttc" id="aclassciphers_1_1_hill_cipher_html_aa8bbb6e4a5749f6008b06602d5103917"><div class="ttname"><a href="../../d6/d26/classciphers_1_1_hill_cipher.html#aa8bbb6e4a5749f6008b06602d5103917">ciphers::HillCipher::encrypt_text</a></div><div class="ttdeci">static const std::string encrypt_text(const std::string &text, const matrix< int > &encrypt_key)</div><div class="ttdoc">Encrypt a given text using a given key.</div><div class="ttdef"><b>Definition:</b> hill_cipher.cpp:445</div></div>
|
||||
<div class="ttc" id="ato_string_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/string/basic_string/to_string.html">std::to_string</a></div><div class="ttdeci">T to_string(T... args)</div></div>
|
||||
<div class="ttc" id="aclassciphers_1_1_hill_cipher_html_a427acfac1dbff3f48a2b071d449d965b"><div class="ttname"><a href="../../d6/d26/classciphers_1_1_hill_cipher.html#a427acfac1dbff3f48a2b071d449d965b">ciphers::HillCipher::decrypt_text</a></div><div class="ttdeci">static const std::string decrypt_text(const std::string &text, const matrix< int > &decrypt_key)</div><div class="ttdoc">Decrypt a given text using a given key.</div><div class="ttdef"><b>Definition:</b> hill_cipher.cpp:457</div></div>
|
||||
<div class="ttc" id="anamespacestring__search_html_a26a58225ce7d3fa9d4c2f5349a65ed93"><div class="ttname"><a href="../../d9/d03/namespacestring__search.html#a26a58225ce7d3fa9d4c2f5349a65ed93">string_search::kmp</a></div><div class="ttdeci">bool kmp(const std::string &pattern, const std::string &text)</div><div class="ttdef"><b>Definition:</b> knuth_morris_pratt.cpp:56</div></div>
|
||||
<div class="ttc" id="apoisson__dist_8cpp_html_ad9c9e74079278ca10e3b97a8d5391c9a"><div class="ttname"><a href="../../d9/d24/poisson__dist_8cpp.html#ad9c9e74079278ca10e3b97a8d5391c9a">poisson_range_successes</a></div><div class="ttdeci">double poisson_range_successes(double expected, double lower, double upper)</div><div class="ttdef"><b>Definition:</b> poisson_dist.cpp:54</div></div>
|
||||
<div class="ttc" id="atower__of__hanoi_8cpp_html_ae66f6b31b5ad750f1fe042a706a4e3d4"><div class="ttname"><a href="../../db/d3c/tower__of__hanoi_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a></div><div class="ttdeci">int main()</div><div class="ttdef"><b>Definition:</b> tower_of_hanoi.cpp:65</div></div>
|
||||
<div class="ttc" id="anamespacesorting_html_a140d913e42fb94176a0b2c8b29a80420"><div class="ttname"><a href="../../d5/d91/namespacesorting.html#a140d913e42fb94176a0b2c8b29a80420">sorting::non_recursive_merge_sort</a></div><div class="ttdeci">void non_recursive_merge_sort(const Iterator first, const Iterator last, const size_t n)</div><div class="ttdoc">bottom-up merge sort which sorts elements in a non-decreasing order</div><div class="ttdef"><b>Definition:</b> non_recursive_merge_sort.cpp:25</div></div>
|
||||
<div class="ttc" id="amatrix__exponentiation_8cpp_html_ae1d1ec9482079231e898236e2b23c9ba"><div class="ttname"><a href="../../d7/d35/matrix__exponentiation_8cpp.html#ae1d1ec9482079231e898236e2b23c9ba">ll</a></div><div class="ttdeci">#define ll</div><div class="ttdef"><b>Definition:</b> matrix_exponentiation.cpp:33</div></div>
|
||||
<div class="ttc" id="aerase_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/string/basic_string/erase.html">std::string::erase</a></div><div class="ttdeci">T erase(T... args)</div></div>
|
||||
<div class="ttc" id="avalarray_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/numeric/valarray.html">std::valarray</a></div><div class="ttdoc">STL class.</div></div>
|
||||
<div class="ttc" id="abinomial__dist_8cpp_html_af09e51f513cee647d41192ab0a872cdc"><div class="ttname"><a href="../../d6/db0/binomial__dist_8cpp.html#af09e51f513cee647d41192ab0a872cdc">binomial_standard_deviation</a></div><div class="ttdeci">double binomial_standard_deviation(double n, double p)</div><div class="ttdef"><b>Definition:</b> binomial_dist.cpp:36</div></div>
|
||||
<div class="ttc" id="asmallest__circle_8cpp_html_a94682a4a70d5906857ca09de5b9fb2cc"><div class="ttname"><a href="../../d0/d01/smallest__circle_8cpp.html#a94682a4a70d5906857ca09de5b9fb2cc">TriangleArea</a></div><div class="ttdeci">double TriangleArea(const Point &A, const Point &B, const Point &C)</div><div class="ttdef"><b>Definition:</b> smallest_circle.cpp:54</div></div>
|
||||
<div class="ttc" id="abrute__force__string__searching_8cpp_html_ae66f6b31b5ad750f1fe042a706a4e3d4"><div class="ttname"><a href="../../d3/d7d/brute__force__string__searching_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a></div><div class="ttdeci">int main()</div><div class="ttdef"><b>Definition:</b> brute_force_string_searching.cpp:47</div></div>
|
||||
<div class="ttc" id="abinomial__dist_8cpp_html_a19ae0a6a2bd200fd1eb0e31b2bf4cc76"><div class="ttname"><a href="../../d6/db0/binomial__dist_8cpp.html#a19ae0a6a2bd200fd1eb0e31b2bf4cc76">binomial_x_successes</a></div><div class="ttdeci">double binomial_x_successes(double n, double p, double x)</div><div class="ttdef"><b>Definition:</b> binomial_dist.cpp:65</div></div>
|
||||
<div class="ttc" id="aqr__eigen__values_8cpp_html_a0283886819c7c140a023582b7269e2d0"><div class="ttname"><a href="../../de/d75/qr__eigen__values_8cpp.html#a0283886819c7c140a023582b7269e2d0">test2</a></div><div class="ttdeci">void test2()</div><div class="ttdef"><b>Definition:</b> qr_eigen_values.cpp:210</div></div>
|
||||
<div class="ttc" id="aremove_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/algorithm/remove.html">std::remove</a></div><div class="ttdeci">T remove(T... args)</div></div>
|
||||
<div class="ttc" id="amatrix__exponentiation_8cpp_html_a600eaf353befc174637855795f12d258"><div class="ttname"><a href="../../d7/d35/matrix__exponentiation_8cpp.html#a600eaf353befc174637855795f12d258">endl</a></div><div class="ttdeci">#define endl</div><div class="ttdef"><b>Definition:</b> matrix_exponentiation.cpp:36</div></div>
|
||||
<div class="ttc" id="ahash__search_8cpp_html_ad6fcd983304f85afa199d97a9b0ca9f6"><div class="ttname"><a href="../../d1/df3/hash__search_8cpp.html#ad6fcd983304f85afa199d97a9b0ca9f6">link</a></div><div class="ttdeci">struct list * link</div><div class="ttdoc">pointer to nodes</div></div>
|
||||
<div class="ttc" id="amedian__search_8cpp_html_a3a66390d0e407dce4fcbf63a169c6c8f"><div class="ttname"><a href="../../d9/d69/median__search_8cpp.html#a3a66390d0e407dce4fcbf63a169c6c8f">comp</a></div><div class="ttdeci">void comp(X x, std::vector< int > *s1, std::vector< int > *s2, std::vector< int > *s3)</div><div class="ttdef"><b>Definition:</b> median_search.cpp:17</div></div>
|
||||
<div class="ttc" id="aspiral__print_8cpp_html_a850d3f55e1a8d227176cdcc67352c197"><div class="ttname"><a href="../../db/d07/spiral__print_8cpp.html#a850d3f55e1a8d227176cdcc67352c197">spiralPrint</a></div><div class="ttdeci">void spiralPrint(int **a, int r, int c)</div><div class="ttdef"><b>Definition:</b> spiral_print.cpp:29</div></div>
|
||||
<div class="ttc" id="abayes__theorem_8cpp_html_abb4f22dc05887c2259fdfc55c687598f"><div class="ttname"><a href="../../d5/d67/bayes__theorem_8cpp.html#abb4f22dc05887c2259fdfc55c687598f">bayes_BgivenA</a></div><div class="ttdeci">double bayes_BgivenA(double AgivenB, double A, double B)</div><div class="ttdef"><b>Definition:</b> bayes_theorem.cpp:20</div></div>
|
||||
<div class="ttc" id="amatrix__exponentiation_8cpp_html_a35b7c98af53ad2ec18658679ad7d43de"><div class="ttname"><a href="../../d7/d35/matrix__exponentiation_8cpp.html#a35b7c98af53ad2ec18658679ad7d43de">fib_b</a></div><div class="ttdeci">vector< ll > fib_b</div><div class="ttdef"><b>Definition:</b> matrix_exponentiation.cpp:50</div></div>
|
||||
<div class="ttc" id="apoisson__dist_8cpp_html_ac217ab9a06291f360d816700a6958ca8"><div class="ttname"><a href="../../d9/d24/poisson__dist_8cpp.html#ac217ab9a06291f360d816700a6958ca8">poisson_rate</a></div><div class="ttdeci">double poisson_rate(double events, double timeframe)</div><div class="ttdef"><b>Definition:</b> poisson_dist.cpp:17</div></div>
|
||||
<div class="ttc" id="astructlist_html_aaab2e33bc1ca6f44e72239bfb58f100c"><div class="ttname"><a href="../../d8/d10/structlist.html#aaab2e33bc1ca6f44e72239bfb58f100c">list::key</a></div><div class="ttdeci">int key</div><div class="ttdoc">key value for node</div><div class="ttdef"><b>Definition:</b> hash_search.cpp:30</div></div>
|
||||
<div class="ttc" id="aqr__eigen__values_8cpp_html_a3c04138a5bfe5d72780bb7e82a18e627"><div class="ttname"><a href="../../de/d75/qr__eigen__values_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">main</a></div><div class="ttdeci">int main(int argc, char **argv)</div><div class="ttdef"><b>Definition:</b> qr_eigen_values.cpp:243</div></div>
|
||||
<div class="ttc" id="aceil_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/numeric/math/ceil.html">std::ceil</a></div><div class="ttdeci">T ceil(T... args)</div></div>
|
||||
<div class="ttc" id="asmallest__circle_8cpp_html_a0b0676df8e4da7a08c7ccaecea344903"><div class="ttname"><a href="../../d0/d01/smallest__circle_8cpp.html#a0b0676df8e4da7a08c7ccaecea344903">circle</a></div><div class="ttdeci">double circle(const std::vector< Point > &P)</div><div class="ttdef"><b>Definition:</b> smallest_circle.cpp:87</div></div>
|
||||
<div class="ttc" id="asuccessive__approximation_8cpp_html_a79c1d08919ff7780a5d7723172602389"><div class="ttname"><a href="../../df/dc8/successive__approximation_8cpp.html#a79c1d08919ff7780a5d7723172602389">eq</a></div><div class="ttdeci">static float eq(float y)</div><div class="ttdef"><b>Definition:</b> successive_approximation.cpp:12</div></div>
|
||||
<div class="ttc" id="aexponential__search_8cpp_html_a67e9c84b4e2eb30e3c5170eabfbb363d"><div class="ttname"><a href="../../d8/d8a/exponential__search_8cpp.html#a67e9c84b4e2eb30e3c5170eabfbb363d">struzik_search</a></div><div class="ttdeci">Type * struzik_search(Type *array, size_t size, Type key)</div><div class="ttdef"><b>Definition:</b> exponential_search.cpp:59</div></div>
|
||||
<div class="ttc" id="apoisson__dist_8cpp_html_ae66f6b31b5ad750f1fe042a706a4e3d4"><div class="ttname"><a href="../../d9/d24/poisson__dist_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a></div><div class="ttdeci">int main()</div><div class="ttdef"><b>Definition:</b> poisson_dist.cpp:65</div></div>
|
||||
<div class="ttc" id="arand_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/numeric/random/rand.html">std::rand</a></div><div class="ttdeci">T rand(T... args)</div></div>
|
||||
<div class="ttc" id="aswap_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/algorithm/swap.html">std::swap</a></div><div class="ttdeci">T swap(T... args)</div></div>
|
||||
<div class="ttc" id="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="abinomial__dist_8cpp_html_a4416a7bc7fa87201883c54cdc4c82813"><div class="ttname"><a href="../../d6/db0/binomial__dist_8cpp.html#a4416a7bc7fa87201883c54cdc4c82813">binomial_expected</a></div><div class="ttdeci">double binomial_expected(double n, double p)</div><div class="ttdef"><b>Definition:</b> binomial_dist.cpp:22</div></div>
|
||||
<div class="ttc" id="aheap__sort_8cpp_html_ae66f6b31b5ad750f1fe042a706a4e3d4"><div class="ttname"><a href="../../d2/d52/heap__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a></div><div class="ttdeci">int main()</div><div class="ttdef"><b>Definition:</b> heap_sort.cpp:120</div></div>
|
||||
<div class="ttc" id="ahash__search_8cpp_html_af413b1740073db54796642b0ab814d6d"><div class="ttname"><a href="../../d1/df3/hash__search_8cpp.html#af413b1740073db54796642b0ab814d6d">hashtab</a></div><div class="ttdeci">node hashtab[HASHMAX]</div><div class="ttdoc">array of nodes</div><div class="ttdef"><b>Definition:</b> hash_search.cpp:35</div></div>
|
||||
<div class="ttc" id="asubstr_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/string/basic_string/substr.html">std::string::substr</a></div><div class="ttdeci">T substr(T... args)</div></div>
|
||||
<div class="ttc" id="aternary__search_8cpp_html_ae30dfe2894191bfeffe5b3b1854b95b0"><div class="ttname"><a href="../../dc/dfe/ternary__search_8cpp.html#ae30dfe2894191bfeffe5b3b1854b95b0">it_ternary_search</a></div><div class="ttdeci">int it_ternary_search(int left, int right, int A[], int target)</div><div class="ttdef"><b>Definition:</b> ternary_search.cpp:48</div></div>
|
||||
<div class="ttc" id="ahill__cipher_8cpp_html_a3147ad576f8a94a2a6b66948672b452b"><div class="ttname"><a href="../../d7/db9/hill__cipher_8cpp.html#a3147ad576f8a94a2a6b66948672b452b">test1</a></div><div class="ttdeci">void test1(const std::string &text)</div><div class="ttdoc">Self test 1 - using 3x3 randomly generated key.</div><div class="ttdef"><b>Definition:</b> hill_cipher.cpp:470</div></div>
|
||||
<div class="ttc" id="aclassciphers_1_1_hill_cipher_html_a14bfcd14af6cd853130cbacd32e35c13"><div class="ttname"><a href="../../d6/d26/classciphers_1_1_hill_cipher.html#a14bfcd14af6cd853130cbacd32e35c13">ciphers::HillCipher::generate_keys</a></div><div class="ttdeci">static std::pair< matrix< int >, matrix< int > > generate_keys(size_t size, int limit1=0, int limit2=10)</div><div class="ttdoc">Generate encryption and decryption key pair.</div><div class="ttdef"><b>Definition:</b> hill_cipher.cpp:424</div></div>
|
||||
<div class="ttc" id="ajump__search_8cpp_html_ab49fd8f401bfc71f63b74711390cccf0"><div class="ttname"><a href="../../d2/d22/jump__search_8cpp.html#ab49fd8f401bfc71f63b74711390cccf0">jumpSearch</a></div><div class="ttdeci">int jumpSearch(int arr[], int x, int n)</div><div class="ttdef"><b>Definition:</b> jump_search.cpp:12</div></div>
|
||||
<div class="ttc" id="ahash__search_8cpp_html_a6e1a77282bc65ad359d753d25df23243"><div class="ttname"><a href="../../d1/df3/hash__search_8cpp.html#a6e1a77282bc65ad359d753d25df23243">data</a></div><div class="ttdeci">int data[MAX]</div><div class="ttdoc">test data</div><div class="ttdef"><b>Definition:</b> hash_search.cpp:24</div></div>
|
||||
<div class="ttc" id="adecimal__to__binary_8cpp_html_a9240f2e79074a2a248395258aebbfa11"><div class="ttname"><a href="../../df/d06/decimal__to__binary_8cpp.html#a9240f2e79074a2a248395258aebbfa11">method1</a></div><div class="ttdeci">void method1(int number)</div><div class="ttdef"><b>Definition:</b> decimal_to_binary.cpp:11</div></div>
|
||||
<div class="ttc" id="aqr__eigen__values_8cpp_html_a1440a7779ac56f47a3f355ce4a8c7da0"><div class="ttname"><a href="../../de/d75/qr__eigen__values_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0">test1</a></div><div class="ttdeci">void test1()</div><div class="ttdef"><b>Definition:</b> qr_eigen_values.cpp:177</div></div>
|
||||
<div class="ttc" id="aheap__sort_8cpp_html_a9ed3e1510afdf3edd06cf2b68769a767"><div class="ttname"><a href="../../d2/d52/heap__sort_8cpp.html#a9ed3e1510afdf3edd06cf2b68769a767">printArray</a></div><div class="ttdeci">void printArray(T *arr, int sz)</div><div class="ttdef"><b>Definition:</b> heap_sort.cpp:37</div></div>
|
||||
<div class="ttc" id="alower_bound_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/algorithm/lower_bound.html">std::lower_bound</a></div><div class="ttdeci">T lower_bound(T... args)</div></div>
|
||||
<div class="ttc" id="ahash__search_8cpp_html_ae66f6b31b5ad750f1fe042a706a4e3d4"><div class="ttname"><a href="../../d1/df3/hash__search_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a></div><div class="ttdeci">int main()</div><div class="ttdef"><b>Definition:</b> hash_search.cpp:99</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="aleft_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/manip/left.html">std::left</a></div><div class="ttdeci">T left(T... args)</div></div>
|
||||
<div class="ttc" id="ahash__search_8cpp_html_ad0831425f1389166a9518f422d0c6ec5"><div class="ttname"><a href="../../d1/df3/hash__search_8cpp.html#ad0831425f1389166a9518f422d0c6ec5">create_list</a></div><div class="ttdeci">void create_list(int key)</div><div class="ttdef"><b>Definition:</b> hash_search.cpp:55</div></div>
|
||||
<div class="ttc" id="apoisson__dist_8cpp_html_a63ffd347e75d5ed7a518cbcfbfeec71a"><div class="ttname"><a href="../../d9/d24/poisson__dist_8cpp.html#a63ffd347e75d5ed7a518cbcfbfeec71a">fact</a></div><div class="ttdeci">double fact(double x)</div><div class="ttdef"><b>Definition:</b> poisson_dist.cpp:30</div></div>
|
||||
<div class="ttc" id="aexp_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/numeric/math/exp.html">std::exp</a></div><div class="ttdeci">T exp(T... args)</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="agetline_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/string/basic_string/getline.html">std::getline</a></div><div class="ttdeci">T getline(T... args)</div></div>
|
||||
<div class="ttc" id="anamespacestd_html"><div class="ttname"><a href="../../d8/dcc/namespacestd.html">std</a></div><div class="ttdoc">STL namespace.</div></div>
|
||||
<div class="ttc" id="aaddition__rule_8cpp_html_a4adfd055c758546456d440ee9133555d"><div class="ttname"><a href="../../d6/d4a/addition__rule_8cpp.html#a4adfd055c758546456d440ee9133555d">addition_rule_independent</a></div><div class="ttdeci">double addition_rule_independent(double A, double B)</div><div class="ttdef"><b>Definition:</b> addition_rule.cpp:14</div></div>
|
||||
<div class="ttc" id="atower__of__hanoi_8cpp_html_a746d9a3984bba88fd6dd91978f6931ed"><div class="ttname"><a href="../../db/d3c/tower__of__hanoi_8cpp.html#a746d9a3984bba88fd6dd91978f6931ed">show</a></div><div class="ttdeci">void show(const struct tower *const F, const struct tower *const T, const struct tower *const U)</div><div class="ttdef"><b>Definition:</b> tower_of_hanoi.cpp:19</div></div>
|
||||
<div class="ttc" id="asparse__matrix_8cpp_html_ae66f6b31b5ad750f1fe042a706a4e3d4"><div class="ttname"><a href="../../d3/d19/sparse__matrix_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a></div><div class="ttdeci">int main()</div><div class="ttdef"><b>Definition:</b> sparse_matrix.cpp:9</div></div>
|
||||
<div class="ttc" id="asmallest__circle_8cpp_html_ae1a3968e7947464bee7714f6d43b7002"><div class="ttname"><a href="../../d0/d01/smallest__circle_8cpp.html#ae1a3968e7947464bee7714f6d43b7002">test</a></div><div class="ttdeci">void test()</div><div class="ttdef"><b>Definition:</b> smallest_circle.cpp:158</div></div>
|
||||
<div class="ttc" id="astructcompare_html"><div class="ttname"><a href="../../d1/db3/structcompare.html">compare</a></div><div class="ttdef"><b>Definition:</b> huffman.cpp:28</div></div>
|
||||
<div class="ttc" id="aspiral__print_8cpp_html_ae66f6b31b5ad750f1fe042a706a4e3d4"><div class="ttname"><a href="../../db/d07/spiral__print_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a></div><div class="ttdeci">int main()</div><div class="ttdef"><b>Definition:</b> spiral_print.cpp:69</div></div>
|
||||
<div class="ttc" id="aparanthesis__matching_8cpp_html_a392fb874e547e582e9c66a08a1f23326"><div class="ttname"><a href="../../dc/dc5/paranthesis__matching_8cpp.html#a392fb874e547e582e9c66a08a1f23326">MAX</a></div><div class="ttdeci">#define MAX</div><div class="ttdef"><b>Definition:</b> paranthesis_matching.cpp:16</div></div>
|
||||
<div class="ttc" id="aclassstack_html"><div class="ttname"><a href="../../d1/dc2/classstack.html">stack</a></div><div class="ttdef"><b>Definition:</b> stack.h:26</div></div>
|
||||
<div class="ttc" id="amatrix__exponentiation_8cpp_html_a5769b745458157ef2679949155684f3b"><div class="ttname"><a href="../../d7/d35/matrix__exponentiation_8cpp.html#a5769b745458157ef2679949155684f3b">power</a></div><div class="ttdeci">vector< vector< ll > > power(const vector< vector< ll >> &A, ll p)</div><div class="ttdef"><b>Definition:</b> matrix_exponentiation.cpp:76</div></div>
|
||||
<div class="ttc" id="asuccessive__approximation_8cpp_html_ae66f6b31b5ad750f1fe042a706a4e3d4"><div class="ttname"><a href="../../df/dc8/successive__approximation_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a></div><div class="ttdeci">int main()</div><div class="ttdef"><b>Definition:</b> successive_approximation.cpp:20</div></div>
|
||||
<div class="ttc" id="acount_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/algorithm/count.html">std::count</a></div><div class="ttdeci">T count(T... args)</div></div>
|
||||
<div class="ttc" id="alinear__search_8cpp_html_a84ac3988a534eb60ca351ed6caf56d84"><div class="ttname"><a href="../../d9/d02/linear__search_8cpp.html#a84ac3988a534eb60ca351ed6caf56d84">LinearSearch</a></div><div class="ttdeci">int LinearSearch(int *array, int size, int key)</div><div class="ttdef"><b>Definition:</b> linear_search.cpp:16</div></div>
|
||||
<div class="ttc" id="aassign_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/assign.html">std::vector::assign</a></div><div class="ttdeci">T assign(T... args)</div></div>
|
||||
<div class="ttc" id="aprimality__test_8cpp_html_a2bfa6adead2bdcbf1dac94cbe08d7eaf"><div class="ttname"><a href="../../da/d7b/primality__test_8cpp.html#a2bfa6adead2bdcbf1dac94cbe08d7eaf">IsPrime</a></div><div class="ttdeci">bool IsPrime(int number)</div><div class="ttdef"><b>Definition:</b> primality_test.cpp:18</div></div>
|
||||
<div class="ttc" id="abinomial__dist_8cpp_html_a78d36635232e54b5d71fcbf1eac9a49a"><div class="ttname"><a href="../../d6/db0/binomial__dist_8cpp.html#a78d36635232e54b5d71fcbf1eac9a49a">nCr</a></div><div class="ttdeci">double nCr(double n, double r)</div><div class="ttdef"><b>Definition:</b> binomial_dist.cpp:47</div></div>
|
||||
<div class="ttc" id="astructtower_html_a3ebb75c13c57d51a8a1ba1ea54a515e9"><div class="ttname"><a href="../../d2/d2c/structtower.html#a3ebb75c13c57d51a8a1ba1ea54a515e9">tower::values</a></div><div class="ttdeci">int values[10]</div><div class="ttdoc">Values in the tower.</div><div class="ttdef"><b>Definition:</b> tower_of_hanoi.cpp:13</div></div>
|
||||
<div class="ttc" id="anamespaceqr__algorithm_html_ab1ac74497ffb2101040cc1efe3546de8"><div class="ttname"><a href="../../d2/d3b/namespaceqr__algorithm.html#ab1ac74497ffb2101040cc1efe3546de8">qr_algorithm::qr_decompose</a></div><div class="ttdeci">void qr_decompose(const std::valarray< std::valarray< T >> &A, std::valarray< std::valarray< T >> *Q, std::valarray< std::valarray< T >> *R)</div><div class="ttdef"><b>Definition:</b> qr_decompose.h:146</div></div>
|
||||
<div class="ttc" id="aspiral__print_8cpp_html_acfff36db81326fb990a643ab198ee8a5"><div class="ttname"><a href="../../db/d07/spiral__print_8cpp.html#acfff36db81326fb990a643ab198ee8a5">genArray</a></div><div class="ttdeci">void genArray(int **a, int r, int c)</div><div class="ttdef"><b>Definition:</b> spiral_print.cpp:12</div></div>
|
||||
<div class="ttc" id="acomb__sort_8cpp_html_ae66f6b31b5ad750f1fe042a706a4e3d4"><div class="ttname"><a href="../../d9/dfd/comb__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a></div><div class="ttdeci">int main()</div><div class="ttdef"><b>Definition:</b> comb_sort.cpp:88</div></div>
|
||||
<div class="ttc" id="ainterpolation__search_8cpp_html_ae66f6b31b5ad750f1fe042a706a4e3d4"><div class="ttname"><a href="../../d9/dd7/interpolation__search_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a></div><div class="ttdeci">int main()</div><div class="ttdef"><b>Definition:</b> interpolation_search.cpp:37</div></div>
|
||||
<div class="ttc" id="astring__fibonacci_8cpp_html_a28052eee05d43c2ebc5147c52bd50c35"><div class="ttname"><a href="../../de/d47/string__fibonacci_8cpp.html#a28052eee05d43c2ebc5147c52bd50c35">add</a></div><div class="ttdeci">std::string add(std::string a, std::string b)</div><div class="ttdef"><b>Definition:</b> string_fibonacci.cpp:24</div></div>
|
||||
<div class="ttc" id="atime_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/chrono/c/time.html">std::time</a></div><div class="ttdeci">T time(T... args)</div></div>
|
||||
<div class="ttc" id="aaddition__rule_8cpp_html_ae66f6b31b5ad750f1fe042a706a4e3d4"><div class="ttname"><a href="../../d6/d4a/addition__rule_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a></div><div class="ttdeci">int main()</div><div class="ttdef"><b>Definition:</b> addition_rule.cpp:30</div></div>
|
||||
<div class="ttc" id="adecimal__to__roman__numeral_8cpp_html_a214743638eff1336f835310049aef979"><div class="ttname"><a href="../../de/d85/decimal__to__roman__numeral_8cpp.html#a214743638eff1336f835310049aef979">toupperRoman</a></div><div class="ttdeci">std::string toupperRoman(int n)</div><div class="ttdef"><b>Definition:</b> decimal_to_roman_numeral.cpp:58</div></div>
|
||||
<div class="ttc" id="aqr__eigen__values_8cpp_html_aee57a411f07599034f5ceb8cc7d65b40"><div class="ttname"><a href="../../de/d75/qr__eigen__values_8cpp.html#aee57a411f07599034f5ceb8cc7d65b40">LIMS</a></div><div class="ttdeci">#define LIMS</div><div class="ttdef"><b>Definition:</b> qr_eigen_values.cpp:20</div></div>
|
||||
<div class="ttc" id="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="abayes__theorem_8cpp_html_a655bfe51252468d232dc639a340656ba"><div class="ttname"><a href="../../d5/d67/bayes__theorem_8cpp.html#a655bfe51252468d232dc639a340656ba">bayes_AgivenB</a></div><div class="ttdeci">double bayes_AgivenB(double BgivenA, double A, double B)</div><div class="ttdef"><b>Definition:</b> bayes_theorem.cpp:14</div></div>
|
||||
<div class="ttc" id="aclass_fenwick_tree_html_ade1d6a3d49af9d9df33e2fb26cab1699"><div class="ttname"><a href="../../dd/d91/class_fenwick_tree.html#ade1d6a3d49af9d9df33e2fb26cab1699">FenwickTree::sum</a></div><div class="ttdeci">int sum(int id)</div><div class="ttdef"><b>Definition:</b> fenwick_tree.cpp:54</div></div>
|
||||
<div class="ttc" id="asetw_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/manip/setw.html">std::setw</a></div><div class="ttdeci">T setw(T... args)</div></div>
|
||||
<div class="ttc" id="aquick__sort_8cpp_html_ae66f6b31b5ad750f1fe042a706a4e3d4"><div class="ttname"><a href="../../d1/d21/quick__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a></div><div class="ttdeci">int main()</div><div class="ttdef"><b>Definition:</b> quick_sort.cpp:82</div></div>
|
||||
<div class="ttc" id="amax_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/algorithm/max.html">std::max</a></div><div class="ttdeci">T max(T... args)</div></div>
|
||||
<div class="ttc" id="aclass_fenwick_tree_html_a70f8c261393ca09ec1ad716ac806ead6"><div class="ttname"><a href="../../dd/d91/class_fenwick_tree.html#a70f8c261393ca09ec1ad716ac806ead6">FenwickTree::FenwickTree</a></div><div class="ttdeci">FenwickTree(int x)</div><div class="ttdef"><b>Definition:</b> fenwick_tree.cpp:39</div></div>
|
||||
<div class="ttc" id="astruct_point_html_ae2d6fb1b3fd3a96169d963d62e37130a"><div class="ttname"><a href="../../d8/dc8/struct_point.html#ae2d6fb1b3fd3a96169d963d62e37130a">Point::Point</a></div><div class="ttdeci">Point(double a=0.f, double b=0.f)</div><div class="ttdef"><b>Definition:</b> smallest_circle.cpp:23</div></div>
|
||||
<div class="ttc" id="aprimality__test_8cpp_html_ae66f6b31b5ad750f1fe042a706a4e3d4"><div class="ttname"><a href="../../da/d7b/primality__test_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a></div><div class="ttdeci">int main()</div><div class="ttdef"><b>Definition:</b> primality_test.cpp:31</div></div>
|
||||
<div class="ttc" id="astructlist_html_a1900fe79e875e2838625b2eb60837f8f"><div class="ttname"><a href="../../d8/d10/structlist.html#a1900fe79e875e2838625b2eb60837f8f">list::next</a></div><div class="ttdeci">struct list * next</div><div class="ttdoc">pointer to next link in the chain</div><div class="ttdef"><b>Definition:</b> hash_search.cpp:31</div></div>
|
||||
<div class="ttc" id="astructtower_html_acb535964abd34c47678a4ade0628223d"><div class="ttname"><a href="../../d2/d2c/structtower.html#acb535964abd34c47678a4ade0628223d">tower::top</a></div><div class="ttdeci">int top</div><div class="ttdoc">top tower ID</div><div class="ttdef"><b>Definition:</b> tower_of_hanoi.cpp:15</div></div>
|
||||
<div class="ttc" id="astruct_point_html"><div class="ttname"><a href="../../d8/dc8/struct_point.html">Point</a></div><div class="ttdef"><b>Definition:</b> line_segment_intersection.cpp:12</div></div>
|
||||
<div class="ttc" id="atower__of__hanoi_8cpp_html_ab037f72a5eac476535a6cfbbcb965417"><div class="ttname"><a href="../../db/d3c/tower__of__hanoi_8cpp.html#ab037f72a5eac476535a6cfbbcb965417">TH</a></div><div class="ttdeci">void TH(int n, tower *From, tower *Using, tower *To)</div><div class="ttdef"><b>Definition:</b> tower_of_hanoi.cpp:52</div></div>
|
||||
<div class="ttc" id="ainterpolation__search_8cpp_html_a9805865b5c5ca6b0fdf95fd86132625a"><div class="ttname"><a href="../../d9/dd7/interpolation__search_8cpp.html#a9805865b5c5ca6b0fdf95fd86132625a">interpolation_search</a></div><div class="ttdeci">int interpolation_search(int arr[], int value, int len)</div><div class="ttdef"><b>Definition:</b> interpolation_search.cpp:15</div></div>
|
||||
<div class="ttc" id="aparanthesis__matching_8cpp_html_aae41c72130114bf31204cde6873b6095"><div class="ttname"><a href="../../dc/dc5/paranthesis__matching_8cpp.html#aae41c72130114bf31204cde6873b6095">push</a></div><div class="ttdeci">void push(char ch)</div><div class="ttdoc">push byte to stack variable</div><div class="ttdef"><b>Definition:</b> paranthesis_matching.cpp:26</div></div>
|
||||
<div class="ttc" id="agroup__sorting_html_gae66f6b31b5ad750f1fe042a706a4e3d4"><div class="ttname"><a href="../../d5/d4c/group__sorting.html#gae66f6b31b5ad750f1fe042a706a4e3d4">main</a></div><div class="ttdeci">int main()</div><div class="ttdef"><b>Definition:</b> merge_sort.cpp:102</div></div>
|
||||
<div class="ttc" id="aparanthesis__matching_8cpp_html_a6d25c7dfbfeb52c3cb9d1b56ab49b664"><div class="ttname"><a href="../../dc/dc5/paranthesis__matching_8cpp.html#a6d25c7dfbfeb52c3cb9d1b56ab49b664">pop</a></div><div class="ttdeci">char pop()</div><div class="ttdoc">pop a byte out of stack variable</div><div class="ttdef"><b>Definition:</b> paranthesis_matching.cpp:29</div></div>
|
||||
<div class="ttc" id="ainterpolation__search2_8cpp_html_aa3ec659ec8394d186c761df81ad1f629"><div class="ttname"><a href="../../df/d39/interpolation__search2_8cpp.html#aa3ec659ec8394d186c761df81ad1f629">InterpolationSearch</a></div><div class="ttdeci">int InterpolationSearch(int A[], int n, int x)</div><div class="ttdef"><b>Definition:</b> interpolation_search2.cpp:15</div></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="apoisson__dist_8cpp_html_ad0aa718023ce802dd5899f0e03a7ac71"><div class="ttname"><a href="../../d9/d24/poisson__dist_8cpp.html#ad0aa718023ce802dd5899f0e03a7ac71">poisson_expected</a></div><div class="ttdeci">double poisson_expected(double rate, double time)</div><div class="ttdef"><b>Definition:</b> poisson_dist.cpp:25</div></div>
|
||||
<div class="ttc" id="apoisson__dist_8cpp_html_a69a136b32707bdc7950fb9057b5fa1e1"><div class="ttname"><a href="../../d9/d24/poisson__dist_8cpp.html#a69a136b32707bdc7950fb9057b5fa1e1">poisson_x_successes</a></div><div class="ttdeci">double poisson_x_successes(double expected, double x)</div><div class="ttdef"><b>Definition:</b> poisson_dist.cpp:46</div></div>
|
||||
<div class="ttc" id="arabin__karp_8cpp_html_a840291bc02cba5474a4cb46a9b9566fe"><div class="ttname"><a href="../../d6/dce/rabin__karp_8cpp.html#a840291bc02cba5474a4cb46a9b9566fe">main</a></div><div class="ttdeci">int main(void)</div><div class="ttdef"><b>Definition:</b> rabin_karp.cpp:105</div></div>
|
||||
<div class="ttc" id="anamespacesorting_html_a50b66a1c652291b9a346ec7342967178"><div class="ttname"><a href="../../d5/d91/namespacesorting.html#a50b66a1c652291b9a346ec7342967178">sorting::quickSort</a></div><div class="ttdeci">void quickSort(int arr[], int low, int high)</div><div class="ttdef"><b>Definition:</b> quick_sort.cpp:63</div></div>
|
||||
<div class="ttc" id="anumeric_limits_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/types/numeric_limits.html">std::numeric_limits</a></div></div>
|
||||
<div class="ttc" id="anamespacestring__search_html_aa422aab133d4ed5e5d6022a7f701271f"><div class="ttname"><a href="../../d9/d03/namespacestring__search.html#aa422aab133d4ed5e5d6022a7f701271f">string_search::getFailureArray</a></div><div class="ttdeci">std::vector< int > getFailureArray(const std::string &pattern)</div><div class="ttdef"><b>Definition:</b> knuth_morris_pratt.cpp:33</div></div>
|
||||
<div class="ttc" id="apascal__triangle_8cpp_html_ad7a31d9cb2818d21b1ba12aead7f4c5c"><div class="ttname"><a href="../../dc/d1a/pascal__triangle_8cpp.html#ad7a31d9cb2818d21b1ba12aead7f4c5c">show_pascal</a></div><div class="ttdeci">void show_pascal(int **arr, int n)</div><div class="ttdef"><b>Definition:</b> pascal_triangle.cpp:18</div></div>
|
||||
<div class="ttc" id="anamespacestring__search_html_a21c673d56cbf67b1d2ee4d869185b7d9"><div class="ttname"><a href="../../d9/d03/namespacestring__search.html#a21c673d56cbf67b1d2ee4d869185b7d9">string_search::rabin_karp</a></div><div class="ttdeci">int rabin_karp(const std::string &str, const std::string &pat)</div><div class="ttdef"><b>Definition:</b> rabin_karp.cpp:83</div></div>
|
||||
<div class="ttc" id="aternary__search_8cpp_html_a7f7d866eccdabe51bb16818a792618b1"><div class="ttname"><a href="../../dc/dfe/ternary__search_8cpp.html#a7f7d866eccdabe51bb16818a792618b1">get_input</a></div><div class="ttdeci">void get_input()</div><div class="ttdef"><b>Definition:</b> ternary_search.cpp:36</div></div>
|
||||
<div class="ttc" id="asmallest__circle_8cpp_html_aee6d48762c1dfb9f14627927f0c16fad"><div class="ttname"><a href="../../d0/d01/smallest__circle_8cpp.html#aee6d48762c1dfb9f14627927f0c16fad">PointInCircle</a></div><div class="ttdeci">bool PointInCircle(const std::vector< Point > &P, const Point &Center, double R)</div><div class="ttdef"><b>Definition:</b> smallest_circle.cpp:72</div></div>
|
||||
<div class="ttc" id="agetchar_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/c/getchar.html">std::getchar</a></div><div class="ttdeci">T getchar(T... args)</div></div>
|
||||
<div class="ttc" id="acomb__sort_8cpp_html_a88ec9ad42717780d6caaff9d3d6977f9"><div class="ttname"><a href="../../d9/dfd/comb__sort_8cpp.html#a88ec9ad42717780d6caaff9d3d6977f9">tests</a></div><div class="ttdeci">void tests()</div><div class="ttdef"><b>Definition:</b> comb_sort.cpp:73</div></div>
|
||||
<div class="ttc" id="astructlist_html"><div class="ttname"><a href="../../d8/d10/structlist.html">list</a></div><div class="ttdef"><b>Definition:</b> list_array.cpp:8</div></div>
|
||||
<div class="ttc" id="amemset_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/string/byte/memset.html">std::memset</a></div><div class="ttdeci">T memset(T... args)</div></div>
|
||||
<div class="ttc" id="abinomial__dist_8cpp_html_acd4dd4558031e4c5d045c801f73d8861"><div class="ttname"><a href="../../d6/db0/binomial__dist_8cpp.html#acd4dd4558031e4c5d045c801f73d8861">binomial_variance</a></div><div class="ttdeci">double binomial_variance(double n, double p)</div><div class="ttdef"><b>Definition:</b> binomial_dist.cpp:29</div></div>
|
||||
<div class="ttc" id="anext_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/iterator/next.html">std::next</a></div><div class="ttdeci">T next(T... args)</div></div>
|
||||
<div class="ttc" id="anamespacesorting_html_af2c5b92cbfe73f63f6074c61b0a45331"><div class="ttname"><a href="../../d5/d91/namespacesorting.html#af2c5b92cbfe73f63f6074c61b0a45331">sorting::shell_sort</a></div><div class="ttdeci">void shell_sort(std::vector< T > *arr)</div><div class="ttdef"><b>Definition:</b> shell_sort2.cpp:75</div></div>
|
||||
<div class="ttc" id="afast__interger__input_8cpp_html_a4e097ac8509b717bdc8ab09ecd86ae82"><div class="ttname"><a href="../../d4/de8/fast__interger__input_8cpp.html#a4e097ac8509b717bdc8ab09ecd86ae82">fastinput</a></div><div class="ttdeci">void fastinput(int *number)</div><div class="ttdef"><b>Definition:</b> fast_interger_input.cpp:11</div></div>
|
||||
<div class="ttc" id="apow_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/numeric/math/pow.html">std::pow</a></div><div class="ttdeci">T pow(T... args)</div></div>
|
||||
<!-- 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="../../d7/db9/hill__cipher_8cpp.html">hill_cipher.cpp</a></li>
|
||||
<li class="footer">Generated by
|
||||
<a href="http://www.doxygen.org/index.html">
|
||||
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.18 </li>
|
||||
</ul>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
9
d7/db9/hill__cipher_8cpp.js
Normal file
@@ -0,0 +1,9 @@
|
||||
var hill__cipher_8cpp =
|
||||
[
|
||||
[ "HillCipher", "d6/d26/classciphers_1_1_hill_cipher.html", "d6/d26/classciphers_1_1_hill_cipher" ],
|
||||
[ "main", "d7/db9/hill__cipher_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4", null ],
|
||||
[ "operator<<", "d7/db9/hill__cipher_8cpp.html#aeff09ac6b8f060c828354394a3189519", null ],
|
||||
[ "test1", "d7/db9/hill__cipher_8cpp.html#a3147ad576f8a94a2a6b66948672b452b", null ],
|
||||
[ "test2", "d7/db9/hill__cipher_8cpp.html#a04391124480d2a49f2dec900237b0712", null ],
|
||||
[ "STRKEY", "d7/db9/hill__cipher_8cpp.html#ab9aec0ccf4b6809f652bb540be87c216", null ]
|
||||
];
|
||||
@@ -0,0 +1,28 @@
|
||||
<map id="test2" name="test2">
|
||||
<area shape="rect" id="node1" title="Self test 2 - using 8x8 randomly generated key." alt="" coords="5,263,56,289"/>
|
||||
<area shape="rect" id="node2" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/io/basic_ofstream/close.html#" title=" " alt="" coords="104,5,243,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/compare.html#" title=" " alt="" coords="104,56,243,83"/>
|
||||
<area shape="rect" id="node4" href="$d6/d26/classciphers_1_1_hill_cipher.html#a427acfac1dbff3f48a2b071d449d965b" title="Decrypt a given text using a given key." alt="" coords="109,683,238,725"/>
|
||||
<area shape="rect" id="node8" 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="531,929,654,956"/>
|
||||
<area shape="rect" id="node10" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/size.html#" title=" " alt="" coords="891,427,1007,453"/>
|
||||
<area shape="rect" id="node11" href="$d6/d26/classciphers_1_1_hill_cipher.html#aa8bbb6e4a5749f6008b06602d5103917" title="Encrypt a given text using a given key." alt="" coords="109,490,238,531"/>
|
||||
<area shape="rect" id="node12" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/io/manip/endl.html#" title=" " alt="" coords="745,187,817,213"/>
|
||||
<area shape="rect" id="node13" href="$d6/d26/classciphers_1_1_hill_cipher.html#a14bfcd14af6cd853130cbacd32e35c13" title="Generate encryption and decryption key pair." alt="" coords="109,361,238,402"/>
|
||||
<area shape="rect" id="node5" href="$d6/d26/classciphers_1_1_hill_cipher.html#ad667fa0860977f6d6d443fa1dbcd80aa" title="Convenience function to perform block cipher operations. The operations are identical for both encryp..." alt="" coords="313,777,443,818"/>
|
||||
<area shape="rect" id="node6" href="$d6/d26/classciphers_1_1_hill_cipher.html#ae77cad522fa44b8c985779a7188d2f41" title="Get the index of a character in the STRKEY." alt="" coords="528,747,657,789"/>
|
||||
<area shape="rect" id="node9" href="$d6/d26/classciphers_1_1_hill_cipher.html#a40efd842a5cc44c233641ac2df13b0c0" title="helper function to perform vector multiplication with encryption or decryption matrix" alt="" coords="528,813,657,854"/>
|
||||
<area shape="rect" id="node7" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/string/byte/strlen.html#" title=" " alt="" coords="741,725,821,752"/>
|
||||
<area shape="rect" id="node14" href="$d1/dbe/lu__decomposition_8h.html#a3108d43bd32c6fb3b3c158476c51ba7f" title=" " alt="" coords="539,427,646,453"/>
|
||||
<area shape="rect" id="node16" href="$d6/d26/classciphers_1_1_hill_cipher.html#abb2c4dc2b8a59d3dfe0fa22c2adc086b" title="Generate decryption matrix from an encryption matrix key." alt="" coords="291,361,465,402"/>
|
||||
<area shape="rect" id="node20" href="$d6/d26/classciphers_1_1_hill_cipher.html#a7ca10cd1a0e8e3732391e0427d2d0213" title="Generate encryption matrix of a given size. Larger size matrices are difficult to generate but provid..." alt="" coords="291,587,465,629"/>
|
||||
<area shape="rect" id="node26" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/utility/pair/make_pair.html#" title=" " alt="" coords="324,309,432,336"/>
|
||||
<area shape="rect" id="node15" href="$d1/dbe/lu__decomposition_8h.html#a75b8a228c6419ecda6077255d6d60509" title=" " alt="" coords="720,427,843,453"/>
|
||||
<area shape="rect" id="node17" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/utility/program/exit.html#" title=" " alt="" coords="558,275,627,301"/>
|
||||
<area shape="rect" id="node18" href="$d6/d26/classciphers_1_1_hill_cipher.html#a5a4cdbd4d4dad9efe2ed309bd466dd4b" title=" " alt="" coords="528,209,657,250"/>
|
||||
<area shape="rect" id="node19" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/numeric/math/round.html#" title=" " alt="" coords="553,325,633,352"/>
|
||||
<area shape="rect" id="node21" href="$d6/d26/classciphers_1_1_hill_cipher.html#a7760f3665651a0a37937c79c62f219c0" title="Compute GCD of two integers using Euler's algorithm." alt="" coords="513,595,672,621"/>
|
||||
<area shape="rect" id="node23" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/numeric/math/isfinite.html#" title=" " alt="" coords="549,645,636,672"/>
|
||||
<area shape="rect" id="node24" href="$d6/d26/classciphers_1_1_hill_cipher.html#a629be41c1ab78850963e4ce14e1d11d9" title="Function to generate a random integer in a given interval." alt="" coords="528,478,657,519"/>
|
||||
<area shape="rect" id="node22" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/algorithm/swap.html#" title=" " alt="" coords="742,595,821,621"/>
|
||||
<area shape="rect" id="node25" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/numeric/random/rand.html#" title=" " alt="" coords="745,528,818,555"/>
|
||||
</map>
|
||||
@@ -0,0 +1 @@
|
||||
3a02a91d1033a360ffc54da6154b006a
|
||||
@@ -0,0 +1,573 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.44.0 (20200408.0750)
|
||||
-->
|
||||
<!-- Title: test2 Pages: 1 -->
|
||||
<!--zoomable 721 -->
|
||||
<svg id="main" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" onload="init(evt)">
|
||||
<style type="text/css"><![CDATA[
|
||||
.edge:hover path { stroke: red; }
|
||||
.edge:hover polygon { stroke: red; fill: red; }
|
||||
]]></style>
|
||||
<script type="text/javascript"><![CDATA[
|
||||
var edges = document.getElementsByTagName('g');
|
||||
if (edges && edges.length) {
|
||||
for (var i=0;i<edges.length;i++) {
|
||||
if (edges[i].id.substr(0,4)=='edge') {
|
||||
edges[i].setAttribute('class','edge');
|
||||
}
|
||||
}
|
||||
}
|
||||
]]></script>
|
||||
<defs>
|
||||
<circle id="rim" cx="0" cy="0" r="7"/>
|
||||
<circle id="rim2" cx="0" cy="0" r="3.5"/>
|
||||
<g id="zoomPlus">
|
||||
<use xlink:href="#rim" fill="#404040">
|
||||
<set attributeName="fill" to="#808080" begin="zoomplus.mouseover" end="zoomplus.mouseout"/>
|
||||
</use>
|
||||
<path d="M-4,0h8M0,-4v8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
|
||||
</g>
|
||||
<g id="zoomMin">
|
||||
<use xlink:href="#rim" fill="#404040">
|
||||
<set attributeName="fill" to="#808080" begin="zoomminus.mouseover" end="zoomminus.mouseout"/>
|
||||
</use>
|
||||
<path d="M-4,0h8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
|
||||
</g>
|
||||
<g id="dirArrow">
|
||||
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
|
||||
</g>
|
||||
<g id="resetDef">
|
||||
<use xlink:href="#rim2" fill="#404040">
|
||||
<set attributeName="fill" to="#808080" begin="reset.mouseover" end="reset.mouseout"/>
|
||||
</use>
|
||||
</g>
|
||||
</defs>
|
||||
|
||||
<script type="text/javascript">
|
||||
var viewWidth = 759;
|
||||
var viewHeight = 721;
|
||||
var sectionId = 'dynsection-4';
|
||||
</script>
|
||||
<script xlink:href="../../svgpan.js"/>
|
||||
<svg id="graph" class="graph">
|
||||
<g id="viewport">
|
||||
<title>test2</title>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-717 755,-717 755,4 -4,4"/>
|
||||
<!-- Node1 -->
|
||||
<g id="node1" class="node">
|
||||
<title>Node1</title>
|
||||
<g id="a_node1"><a xlink:title="Self test 2 - using 8x8 randomly generated key.">
|
||||
<polygon fill="#bfbfbf" stroke="black" points="0,-500.5 0,-519.5 38,-519.5 38,-500.5 0,-500.5"/>
|
||||
<text text-anchor="middle" x="19" y="-507.5" font-family="Helvetica,sans-Serif" font-size="10.00">test2</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/basic_ofstream/close.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="74,-693.5 74,-712.5 178,-712.5 178,-693.5 74,-693.5"/>
|
||||
<text text-anchor="middle" x="126" y="-700.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::ofstream::close</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node2 -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>Node1->Node2</title>
|
||||
<path fill="none" stroke="midnightblue" d="M20.17,-519.74C21.19,-548.75 28.14,-635.51 74,-684 75.39,-685.47 76.9,-686.82 78.5,-688.07"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="76.84,-691.16 87.17,-693.5 80.55,-685.22 76.84,-691.16"/>
|
||||
</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/compare.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="74,-655.5 74,-674.5 178,-674.5 178,-655.5 74,-655.5"/>
|
||||
<text text-anchor="middle" x="126" y="-662.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::string::compare</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node3 -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>Node1->Node3</title>
|
||||
<path fill="none" stroke="midnightblue" d="M21.5,-519.52C25.65,-543.05 39.39,-604.66 74,-641 77.58,-644.76 81.86,-647.99 86.4,-650.75"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="84.87,-653.9 95.34,-655.49 88.15,-647.71 84.87,-653.9"/>
|
||||
</g>
|
||||
<!-- Node4 -->
|
||||
<g id="node4" class="node">
|
||||
<title>Node4</title>
|
||||
<g id="a_node4"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#a427acfac1dbff3f48a2b071d449d965b" target="_top" xlink:title="Decrypt a given text using a given key.">
|
||||
<polygon fill="white" stroke="black" points="77.5,-174 77.5,-204 174.5,-204 174.5,-174 77.5,-174"/>
|
||||
<text text-anchor="start" x="85.5" y="-192" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
|
||||
<text text-anchor="middle" x="126" y="-181" font-family="Helvetica,sans-Serif" font-size="10.00">::decrypt_text</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node4 -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>Node1->Node4</title>
|
||||
<path fill="none" stroke="midnightblue" d="M22.13,-500.29C28.64,-471.1 49.32,-381.76 74,-310 85.8,-275.71 102.63,-237.31 113.68,-213.15"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="116.88,-214.57 117.89,-204.02 110.52,-211.64 116.88,-214.57"/>
|
||||
</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/string/basic_string/size.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="394.5,-0.5 394.5,-19.5 486.5,-19.5 486.5,-0.5 394.5,-0.5"/>
|
||||
<text text-anchor="middle" x="440.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::string::length</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node8 -->
|
||||
<g id="edge37" class="edge">
|
||||
<title>Node1->Node8</title>
|
||||
<path fill="none" stroke="midnightblue" d="M20.35,-500.19C22.29,-449.86 33.3,-220.67 74,-165 148.09,-63.64 301.79,-28.05 384.3,-15.95"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="384.82,-19.41 394.24,-14.56 383.85,-12.48 384.82,-19.41"/>
|
||||
</g>
|
||||
<!-- Node10 -->
|
||||
<g id="node10" class="node">
|
||||
<title>Node10</title>
|
||||
<g id="a_node10"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/size.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="664,-377.5 664,-396.5 751,-396.5 751,-377.5 664,-377.5"/>
|
||||
<text text-anchor="middle" x="707.5" y="-384.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::size</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node10 -->
|
||||
<g id="edge38" class="edge">
|
||||
<title>Node1->Node10</title>
|
||||
<path fill="none" stroke="midnightblue" d="M31.52,-519.57C66.35,-547.52 174.56,-627 278.5,-627 278.5,-627 278.5,-627 441.5,-627 526.37,-627 563.4,-641.04 628,-586 683.44,-538.76 700,-447.12 704.72,-406.83"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="708.22,-407 705.78,-396.69 701.26,-406.28 708.22,-407"/>
|
||||
</g>
|
||||
<!-- Node11 -->
|
||||
<g id="node11" class="node">
|
||||
<title>Node11</title>
|
||||
<g id="a_node11"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#aa8bbb6e4a5749f6008b06602d5103917" target="_top" xlink:title="Encrypt a given text using a given key.">
|
||||
<polygon fill="white" stroke="black" points="77.5,-319 77.5,-349 174.5,-349 174.5,-319 77.5,-319"/>
|
||||
<text text-anchor="start" x="85.5" y="-337" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
|
||||
<text text-anchor="middle" x="126" y="-326" font-family="Helvetica,sans-Serif" font-size="10.00">::encrypt_text</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node11 -->
|
||||
<g id="edge12" class="edge">
|
||||
<title>Node1->Node11</title>
|
||||
<path fill="none" stroke="midnightblue" d="M24.52,-500.41C33.34,-481.93 53.75,-440.3 74,-407 84.44,-389.83 97.43,-371.27 107.69,-357.16"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="110.58,-359.14 113.68,-349 104.94,-354.99 110.58,-359.14"/>
|
||||
</g>
|
||||
<!-- Node12 -->
|
||||
<g id="node12" class="node">
|
||||
<title>Node12</title>
|
||||
<g id="a_node12"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/io/manip/endl.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="555,-557.5 555,-576.5 609,-576.5 609,-557.5 555,-557.5"/>
|
||||
<text text-anchor="middle" x="582" y="-564.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::endl</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node12 -->
|
||||
<g id="edge14" class="edge">
|
||||
<title>Node1->Node12</title>
|
||||
<path fill="none" stroke="midnightblue" d="M38.28,-514.14C91.04,-525.84 248.35,-559.05 381,-570 433.71,-574.35 447.12,-570.98 500,-570 514.58,-569.73 530.62,-569.19 544.55,-568.64"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="544.89,-572.13 554.74,-568.22 544.61,-565.13 544.89,-572.13"/>
|
||||
</g>
|
||||
<!-- Node13 -->
|
||||
<g id="node13" class="node">
|
||||
<title>Node13</title>
|
||||
<g id="a_node13"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#a14bfcd14af6cd853130cbacd32e35c13" target="_top" xlink:title="Generate encryption and decryption key pair.">
|
||||
<polygon fill="white" stroke="black" points="77.5,-416 77.5,-446 174.5,-446 174.5,-416 77.5,-416"/>
|
||||
<text text-anchor="start" x="85.5" y="-434" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
|
||||
<text text-anchor="middle" x="126" y="-423" font-family="Helvetica,sans-Serif" font-size="10.00">::generate_keys</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node13 -->
|
||||
<g id="edge15" class="edge">
|
||||
<title>Node1->Node13</title>
|
||||
<path fill="none" stroke="midnightblue" d="M32.88,-500.31C48.66,-488.44 75.88,-467.96 96.65,-452.33"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="98.93,-454.99 104.82,-446.19 94.72,-449.4 98.93,-454.99"/>
|
||||
</g>
|
||||
<!-- Node5 -->
|
||||
<g id="node5" class="node">
|
||||
<title>Node5</title>
|
||||
<g id="a_node5"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#ad667fa0860977f6d6d443fa1dbcd80aa" target="_top" xlink:title="Convenience function to perform block cipher operations. The operations are identical for both encryp...">
|
||||
<polygon fill="white" stroke="black" points="231,-104 231,-134 328,-134 328,-104 231,-104"/>
|
||||
<text text-anchor="start" x="239" y="-122" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
|
||||
<text text-anchor="middle" x="279.5" y="-111" font-family="Helvetica,sans-Serif" font-size="10.00">::codec</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node4->Node5 -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>Node4->Node5</title>
|
||||
<path fill="none" stroke="midnightblue" d="M159.5,-173.98C181.99,-163.59 212.13,-149.67 236.45,-138.43"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="238.18,-141.48 245.79,-134.11 235.25,-135.13 238.18,-141.48"/>
|
||||
</g>
|
||||
<!-- Node6 -->
|
||||
<g id="node6" class="node">
|
||||
<title>Node6</title>
|
||||
<g id="a_node6"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#ae77cad522fa44b8c985779a7188d2f41" target="_top" xlink:title="Get the index of a character in the STRKEY.">
|
||||
<polygon fill="white" stroke="black" points="392,-126 392,-156 489,-156 489,-126 392,-126"/>
|
||||
<text text-anchor="start" x="400" y="-144" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
|
||||
<text text-anchor="middle" x="440.5" y="-133" font-family="Helvetica,sans-Serif" font-size="10.00">::get_char_idx</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node5->Node6 -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>Node5->Node6</title>
|
||||
<path fill="none" stroke="midnightblue" d="M328.21,-125.6C345.03,-127.93 364.12,-130.57 381.69,-133"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="381.44,-136.5 391.83,-134.4 382.4,-129.57 381.44,-136.5"/>
|
||||
</g>
|
||||
<!-- Node5->Node8 -->
|
||||
<g id="edge7" class="edge">
|
||||
<title>Node5->Node8</title>
|
||||
<path fill="none" stroke="midnightblue" d="M295.33,-103.82C313.98,-85.39 347.6,-54.28 381,-34 387.45,-30.08 394.66,-26.54 401.75,-23.45"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="403.35,-26.58 411.26,-19.53 400.68,-20.1 403.35,-26.58"/>
|
||||
</g>
|
||||
<!-- Node9 -->
|
||||
<g id="node9" class="node">
|
||||
<title>Node9</title>
|
||||
<g id="a_node9"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#a40efd842a5cc44c233641ac2df13b0c0" target="_top" xlink:title="helper function to perform vector multiplication with encryption or decryption matrix">
|
||||
<polygon fill="white" stroke="black" points="392,-77 392,-107 489,-107 489,-77 392,-77"/>
|
||||
<text text-anchor="start" x="400" y="-95" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
|
||||
<text text-anchor="middle" x="440.5" y="-84" font-family="Helvetica,sans-Serif" font-size="10.00">::mat_mul</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node5->Node9 -->
|
||||
<g id="edge8" class="edge">
|
||||
<title>Node5->Node9</title>
|
||||
<path fill="none" stroke="midnightblue" d="M328.21,-110.9C345.03,-108.04 364.12,-104.8 381.69,-101.82"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="382.56,-105.22 391.83,-100.1 381.38,-98.32 382.56,-105.22"/>
|
||||
</g>
|
||||
<!-- Node5->Node10 -->
|
||||
<g id="edge11" class="edge">
|
||||
<title>Node5->Node10</title>
|
||||
<path fill="none" stroke="midnightblue" d="M302.03,-103.97C321.6,-91.29 351.8,-74.11 381,-67 488.45,-40.85 548.48,-20.15 628,-97 667.65,-135.31 695.35,-308.12 703.79,-367.15"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="700.37,-367.95 705.22,-377.37 707.3,-366.98 700.37,-367.95"/>
|
||||
</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/string/byte/strlen.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="552,-153.5 552,-172.5 612,-172.5 612,-153.5 552,-153.5"/>
|
||||
<text text-anchor="middle" x="582" y="-160.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::strlen</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node6->Node7 -->
|
||||
<g id="edge6" class="edge">
|
||||
<title>Node6->Node7</title>
|
||||
<path fill="none" stroke="midnightblue" d="M489.12,-148.51C506.21,-151.21 525.28,-154.21 541.6,-156.79"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="541.46,-160.31 551.88,-158.41 542.55,-153.39 541.46,-160.31"/>
|
||||
</g>
|
||||
<!-- Node9->Node7 -->
|
||||
<g id="edge10" class="edge">
|
||||
<title>Node9->Node7</title>
|
||||
<path fill="none" stroke="midnightblue" d="M478.61,-107.11C485.77,-110.24 493.17,-113.62 500,-117 519.5,-126.67 540.89,-138.88 556.78,-148.3"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="555.07,-151.35 565.45,-153.47 558.66,-145.34 555.07,-151.35"/>
|
||||
</g>
|
||||
<!-- Node9->Node10 -->
|
||||
<g id="edge9" class="edge">
|
||||
<title>Node9->Node10</title>
|
||||
<path fill="none" stroke="midnightblue" d="M489.35,-93.15C531.15,-96.69 590.78,-108.26 628,-144 692.56,-205.99 704.11,-321.34 706.11,-367.33"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="702.62,-367.57 706.44,-377.45 709.62,-367.34 702.62,-367.57"/>
|
||||
</g>
|
||||
<!-- Node11->Node5 -->
|
||||
<g id="edge13" class="edge">
|
||||
<title>Node11->Node5</title>
|
||||
<path fill="none" stroke="midnightblue" d="M137.65,-318.88C163.68,-281.95 230.63,-186.93 261.92,-142.52"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="264.96,-144.29 267.86,-134.1 259.24,-140.26 264.96,-144.29"/>
|
||||
</g>
|
||||
<!-- Node14 -->
|
||||
<g id="node14" class="node">
|
||||
<title>Node14</title>
|
||||
<g id="a_node14"><a xlink:href="../../d1/dbe/lu__decomposition_8h.html#a3108d43bd32c6fb3b3c158476c51ba7f" target="_top" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="400.5,-377.5 400.5,-396.5 480.5,-396.5 480.5,-377.5 400.5,-377.5"/>
|
||||
<text text-anchor="middle" x="440.5" y="-384.5" font-family="Helvetica,sans-Serif" font-size="10.00">determinant_lu</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node13->Node14 -->
|
||||
<g id="edge16" class="edge">
|
||||
<title>Node13->Node14</title>
|
||||
<path fill="none" stroke="midnightblue" d="M174.51,-416.23C187.23,-412.73 201.05,-409.34 214,-407 273.92,-396.17 343.91,-391.12 389.83,-388.83"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="390.28,-392.31 400.11,-388.34 389.95,-385.32 390.28,-392.31"/>
|
||||
</g>
|
||||
<!-- Node16 -->
|
||||
<g id="node16" class="node">
|
||||
<title>Node16</title>
|
||||
<g id="a_node16"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#abb2c4dc2b8a59d3dfe0fa22c2adc086b" target="_top" xlink:title="Generate decryption matrix from an encryption matrix key.">
|
||||
<polygon fill="white" stroke="black" points="214,-416 214,-446 345,-446 345,-416 214,-416"/>
|
||||
<text text-anchor="start" x="222" y="-434" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
|
||||
<text text-anchor="middle" x="279.5" y="-423" font-family="Helvetica,sans-Serif" font-size="10.00">::generate_decryption_key</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node13->Node16 -->
|
||||
<g id="edge20" class="edge">
|
||||
<title>Node13->Node16</title>
|
||||
<path fill="none" stroke="midnightblue" d="M174.52,-431C183.79,-431 193.73,-431 203.64,-431"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="203.93,-434.5 213.93,-431 203.93,-427.5 203.93,-434.5"/>
|
||||
</g>
|
||||
<!-- Node20 -->
|
||||
<g id="node20" class="node">
|
||||
<title>Node20</title>
|
||||
<g id="a_node20"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#a7ca10cd1a0e8e3732391e0427d2d0213" target="_top" xlink:title="Generate encryption matrix of a given size. Larger size matrices are difficult to generate but provid...">
|
||||
<polygon fill="white" stroke="black" points="214,-246 214,-276 345,-276 345,-246 214,-246"/>
|
||||
<text text-anchor="start" x="222" y="-264" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
|
||||
<text text-anchor="middle" x="279.5" y="-253" font-family="Helvetica,sans-Serif" font-size="10.00">::generate_encryption_key</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node13->Node20 -->
|
||||
<g id="edge29" class="edge">
|
||||
<title>Node13->Node20</title>
|
||||
<path fill="none" stroke="midnightblue" d="M140.44,-415.91C166.99,-386.12 226.3,-319.57 257.85,-284.17"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="260.83,-286.09 264.87,-276.3 255.6,-281.43 260.83,-286.09"/>
|
||||
</g>
|
||||
<!-- Node26 -->
|
||||
<g id="node26" class="node">
|
||||
<title>Node26</title>
|
||||
<g id="a_node26"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/utility/pair/make_pair.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="239,-465.5 239,-484.5 320,-484.5 320,-465.5 239,-465.5"/>
|
||||
<text text-anchor="middle" x="279.5" y="-472.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::make_pair</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node13->Node26 -->
|
||||
<g id="edge36" class="edge">
|
||||
<title>Node13->Node26</title>
|
||||
<path fill="none" stroke="midnightblue" d="M174.52,-444.8C194.18,-450.51 216.79,-457.08 235.9,-462.63"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="234.96,-466 245.54,-465.43 236.91,-459.28 234.96,-466"/>
|
||||
</g>
|
||||
<!-- Node14->Node10 -->
|
||||
<g id="edge19" class="edge">
|
||||
<title>Node14->Node10</title>
|
||||
<path fill="none" stroke="midnightblue" d="M479.86,-377.49C496.93,-373.73 517.35,-369.86 536,-368 576.69,-363.95 587.4,-363.16 628,-368 640.06,-369.44 652.95,-372.08 664.72,-374.94"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="664.18,-378.42 674.73,-377.49 665.9,-371.63 664.18,-378.42"/>
|
||||
</g>
|
||||
<!-- Node15 -->
|
||||
<g id="node15" class="node">
|
||||
<title>Node15</title>
|
||||
<g id="a_node15"><a xlink:href="../../d1/dbe/lu__decomposition_8h.html#a75b8a228c6419ecda6077255d6d60509" target="_top" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="536,-377.5 536,-396.5 628,-396.5 628,-377.5 536,-377.5"/>
|
||||
<text text-anchor="middle" x="582" y="-384.5" font-family="Helvetica,sans-Serif" font-size="10.00">lu_decomposition</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node14->Node15 -->
|
||||
<g id="edge17" class="edge">
|
||||
<title>Node14->Node15</title>
|
||||
<path fill="none" stroke="midnightblue" d="M480.73,-387C494.68,-387 510.65,-387 525.69,-387"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="525.91,-390.5 535.91,-387 525.91,-383.5 525.91,-390.5"/>
|
||||
</g>
|
||||
<!-- Node15->Node10 -->
|
||||
<g id="edge18" class="edge">
|
||||
<title>Node15->Node10</title>
|
||||
<path fill="none" stroke="midnightblue" d="M628.29,-387C636.51,-387 645.15,-387 653.57,-387"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="653.68,-390.5 663.68,-387 653.68,-383.5 653.68,-390.5"/>
|
||||
</g>
|
||||
<!-- Node16->Node7 -->
|
||||
<g id="edge28" class="edge">
|
||||
<title>Node16->Node7</title>
|
||||
<path fill="none" stroke="midnightblue" d="M290.32,-415.64C306.44,-391.63 340.74,-345.27 381,-319 427.61,-288.59 455.39,-313.28 500,-280 518.41,-266.26 552.82,-210.74 570.27,-181.39"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="573.42,-182.93 575.49,-172.54 567.39,-179.37 573.42,-182.93"/>
|
||||
</g>
|
||||
<!-- Node16->Node10 -->
|
||||
<g id="edge27" class="edge">
|
||||
<title>Node16->Node10</title>
|
||||
<path fill="none" stroke="midnightblue" d="M345.23,-429.54C415.29,-427.22 530.14,-421.26 628,-406 639.24,-404.25 651.25,-401.7 662.4,-399.03"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="663.49,-402.37 672.36,-396.57 661.81,-395.57 663.49,-402.37"/>
|
||||
</g>
|
||||
<!-- Node16->Node14 -->
|
||||
<g id="edge21" class="edge">
|
||||
<title>Node16->Node14</title>
|
||||
<path fill="none" stroke="midnightblue" d="M334.77,-415.98C354.45,-410.54 376.42,-404.46 395.14,-399.28"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="396.18,-402.62 404.89,-396.58 394.32,-395.87 396.18,-402.62"/>
|
||||
</g>
|
||||
<!-- Node17 -->
|
||||
<g id="node17" class="node">
|
||||
<title>Node17</title>
|
||||
<g id="a_node17"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/utility/program/exit.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="414.5,-491.5 414.5,-510.5 466.5,-510.5 466.5,-491.5 414.5,-491.5"/>
|
||||
<text text-anchor="middle" x="440.5" y="-498.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::exit</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node16->Node17 -->
|
||||
<g id="edge22" class="edge">
|
||||
<title>Node16->Node17</title>
|
||||
<path fill="none" stroke="midnightblue" d="M323.87,-446.04C331.07,-449.04 338.35,-452.39 345,-456 362.34,-465.42 363.4,-473.07 381,-482 388.36,-485.74 396.62,-488.95 404.55,-491.62"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="403.75,-495.03 414.34,-494.7 405.85,-488.36 403.75,-495.03"/>
|
||||
</g>
|
||||
<!-- Node18 -->
|
||||
<g id="node18" class="node">
|
||||
<title>Node18</title>
|
||||
<g id="a_node18"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#a5a4cdbd4d4dad9efe2ed309bd466dd4b" target="_top" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="392,-530 392,-560 489,-560 489,-530 392,-530"/>
|
||||
<text text-anchor="start" x="400" y="-548" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
|
||||
<text text-anchor="middle" x="440.5" y="-537" font-family="Helvetica,sans-Serif" font-size="10.00">::get_inverse</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node16->Node18 -->
|
||||
<g id="edge23" class="edge">
|
||||
<title>Node16->Node18</title>
|
||||
<path fill="none" stroke="midnightblue" d="M330.09,-446.04C335.45,-448.85 340.55,-452.15 345,-456 369.66,-477.37 356.71,-498.21 381,-520 382.74,-521.56 384.59,-523.03 386.52,-524.42"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="385.07,-527.64 395.41,-529.98 388.79,-521.71 385.07,-527.64"/>
|
||||
</g>
|
||||
<!-- Node19 -->
|
||||
<g id="node19" class="node">
|
||||
<title>Node19</title>
|
||||
<g id="a_node19"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/numeric/math/round.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="410.5,-453.5 410.5,-472.5 470.5,-472.5 470.5,-453.5 410.5,-453.5"/>
|
||||
<text text-anchor="middle" x="440.5" y="-460.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::round</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node16->Node19 -->
|
||||
<g id="edge26" class="edge">
|
||||
<title>Node16->Node19</title>
|
||||
<path fill="none" stroke="midnightblue" d="M345.17,-444.02C363.83,-447.77 383.61,-451.75 400.21,-455.09"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="399.61,-458.54 410.11,-457.08 400.99,-451.68 399.61,-458.54"/>
|
||||
</g>
|
||||
<!-- Node18->Node10 -->
|
||||
<g id="edge25" class="edge">
|
||||
<title>Node18->Node10</title>
|
||||
<path fill="none" stroke="midnightblue" d="M479.37,-529.87C486.32,-526.8 493.45,-523.44 500,-520 570.64,-482.86 648.35,-428.95 685.05,-402.63"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="687.4,-405.25 693.46,-396.56 683.31,-399.57 687.4,-405.25"/>
|
||||
</g>
|
||||
<!-- Node18->Node12 -->
|
||||
<g id="edge24" class="edge">
|
||||
<title>Node18->Node12</title>
|
||||
<path fill="none" stroke="midnightblue" d="M489.12,-552.51C507.29,-555.38 527.7,-558.59 544.65,-561.27"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="544.29,-564.75 554.72,-562.85 545.38,-557.84 544.29,-564.75"/>
|
||||
</g>
|
||||
<!-- Node20->Node7 -->
|
||||
<g id="edge35" class="edge">
|
||||
<title>Node20->Node7</title>
|
||||
<path fill="none" stroke="midnightblue" d="M302.26,-245.98C321.98,-233.04 352.27,-214.78 381,-204 434.73,-183.83 500.49,-172.78 541.58,-167.37"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="542.24,-170.82 551.72,-166.09 541.36,-163.87 542.24,-170.82"/>
|
||||
</g>
|
||||
<!-- Node21 -->
|
||||
<g id="node21" class="node">
|
||||
<title>Node21</title>
|
||||
<g id="a_node21"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#a7760f3665651a0a37937c79c62f219c0" target="_top" xlink:title="Compute GCD of two integers using Euler's algorithm.">
|
||||
<polygon fill="white" stroke="black" points="381,-251.5 381,-270.5 500,-270.5 500,-251.5 381,-251.5"/>
|
||||
<text text-anchor="middle" x="440.5" y="-258.5" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher::gcd</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node20->Node21 -->
|
||||
<g id="edge30" class="edge">
|
||||
<title>Node20->Node21</title>
|
||||
<path fill="none" stroke="midnightblue" d="M345.17,-261C353.55,-261 362.15,-261 370.59,-261"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="370.77,-264.5 380.77,-261 370.77,-257.5 370.77,-264.5"/>
|
||||
</g>
|
||||
<!-- Node23 -->
|
||||
<g id="node23" class="node">
|
||||
<title>Node23</title>
|
||||
<g id="a_node23"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/numeric/math/isfinite.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="408,-213.5 408,-232.5 473,-232.5 473,-213.5 408,-213.5"/>
|
||||
<text text-anchor="middle" x="440.5" y="-220.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::isfinite</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node20->Node23 -->
|
||||
<g id="edge32" class="edge">
|
||||
<title>Node20->Node23</title>
|
||||
<path fill="none" stroke="midnightblue" d="M343.34,-245.98C361.6,-241.62 381.09,-236.96 397.71,-232.99"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="398.74,-236.34 407.65,-230.61 397.11,-229.53 398.74,-236.34"/>
|
||||
</g>
|
||||
<!-- Node24 -->
|
||||
<g id="node24" class="node">
|
||||
<title>Node24</title>
|
||||
<g id="a_node24"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#a629be41c1ab78850963e4ce14e1d11d9" target="_top" xlink:title="Function to generate a random integer in a given interval.">
|
||||
<polygon fill="white" stroke="black" points="392,-328 392,-358 489,-358 489,-328 392,-328"/>
|
||||
<text text-anchor="start" x="400" y="-346" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
|
||||
<text text-anchor="middle" x="440.5" y="-335" font-family="Helvetica,sans-Serif" font-size="10.00">::rand_range</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node20->Node24 -->
|
||||
<g id="edge33" class="edge">
|
||||
<title>Node20->Node24</title>
|
||||
<path fill="none" stroke="midnightblue" d="M309.66,-276.04C335.36,-289.29 372.97,-308.69 401.11,-323.2"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="399.76,-326.44 410.25,-327.92 402.97,-320.22 399.76,-326.44"/>
|
||||
</g>
|
||||
<!-- Node22 -->
|
||||
<g id="node22" class="node">
|
||||
<title>Node22</title>
|
||||
<g id="a_node22"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/algorithm/swap.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="552.5,-251.5 552.5,-270.5 611.5,-270.5 611.5,-251.5 552.5,-251.5"/>
|
||||
<text text-anchor="middle" x="582" y="-258.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::swap</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node21->Node22 -->
|
||||
<g id="edge31" class="edge">
|
||||
<title>Node21->Node22</title>
|
||||
<path fill="none" stroke="midnightblue" d="M500.26,-261C514.47,-261 529.32,-261 542.34,-261"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="542.35,-264.5 552.35,-261 542.35,-257.5 542.35,-264.5"/>
|
||||
</g>
|
||||
<!-- Node25 -->
|
||||
<g id="node25" class="node">
|
||||
<title>Node25</title>
|
||||
<g id="a_node25"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/numeric/random/rand.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="554.5,-301.5 554.5,-320.5 609.5,-320.5 609.5,-301.5 554.5,-301.5"/>
|
||||
<text text-anchor="middle" x="582" y="-308.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::rand</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node24->Node25 -->
|
||||
<g id="edge34" class="edge">
|
||||
<title>Node24->Node25</title>
|
||||
<path fill="none" stroke="midnightblue" d="M489.12,-332.08C507.16,-327.94 527.4,-323.29 544.29,-319.42"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="545.35,-322.77 554.32,-317.12 543.79,-315.95 545.35,-322.77"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
<g id="navigator" transform="translate(0 0)" fill="#404254">
|
||||
<rect fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width=".5" x="0" y="0" width="60" height="60"/>
|
||||
<use id="zoomplus" xlink:href="#zoomPlus" x="17" y="9" onmousedown="handleZoom(evt,'in')"/>
|
||||
<use id="zoomminus" xlink:href="#zoomMin" x="42" y="9" onmousedown="handleZoom(evt,'out')"/>
|
||||
<use id="reset" xlink:href="#resetDef" x="30" y="36" onmousedown="handleReset()"/>
|
||||
<g id="arrowUp" xlink:href="#dirArrow" transform="translate(30 24)" onmousedown="handlePan(0,-1)">
|
||||
<use xlink:href="#rim" fill="#404040">
|
||||
<set attributeName="fill" to="#808080" begin="arrowUp.mouseover" end="arrowUp.mouseout"/>
|
||||
</use>
|
||||
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
|
||||
</g>
|
||||
<g id="arrowRight" xlink:href="#dirArrow" transform="rotate(90) translate(36 -43)" onmousedown="handlePan(1,0)">
|
||||
<use xlink:href="#rim" fill="#404040">
|
||||
<set attributeName="fill" to="#808080" begin="arrowRight.mouseover" end="arrowRight.mouseout"/>
|
||||
</use>
|
||||
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
|
||||
</g>
|
||||
<g id="arrowDown" xlink:href="#dirArrow" transform="rotate(180) translate(-30 -48)" onmousedown="handlePan(0,1)">
|
||||
<use xlink:href="#rim" fill="#404040">
|
||||
<set attributeName="fill" to="#808080" begin="arrowDown.mouseover" end="arrowDown.mouseout"/>
|
||||
</use>
|
||||
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
|
||||
</g>
|
||||
<g id="arrowLeft" xlink:href="#dirArrow" transform="rotate(270) translate(-36 17)" onmousedown="handlePan(-1,0)">
|
||||
<use xlink:href="#rim" fill="#404040">
|
||||
<set attributeName="fill" to="#808080" begin="arrowLeft.mouseover" end="arrowLeft.mouseout"/>
|
||||
</use>
|
||||
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
|
||||
</g>
|
||||
</g>
|
||||
<svg viewBox="0 0 15 15" width="100%" height="30px" preserveAspectRatio="xMaxYMin meet">
|
||||
<g id="arrow_out" transform="scale(0.3 0.3)">
|
||||
<a xlink:href="hill__cipher_8cpp_a04391124480d2a49f2dec900237b0712_cgraph_org.svg" target="_base">
|
||||
<rect id="button" ry="5" rx="5" y="6" x="6" height="38" width="38"
|
||||
fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width="1.0"/>
|
||||
<path id="arrow"
|
||||
d="M 11.500037,31.436501 C 11.940474,20.09759 22.043105,11.32322 32.158766,21.979434 L 37.068811,17.246167 C 37.068811,17.246167 37.088388,32 37.088388,32 L 22.160133,31.978069 C 22.160133,31.978069 26.997745,27.140456 26.997745,27.140456 C 18.528582,18.264221 13.291696,25.230495 11.500037,31.436501 z"
|
||||
style="fill:#404040;"/>
|
||||
</a>
|
||||
</g>
|
||||
</svg>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 32 KiB |
@@ -0,0 +1,485 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.44.0 (20200408.0750)
|
||||
-->
|
||||
<!-- Title: test2 Pages: 1 -->
|
||||
<svg width="759pt" height="721pt"
|
||||
viewBox="0.00 0.00 759.00 721.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 717)">
|
||||
<title>test2</title>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-717 755,-717 755,4 -4,4"/>
|
||||
<!-- Node1 -->
|
||||
<g id="node1" class="node">
|
||||
<title>Node1</title>
|
||||
<g id="a_node1"><a xlink:title="Self test 2 - using 8x8 randomly generated key.">
|
||||
<polygon fill="#bfbfbf" stroke="black" points="0,-500.5 0,-519.5 38,-519.5 38,-500.5 0,-500.5"/>
|
||||
<text text-anchor="middle" x="19" y="-507.5" font-family="Helvetica,sans-Serif" font-size="10.00">test2</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/basic_ofstream/close.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="74,-693.5 74,-712.5 178,-712.5 178,-693.5 74,-693.5"/>
|
||||
<text text-anchor="middle" x="126" y="-700.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::ofstream::close</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node2 -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>Node1->Node2</title>
|
||||
<path fill="none" stroke="midnightblue" d="M20.17,-519.74C21.19,-548.75 28.14,-635.51 74,-684 75.39,-685.47 76.9,-686.82 78.5,-688.07"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="76.84,-691.16 87.17,-693.5 80.55,-685.22 76.84,-691.16"/>
|
||||
</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/compare.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="74,-655.5 74,-674.5 178,-674.5 178,-655.5 74,-655.5"/>
|
||||
<text text-anchor="middle" x="126" y="-662.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::string::compare</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node3 -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>Node1->Node3</title>
|
||||
<path fill="none" stroke="midnightblue" d="M21.5,-519.52C25.65,-543.05 39.39,-604.66 74,-641 77.58,-644.76 81.86,-647.99 86.4,-650.75"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="84.87,-653.9 95.34,-655.49 88.15,-647.71 84.87,-653.9"/>
|
||||
</g>
|
||||
<!-- Node4 -->
|
||||
<g id="node4" class="node">
|
||||
<title>Node4</title>
|
||||
<g id="a_node4"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#a427acfac1dbff3f48a2b071d449d965b" target="_top" xlink:title="Decrypt a given text using a given key.">
|
||||
<polygon fill="white" stroke="black" points="77.5,-174 77.5,-204 174.5,-204 174.5,-174 77.5,-174"/>
|
||||
<text text-anchor="start" x="85.5" y="-192" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
|
||||
<text text-anchor="middle" x="126" y="-181" font-family="Helvetica,sans-Serif" font-size="10.00">::decrypt_text</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node4 -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>Node1->Node4</title>
|
||||
<path fill="none" stroke="midnightblue" d="M22.13,-500.29C28.64,-471.1 49.32,-381.76 74,-310 85.8,-275.71 102.63,-237.31 113.68,-213.15"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="116.88,-214.57 117.89,-204.02 110.52,-211.64 116.88,-214.57"/>
|
||||
</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/string/basic_string/size.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="394.5,-0.5 394.5,-19.5 486.5,-19.5 486.5,-0.5 394.5,-0.5"/>
|
||||
<text text-anchor="middle" x="440.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::string::length</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node8 -->
|
||||
<g id="edge37" class="edge">
|
||||
<title>Node1->Node8</title>
|
||||
<path fill="none" stroke="midnightblue" d="M20.35,-500.19C22.29,-449.86 33.3,-220.67 74,-165 148.09,-63.64 301.79,-28.05 384.3,-15.95"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="384.82,-19.41 394.24,-14.56 383.85,-12.48 384.82,-19.41"/>
|
||||
</g>
|
||||
<!-- Node10 -->
|
||||
<g id="node10" class="node">
|
||||
<title>Node10</title>
|
||||
<g id="a_node10"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/size.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="664,-377.5 664,-396.5 751,-396.5 751,-377.5 664,-377.5"/>
|
||||
<text text-anchor="middle" x="707.5" y="-384.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::size</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node10 -->
|
||||
<g id="edge38" class="edge">
|
||||
<title>Node1->Node10</title>
|
||||
<path fill="none" stroke="midnightblue" d="M31.52,-519.57C66.35,-547.52 174.56,-627 278.5,-627 278.5,-627 278.5,-627 441.5,-627 526.37,-627 563.4,-641.04 628,-586 683.44,-538.76 700,-447.12 704.72,-406.83"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="708.22,-407 705.78,-396.69 701.26,-406.28 708.22,-407"/>
|
||||
</g>
|
||||
<!-- Node11 -->
|
||||
<g id="node11" class="node">
|
||||
<title>Node11</title>
|
||||
<g id="a_node11"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#aa8bbb6e4a5749f6008b06602d5103917" target="_top" xlink:title="Encrypt a given text using a given key.">
|
||||
<polygon fill="white" stroke="black" points="77.5,-319 77.5,-349 174.5,-349 174.5,-319 77.5,-319"/>
|
||||
<text text-anchor="start" x="85.5" y="-337" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
|
||||
<text text-anchor="middle" x="126" y="-326" font-family="Helvetica,sans-Serif" font-size="10.00">::encrypt_text</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node11 -->
|
||||
<g id="edge12" class="edge">
|
||||
<title>Node1->Node11</title>
|
||||
<path fill="none" stroke="midnightblue" d="M24.52,-500.41C33.34,-481.93 53.75,-440.3 74,-407 84.44,-389.83 97.43,-371.27 107.69,-357.16"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="110.58,-359.14 113.68,-349 104.94,-354.99 110.58,-359.14"/>
|
||||
</g>
|
||||
<!-- Node12 -->
|
||||
<g id="node12" class="node">
|
||||
<title>Node12</title>
|
||||
<g id="a_node12"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/io/manip/endl.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="555,-557.5 555,-576.5 609,-576.5 609,-557.5 555,-557.5"/>
|
||||
<text text-anchor="middle" x="582" y="-564.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::endl</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node12 -->
|
||||
<g id="edge14" class="edge">
|
||||
<title>Node1->Node12</title>
|
||||
<path fill="none" stroke="midnightblue" d="M38.28,-514.14C91.04,-525.84 248.35,-559.05 381,-570 433.71,-574.35 447.12,-570.98 500,-570 514.58,-569.73 530.62,-569.19 544.55,-568.64"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="544.89,-572.13 554.74,-568.22 544.61,-565.13 544.89,-572.13"/>
|
||||
</g>
|
||||
<!-- Node13 -->
|
||||
<g id="node13" class="node">
|
||||
<title>Node13</title>
|
||||
<g id="a_node13"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#a14bfcd14af6cd853130cbacd32e35c13" target="_top" xlink:title="Generate encryption and decryption key pair.">
|
||||
<polygon fill="white" stroke="black" points="77.5,-416 77.5,-446 174.5,-446 174.5,-416 77.5,-416"/>
|
||||
<text text-anchor="start" x="85.5" y="-434" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
|
||||
<text text-anchor="middle" x="126" y="-423" font-family="Helvetica,sans-Serif" font-size="10.00">::generate_keys</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node13 -->
|
||||
<g id="edge15" class="edge">
|
||||
<title>Node1->Node13</title>
|
||||
<path fill="none" stroke="midnightblue" d="M32.88,-500.31C48.66,-488.44 75.88,-467.96 96.65,-452.33"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="98.93,-454.99 104.82,-446.19 94.72,-449.4 98.93,-454.99"/>
|
||||
</g>
|
||||
<!-- Node5 -->
|
||||
<g id="node5" class="node">
|
||||
<title>Node5</title>
|
||||
<g id="a_node5"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#ad667fa0860977f6d6d443fa1dbcd80aa" target="_top" xlink:title="Convenience function to perform block cipher operations. The operations are identical for both encryp...">
|
||||
<polygon fill="white" stroke="black" points="231,-104 231,-134 328,-134 328,-104 231,-104"/>
|
||||
<text text-anchor="start" x="239" y="-122" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
|
||||
<text text-anchor="middle" x="279.5" y="-111" font-family="Helvetica,sans-Serif" font-size="10.00">::codec</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node4->Node5 -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>Node4->Node5</title>
|
||||
<path fill="none" stroke="midnightblue" d="M159.5,-173.98C181.99,-163.59 212.13,-149.67 236.45,-138.43"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="238.18,-141.48 245.79,-134.11 235.25,-135.13 238.18,-141.48"/>
|
||||
</g>
|
||||
<!-- Node6 -->
|
||||
<g id="node6" class="node">
|
||||
<title>Node6</title>
|
||||
<g id="a_node6"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#ae77cad522fa44b8c985779a7188d2f41" target="_top" xlink:title="Get the index of a character in the STRKEY.">
|
||||
<polygon fill="white" stroke="black" points="392,-126 392,-156 489,-156 489,-126 392,-126"/>
|
||||
<text text-anchor="start" x="400" y="-144" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
|
||||
<text text-anchor="middle" x="440.5" y="-133" font-family="Helvetica,sans-Serif" font-size="10.00">::get_char_idx</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node5->Node6 -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>Node5->Node6</title>
|
||||
<path fill="none" stroke="midnightblue" d="M328.21,-125.6C345.03,-127.93 364.12,-130.57 381.69,-133"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="381.44,-136.5 391.83,-134.4 382.4,-129.57 381.44,-136.5"/>
|
||||
</g>
|
||||
<!-- Node5->Node8 -->
|
||||
<g id="edge7" class="edge">
|
||||
<title>Node5->Node8</title>
|
||||
<path fill="none" stroke="midnightblue" d="M295.33,-103.82C313.98,-85.39 347.6,-54.28 381,-34 387.45,-30.08 394.66,-26.54 401.75,-23.45"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="403.35,-26.58 411.26,-19.53 400.68,-20.1 403.35,-26.58"/>
|
||||
</g>
|
||||
<!-- Node9 -->
|
||||
<g id="node9" class="node">
|
||||
<title>Node9</title>
|
||||
<g id="a_node9"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#a40efd842a5cc44c233641ac2df13b0c0" target="_top" xlink:title="helper function to perform vector multiplication with encryption or decryption matrix">
|
||||
<polygon fill="white" stroke="black" points="392,-77 392,-107 489,-107 489,-77 392,-77"/>
|
||||
<text text-anchor="start" x="400" y="-95" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
|
||||
<text text-anchor="middle" x="440.5" y="-84" font-family="Helvetica,sans-Serif" font-size="10.00">::mat_mul</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node5->Node9 -->
|
||||
<g id="edge8" class="edge">
|
||||
<title>Node5->Node9</title>
|
||||
<path fill="none" stroke="midnightblue" d="M328.21,-110.9C345.03,-108.04 364.12,-104.8 381.69,-101.82"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="382.56,-105.22 391.83,-100.1 381.38,-98.32 382.56,-105.22"/>
|
||||
</g>
|
||||
<!-- Node5->Node10 -->
|
||||
<g id="edge11" class="edge">
|
||||
<title>Node5->Node10</title>
|
||||
<path fill="none" stroke="midnightblue" d="M302.03,-103.97C321.6,-91.29 351.8,-74.11 381,-67 488.45,-40.85 548.48,-20.15 628,-97 667.65,-135.31 695.35,-308.12 703.79,-367.15"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="700.37,-367.95 705.22,-377.37 707.3,-366.98 700.37,-367.95"/>
|
||||
</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/string/byte/strlen.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="552,-153.5 552,-172.5 612,-172.5 612,-153.5 552,-153.5"/>
|
||||
<text text-anchor="middle" x="582" y="-160.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::strlen</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node6->Node7 -->
|
||||
<g id="edge6" class="edge">
|
||||
<title>Node6->Node7</title>
|
||||
<path fill="none" stroke="midnightblue" d="M489.12,-148.51C506.21,-151.21 525.28,-154.21 541.6,-156.79"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="541.46,-160.31 551.88,-158.41 542.55,-153.39 541.46,-160.31"/>
|
||||
</g>
|
||||
<!-- Node9->Node7 -->
|
||||
<g id="edge10" class="edge">
|
||||
<title>Node9->Node7</title>
|
||||
<path fill="none" stroke="midnightblue" d="M478.61,-107.11C485.77,-110.24 493.17,-113.62 500,-117 519.5,-126.67 540.89,-138.88 556.78,-148.3"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="555.07,-151.35 565.45,-153.47 558.66,-145.34 555.07,-151.35"/>
|
||||
</g>
|
||||
<!-- Node9->Node10 -->
|
||||
<g id="edge9" class="edge">
|
||||
<title>Node9->Node10</title>
|
||||
<path fill="none" stroke="midnightblue" d="M489.35,-93.15C531.15,-96.69 590.78,-108.26 628,-144 692.56,-205.99 704.11,-321.34 706.11,-367.33"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="702.62,-367.57 706.44,-377.45 709.62,-367.34 702.62,-367.57"/>
|
||||
</g>
|
||||
<!-- Node11->Node5 -->
|
||||
<g id="edge13" class="edge">
|
||||
<title>Node11->Node5</title>
|
||||
<path fill="none" stroke="midnightblue" d="M137.65,-318.88C163.68,-281.95 230.63,-186.93 261.92,-142.52"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="264.96,-144.29 267.86,-134.1 259.24,-140.26 264.96,-144.29"/>
|
||||
</g>
|
||||
<!-- Node14 -->
|
||||
<g id="node14" class="node">
|
||||
<title>Node14</title>
|
||||
<g id="a_node14"><a xlink:href="../../d1/dbe/lu__decomposition_8h.html#a3108d43bd32c6fb3b3c158476c51ba7f" target="_top" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="400.5,-377.5 400.5,-396.5 480.5,-396.5 480.5,-377.5 400.5,-377.5"/>
|
||||
<text text-anchor="middle" x="440.5" y="-384.5" font-family="Helvetica,sans-Serif" font-size="10.00">determinant_lu</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node13->Node14 -->
|
||||
<g id="edge16" class="edge">
|
||||
<title>Node13->Node14</title>
|
||||
<path fill="none" stroke="midnightblue" d="M174.51,-416.23C187.23,-412.73 201.05,-409.34 214,-407 273.92,-396.17 343.91,-391.12 389.83,-388.83"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="390.28,-392.31 400.11,-388.34 389.95,-385.32 390.28,-392.31"/>
|
||||
</g>
|
||||
<!-- Node16 -->
|
||||
<g id="node16" class="node">
|
||||
<title>Node16</title>
|
||||
<g id="a_node16"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#abb2c4dc2b8a59d3dfe0fa22c2adc086b" target="_top" xlink:title="Generate decryption matrix from an encryption matrix key.">
|
||||
<polygon fill="white" stroke="black" points="214,-416 214,-446 345,-446 345,-416 214,-416"/>
|
||||
<text text-anchor="start" x="222" y="-434" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
|
||||
<text text-anchor="middle" x="279.5" y="-423" font-family="Helvetica,sans-Serif" font-size="10.00">::generate_decryption_key</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node13->Node16 -->
|
||||
<g id="edge20" class="edge">
|
||||
<title>Node13->Node16</title>
|
||||
<path fill="none" stroke="midnightblue" d="M174.52,-431C183.79,-431 193.73,-431 203.64,-431"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="203.93,-434.5 213.93,-431 203.93,-427.5 203.93,-434.5"/>
|
||||
</g>
|
||||
<!-- Node20 -->
|
||||
<g id="node20" class="node">
|
||||
<title>Node20</title>
|
||||
<g id="a_node20"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#a7ca10cd1a0e8e3732391e0427d2d0213" target="_top" xlink:title="Generate encryption matrix of a given size. Larger size matrices are difficult to generate but provid...">
|
||||
<polygon fill="white" stroke="black" points="214,-246 214,-276 345,-276 345,-246 214,-246"/>
|
||||
<text text-anchor="start" x="222" y="-264" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
|
||||
<text text-anchor="middle" x="279.5" y="-253" font-family="Helvetica,sans-Serif" font-size="10.00">::generate_encryption_key</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node13->Node20 -->
|
||||
<g id="edge29" class="edge">
|
||||
<title>Node13->Node20</title>
|
||||
<path fill="none" stroke="midnightblue" d="M140.44,-415.91C166.99,-386.12 226.3,-319.57 257.85,-284.17"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="260.83,-286.09 264.87,-276.3 255.6,-281.43 260.83,-286.09"/>
|
||||
</g>
|
||||
<!-- Node26 -->
|
||||
<g id="node26" class="node">
|
||||
<title>Node26</title>
|
||||
<g id="a_node26"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/utility/pair/make_pair.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="239,-465.5 239,-484.5 320,-484.5 320,-465.5 239,-465.5"/>
|
||||
<text text-anchor="middle" x="279.5" y="-472.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::make_pair</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node13->Node26 -->
|
||||
<g id="edge36" class="edge">
|
||||
<title>Node13->Node26</title>
|
||||
<path fill="none" stroke="midnightblue" d="M174.52,-444.8C194.18,-450.51 216.79,-457.08 235.9,-462.63"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="234.96,-466 245.54,-465.43 236.91,-459.28 234.96,-466"/>
|
||||
</g>
|
||||
<!-- Node14->Node10 -->
|
||||
<g id="edge19" class="edge">
|
||||
<title>Node14->Node10</title>
|
||||
<path fill="none" stroke="midnightblue" d="M479.86,-377.49C496.93,-373.73 517.35,-369.86 536,-368 576.69,-363.95 587.4,-363.16 628,-368 640.06,-369.44 652.95,-372.08 664.72,-374.94"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="664.18,-378.42 674.73,-377.49 665.9,-371.63 664.18,-378.42"/>
|
||||
</g>
|
||||
<!-- Node15 -->
|
||||
<g id="node15" class="node">
|
||||
<title>Node15</title>
|
||||
<g id="a_node15"><a xlink:href="../../d1/dbe/lu__decomposition_8h.html#a75b8a228c6419ecda6077255d6d60509" target="_top" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="536,-377.5 536,-396.5 628,-396.5 628,-377.5 536,-377.5"/>
|
||||
<text text-anchor="middle" x="582" y="-384.5" font-family="Helvetica,sans-Serif" font-size="10.00">lu_decomposition</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node14->Node15 -->
|
||||
<g id="edge17" class="edge">
|
||||
<title>Node14->Node15</title>
|
||||
<path fill="none" stroke="midnightblue" d="M480.73,-387C494.68,-387 510.65,-387 525.69,-387"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="525.91,-390.5 535.91,-387 525.91,-383.5 525.91,-390.5"/>
|
||||
</g>
|
||||
<!-- Node15->Node10 -->
|
||||
<g id="edge18" class="edge">
|
||||
<title>Node15->Node10</title>
|
||||
<path fill="none" stroke="midnightblue" d="M628.29,-387C636.51,-387 645.15,-387 653.57,-387"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="653.68,-390.5 663.68,-387 653.68,-383.5 653.68,-390.5"/>
|
||||
</g>
|
||||
<!-- Node16->Node7 -->
|
||||
<g id="edge28" class="edge">
|
||||
<title>Node16->Node7</title>
|
||||
<path fill="none" stroke="midnightblue" d="M290.32,-415.64C306.44,-391.63 340.74,-345.27 381,-319 427.61,-288.59 455.39,-313.28 500,-280 518.41,-266.26 552.82,-210.74 570.27,-181.39"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="573.42,-182.93 575.49,-172.54 567.39,-179.37 573.42,-182.93"/>
|
||||
</g>
|
||||
<!-- Node16->Node10 -->
|
||||
<g id="edge27" class="edge">
|
||||
<title>Node16->Node10</title>
|
||||
<path fill="none" stroke="midnightblue" d="M345.23,-429.54C415.29,-427.22 530.14,-421.26 628,-406 639.24,-404.25 651.25,-401.7 662.4,-399.03"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="663.49,-402.37 672.36,-396.57 661.81,-395.57 663.49,-402.37"/>
|
||||
</g>
|
||||
<!-- Node16->Node14 -->
|
||||
<g id="edge21" class="edge">
|
||||
<title>Node16->Node14</title>
|
||||
<path fill="none" stroke="midnightblue" d="M334.77,-415.98C354.45,-410.54 376.42,-404.46 395.14,-399.28"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="396.18,-402.62 404.89,-396.58 394.32,-395.87 396.18,-402.62"/>
|
||||
</g>
|
||||
<!-- Node17 -->
|
||||
<g id="node17" class="node">
|
||||
<title>Node17</title>
|
||||
<g id="a_node17"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/utility/program/exit.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="414.5,-491.5 414.5,-510.5 466.5,-510.5 466.5,-491.5 414.5,-491.5"/>
|
||||
<text text-anchor="middle" x="440.5" y="-498.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::exit</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node16->Node17 -->
|
||||
<g id="edge22" class="edge">
|
||||
<title>Node16->Node17</title>
|
||||
<path fill="none" stroke="midnightblue" d="M323.87,-446.04C331.07,-449.04 338.35,-452.39 345,-456 362.34,-465.42 363.4,-473.07 381,-482 388.36,-485.74 396.62,-488.95 404.55,-491.62"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="403.75,-495.03 414.34,-494.7 405.85,-488.36 403.75,-495.03"/>
|
||||
</g>
|
||||
<!-- Node18 -->
|
||||
<g id="node18" class="node">
|
||||
<title>Node18</title>
|
||||
<g id="a_node18"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#a5a4cdbd4d4dad9efe2ed309bd466dd4b" target="_top" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="392,-530 392,-560 489,-560 489,-530 392,-530"/>
|
||||
<text text-anchor="start" x="400" y="-548" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
|
||||
<text text-anchor="middle" x="440.5" y="-537" font-family="Helvetica,sans-Serif" font-size="10.00">::get_inverse</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node16->Node18 -->
|
||||
<g id="edge23" class="edge">
|
||||
<title>Node16->Node18</title>
|
||||
<path fill="none" stroke="midnightblue" d="M330.09,-446.04C335.45,-448.85 340.55,-452.15 345,-456 369.66,-477.37 356.71,-498.21 381,-520 382.74,-521.56 384.59,-523.03 386.52,-524.42"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="385.07,-527.64 395.41,-529.98 388.79,-521.71 385.07,-527.64"/>
|
||||
</g>
|
||||
<!-- Node19 -->
|
||||
<g id="node19" class="node">
|
||||
<title>Node19</title>
|
||||
<g id="a_node19"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/numeric/math/round.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="410.5,-453.5 410.5,-472.5 470.5,-472.5 470.5,-453.5 410.5,-453.5"/>
|
||||
<text text-anchor="middle" x="440.5" y="-460.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::round</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node16->Node19 -->
|
||||
<g id="edge26" class="edge">
|
||||
<title>Node16->Node19</title>
|
||||
<path fill="none" stroke="midnightblue" d="M345.17,-444.02C363.83,-447.77 383.61,-451.75 400.21,-455.09"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="399.61,-458.54 410.11,-457.08 400.99,-451.68 399.61,-458.54"/>
|
||||
</g>
|
||||
<!-- Node18->Node10 -->
|
||||
<g id="edge25" class="edge">
|
||||
<title>Node18->Node10</title>
|
||||
<path fill="none" stroke="midnightblue" d="M479.37,-529.87C486.32,-526.8 493.45,-523.44 500,-520 570.64,-482.86 648.35,-428.95 685.05,-402.63"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="687.4,-405.25 693.46,-396.56 683.31,-399.57 687.4,-405.25"/>
|
||||
</g>
|
||||
<!-- Node18->Node12 -->
|
||||
<g id="edge24" class="edge">
|
||||
<title>Node18->Node12</title>
|
||||
<path fill="none" stroke="midnightblue" d="M489.12,-552.51C507.29,-555.38 527.7,-558.59 544.65,-561.27"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="544.29,-564.75 554.72,-562.85 545.38,-557.84 544.29,-564.75"/>
|
||||
</g>
|
||||
<!-- Node20->Node7 -->
|
||||
<g id="edge35" class="edge">
|
||||
<title>Node20->Node7</title>
|
||||
<path fill="none" stroke="midnightblue" d="M302.26,-245.98C321.98,-233.04 352.27,-214.78 381,-204 434.73,-183.83 500.49,-172.78 541.58,-167.37"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="542.24,-170.82 551.72,-166.09 541.36,-163.87 542.24,-170.82"/>
|
||||
</g>
|
||||
<!-- Node21 -->
|
||||
<g id="node21" class="node">
|
||||
<title>Node21</title>
|
||||
<g id="a_node21"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#a7760f3665651a0a37937c79c62f219c0" target="_top" xlink:title="Compute GCD of two integers using Euler's algorithm.">
|
||||
<polygon fill="white" stroke="black" points="381,-251.5 381,-270.5 500,-270.5 500,-251.5 381,-251.5"/>
|
||||
<text text-anchor="middle" x="440.5" y="-258.5" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher::gcd</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node20->Node21 -->
|
||||
<g id="edge30" class="edge">
|
||||
<title>Node20->Node21</title>
|
||||
<path fill="none" stroke="midnightblue" d="M345.17,-261C353.55,-261 362.15,-261 370.59,-261"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="370.77,-264.5 380.77,-261 370.77,-257.5 370.77,-264.5"/>
|
||||
</g>
|
||||
<!-- Node23 -->
|
||||
<g id="node23" class="node">
|
||||
<title>Node23</title>
|
||||
<g id="a_node23"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/numeric/math/isfinite.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="408,-213.5 408,-232.5 473,-232.5 473,-213.5 408,-213.5"/>
|
||||
<text text-anchor="middle" x="440.5" y="-220.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::isfinite</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node20->Node23 -->
|
||||
<g id="edge32" class="edge">
|
||||
<title>Node20->Node23</title>
|
||||
<path fill="none" stroke="midnightblue" d="M343.34,-245.98C361.6,-241.62 381.09,-236.96 397.71,-232.99"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="398.74,-236.34 407.65,-230.61 397.11,-229.53 398.74,-236.34"/>
|
||||
</g>
|
||||
<!-- Node24 -->
|
||||
<g id="node24" class="node">
|
||||
<title>Node24</title>
|
||||
<g id="a_node24"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#a629be41c1ab78850963e4ce14e1d11d9" target="_top" xlink:title="Function to generate a random integer in a given interval.">
|
||||
<polygon fill="white" stroke="black" points="392,-328 392,-358 489,-358 489,-328 392,-328"/>
|
||||
<text text-anchor="start" x="400" y="-346" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
|
||||
<text text-anchor="middle" x="440.5" y="-335" font-family="Helvetica,sans-Serif" font-size="10.00">::rand_range</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node20->Node24 -->
|
||||
<g id="edge33" class="edge">
|
||||
<title>Node20->Node24</title>
|
||||
<path fill="none" stroke="midnightblue" d="M309.66,-276.04C335.36,-289.29 372.97,-308.69 401.11,-323.2"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="399.76,-326.44 410.25,-327.92 402.97,-320.22 399.76,-326.44"/>
|
||||
</g>
|
||||
<!-- Node22 -->
|
||||
<g id="node22" class="node">
|
||||
<title>Node22</title>
|
||||
<g id="a_node22"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/algorithm/swap.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="552.5,-251.5 552.5,-270.5 611.5,-270.5 611.5,-251.5 552.5,-251.5"/>
|
||||
<text text-anchor="middle" x="582" y="-258.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::swap</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node21->Node22 -->
|
||||
<g id="edge31" class="edge">
|
||||
<title>Node21->Node22</title>
|
||||
<path fill="none" stroke="midnightblue" d="M500.26,-261C514.47,-261 529.32,-261 542.34,-261"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="542.35,-264.5 552.35,-261 542.35,-257.5 542.35,-264.5"/>
|
||||
</g>
|
||||
<!-- Node25 -->
|
||||
<g id="node25" class="node">
|
||||
<title>Node25</title>
|
||||
<g id="a_node25"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/numeric/random/rand.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="554.5,-301.5 554.5,-320.5 609.5,-320.5 609.5,-301.5 554.5,-301.5"/>
|
||||
<text text-anchor="middle" x="582" y="-308.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::rand</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node24->Node25 -->
|
||||
<g id="edge34" class="edge">
|
||||
<title>Node24->Node25</title>
|
||||
<path fill="none" stroke="midnightblue" d="M489.12,-332.08C507.16,-327.94 527.4,-323.29 544.29,-319.42"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="545.35,-322.77 554.32,-317.12 543.79,-315.95 545.35,-322.77"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 26 KiB |
@@ -0,0 +1,27 @@
|
||||
<map id="test1" name="test1">
|
||||
<area shape="rect" id="node1" title="Self test 1 - using 3x3 randomly generated key." alt="" coords="5,447,56,473"/>
|
||||
<area shape="rect" id="node2" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/io/basic_ofstream/close.html#" title=" " alt="" coords="104,289,243,316"/>
|
||||
<area shape="rect" id="node3" href="$d6/d26/classciphers_1_1_hill_cipher.html#a427acfac1dbff3f48a2b071d449d965b" title="Decrypt a given text using a given key." alt="" coords="109,341,238,382"/>
|
||||
<area shape="rect" id="node9" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/size.html#" title=" " alt="" coords="891,516,1007,543"/>
|
||||
<area shape="rect" id="node10" href="$d6/d26/classciphers_1_1_hill_cipher.html#aa8bbb6e4a5749f6008b06602d5103917" title="Encrypt a given text using a given key." alt="" coords="109,406,238,447"/>
|
||||
<area shape="rect" id="node11" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/io/manip/endl.html#" title=" " alt="" coords="745,567,817,593"/>
|
||||
<area shape="rect" id="node12" href="$d6/d26/classciphers_1_1_hill_cipher.html#a14bfcd14af6cd853130cbacd32e35c13" title="Generate encryption and decryption key pair." alt="" coords="109,471,238,513"/>
|
||||
<area shape="rect" id="node4" href="$d6/d26/classciphers_1_1_hill_cipher.html#ad667fa0860977f6d6d443fa1dbcd80aa" title="Convenience function to perform block cipher operations. The operations are identical for both encryp..." alt="" coords="313,141,443,182"/>
|
||||
<area shape="rect" id="node5" href="$d6/d26/classciphers_1_1_hill_cipher.html#ae77cad522fa44b8c985779a7188d2f41" title="Get the index of a character in the STRKEY." alt="" coords="528,173,657,214"/>
|
||||
<area shape="rect" id="node7" 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="531,5,654,32"/>
|
||||
<area shape="rect" id="node8" href="$d6/d26/classciphers_1_1_hill_cipher.html#a40efd842a5cc44c233641ac2df13b0c0" title="helper function to perform vector multiplication with encryption or decryption matrix" alt="" coords="528,107,657,149"/>
|
||||
<area shape="rect" id="node6" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/string/byte/strlen.html#" title=" " alt="" coords="741,209,821,236"/>
|
||||
<area shape="rect" id="node13" href="$d1/dbe/lu__decomposition_8h.html#a3108d43bd32c6fb3b3c158476c51ba7f" title=" " alt="" coords="539,508,646,535"/>
|
||||
<area shape="rect" id="node15" href="$d6/d26/classciphers_1_1_hill_cipher.html#abb2c4dc2b8a59d3dfe0fa22c2adc086b" title="Generate decryption matrix from an encryption matrix key." alt="" coords="291,610,465,651"/>
|
||||
<area shape="rect" id="node19" href="$d6/d26/classciphers_1_1_hill_cipher.html#a7ca10cd1a0e8e3732391e0427d2d0213" title="Generate encryption matrix of a given size. Larger size matrices are difficult to generate but provid..." alt="" coords="291,341,465,382"/>
|
||||
<area shape="rect" id="node25" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/utility/pair/make_pair.html#" title=" " alt="" coords="324,508,432,535"/>
|
||||
<area shape="rect" id="node14" href="$d1/dbe/lu__decomposition_8h.html#a75b8a228c6419ecda6077255d6d60509" title=" " alt="" coords="720,465,843,492"/>
|
||||
<area shape="rect" id="node16" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/utility/program/exit.html#" title=" " alt="" coords="558,676,627,703"/>
|
||||
<area shape="rect" id="node17" href="$d6/d26/classciphers_1_1_hill_cipher.html#a5a4cdbd4d4dad9efe2ed309bd466dd4b" title=" " alt="" coords="528,610,657,651"/>
|
||||
<area shape="rect" id="node18" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/numeric/math/round.html#" title=" " alt="" coords="553,777,633,804"/>
|
||||
<area shape="rect" id="node20" href="$d6/d26/classciphers_1_1_hill_cipher.html#a7760f3665651a0a37937c79c62f219c0" title="Compute GCD of two integers using Euler's algorithm." alt="" coords="513,289,672,316"/>
|
||||
<area shape="rect" id="node22" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/numeric/math/isfinite.html#" title=" " alt="" coords="549,407,636,433"/>
|
||||
<area shape="rect" id="node23" href="$d6/d26/classciphers_1_1_hill_cipher.html#a629be41c1ab78850963e4ce14e1d11d9" title="Function to generate a random integer in a given interval." alt="" coords="528,341,657,382"/>
|
||||
<area shape="rect" id="node21" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/algorithm/swap.html#" title=" " alt="" coords="742,289,821,316"/>
|
||||
<area shape="rect" id="node24" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/numeric/random/rand.html#" title=" " alt="" coords="745,348,818,375"/>
|
||||
</map>
|
||||
@@ -0,0 +1 @@
|
||||
8f9dd8ce391293fefd1587b05d3daf05
|
||||
@@ -0,0 +1,552 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.44.0 (20200408.0750)
|
||||
-->
|
||||
<!-- Title: test1 Pages: 1 -->
|
||||
<!--zoomable 635 -->
|
||||
<svg id="main" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" onload="init(evt)">
|
||||
<style type="text/css"><![CDATA[
|
||||
.edge:hover path { stroke: red; }
|
||||
.edge:hover polygon { stroke: red; fill: red; }
|
||||
]]></style>
|
||||
<script type="text/javascript"><![CDATA[
|
||||
var edges = document.getElementsByTagName('g');
|
||||
if (edges && edges.length) {
|
||||
for (var i=0;i<edges.length;i++) {
|
||||
if (edges[i].id.substr(0,4)=='edge') {
|
||||
edges[i].setAttribute('class','edge');
|
||||
}
|
||||
}
|
||||
}
|
||||
]]></script>
|
||||
<defs>
|
||||
<circle id="rim" cx="0" cy="0" r="7"/>
|
||||
<circle id="rim2" cx="0" cy="0" r="3.5"/>
|
||||
<g id="zoomPlus">
|
||||
<use xlink:href="#rim" fill="#404040">
|
||||
<set attributeName="fill" to="#808080" begin="zoomplus.mouseover" end="zoomplus.mouseout"/>
|
||||
</use>
|
||||
<path d="M-4,0h8M0,-4v8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
|
||||
</g>
|
||||
<g id="zoomMin">
|
||||
<use xlink:href="#rim" fill="#404040">
|
||||
<set attributeName="fill" to="#808080" begin="zoomminus.mouseover" end="zoomminus.mouseout"/>
|
||||
</use>
|
||||
<path d="M-4,0h8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
|
||||
</g>
|
||||
<g id="dirArrow">
|
||||
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
|
||||
</g>
|
||||
<g id="resetDef">
|
||||
<use xlink:href="#rim2" fill="#404040">
|
||||
<set attributeName="fill" to="#808080" begin="reset.mouseover" end="reset.mouseout"/>
|
||||
</use>
|
||||
</g>
|
||||
</defs>
|
||||
|
||||
<script type="text/javascript">
|
||||
var viewWidth = 759;
|
||||
var viewHeight = 635;
|
||||
var sectionId = 'dynsection-3';
|
||||
</script>
|
||||
<script xlink:href="../../svgpan.js"/>
|
||||
<svg id="graph" class="graph">
|
||||
<g id="viewport">
|
||||
<title>test1</title>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-631 755,-631 755,4 -4,4"/>
|
||||
<!-- Node1 -->
|
||||
<g id="node1" class="node">
|
||||
<title>Node1</title>
|
||||
<g id="a_node1"><a xlink:title="Self test 1 - using 3x3 randomly generated key.">
|
||||
<polygon fill="#bfbfbf" stroke="black" points="0,-276.5 0,-295.5 38,-295.5 38,-276.5 0,-276.5"/>
|
||||
<text text-anchor="middle" x="19" y="-283.5" font-family="Helvetica,sans-Serif" font-size="10.00">test1</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/basic_ofstream/close.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="74,-394.5 74,-413.5 178,-413.5 178,-394.5 74,-394.5"/>
|
||||
<text text-anchor="middle" x="126" y="-401.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::ofstream::close</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node2 -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>Node1->Node2</title>
|
||||
<path fill="none" stroke="midnightblue" d="M22.89,-295.78C29.1,-315.23 45.53,-359.01 74,-384 76.35,-386.07 78.95,-387.93 81.68,-389.62"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="80.27,-392.83 90.75,-394.39 83.53,-386.63 80.27,-392.83"/>
|
||||
</g>
|
||||
<!-- Node3 -->
|
||||
<g id="node3" class="node">
|
||||
<title>Node3</title>
|
||||
<g id="a_node3"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#a427acfac1dbff3f48a2b071d449d965b" target="_top" xlink:title="Decrypt a given text using a given key.">
|
||||
<polygon fill="white" stroke="black" points="77.5,-345 77.5,-375 174.5,-375 174.5,-345 77.5,-345"/>
|
||||
<text text-anchor="start" x="85.5" y="-363" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
|
||||
<text text-anchor="middle" x="126" y="-352" font-family="Helvetica,sans-Serif" font-size="10.00">::decrypt_text</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node3 -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>Node1->Node3</title>
|
||||
<path fill="none" stroke="midnightblue" d="M28.88,-295.53C39.07,-306.1 56.61,-323.2 74,-335 76.53,-336.72 79.19,-338.38 81.92,-339.99"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="80.34,-343.11 90.78,-344.89 83.72,-336.98 80.34,-343.11"/>
|
||||
</g>
|
||||
<!-- Node9 -->
|
||||
<g id="node9" class="node">
|
||||
<title>Node9</title>
|
||||
<g id="a_node9"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/size.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="664,-224.5 664,-243.5 751,-243.5 751,-224.5 664,-224.5"/>
|
||||
<text text-anchor="middle" x="707.5" y="-231.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::size</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node9 -->
|
||||
<g id="edge36" class="edge">
|
||||
<title>Node1->Node9</title>
|
||||
<path fill="none" stroke="midnightblue" d="M23.12,-276.48C40.07,-226.86 125.9,0 278.5,0 278.5,0 278.5,0 441.5,0 535.76,0 562.58,-33.14 628,-101 661.5,-135.75 686.7,-187.38 698.71,-214.98"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="695.53,-216.46 702.66,-224.3 701.98,-213.72 695.53,-216.46"/>
|
||||
</g>
|
||||
<!-- Node10 -->
|
||||
<g id="node10" class="node">
|
||||
<title>Node10</title>
|
||||
<g id="a_node10"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#aa8bbb6e4a5749f6008b06602d5103917" target="_top" xlink:title="Encrypt a given text using a given key.">
|
||||
<polygon fill="white" stroke="black" points="77.5,-296 77.5,-326 174.5,-326 174.5,-296 77.5,-296"/>
|
||||
<text text-anchor="start" x="85.5" y="-314" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
|
||||
<text text-anchor="middle" x="126" y="-303" font-family="Helvetica,sans-Serif" font-size="10.00">::encrypt_text</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node10 -->
|
||||
<g id="edge11" class="edge">
|
||||
<title>Node1->Node10</title>
|
||||
<path fill="none" stroke="midnightblue" d="M38.29,-290.35C46.57,-292.33 56.85,-294.77 67.42,-297.29"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="66.61,-300.7 77.15,-299.61 68.23,-293.89 66.61,-300.7"/>
|
||||
</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/io/manip/endl.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="555,-186.5 555,-205.5 609,-205.5 609,-186.5 555,-186.5"/>
|
||||
<text text-anchor="middle" x="582" y="-193.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::endl</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node11 -->
|
||||
<g id="edge13" class="edge">
|
||||
<title>Node1->Node11</title>
|
||||
<path fill="none" stroke="midnightblue" d="M27.55,-276.13C37.02,-264.57 54.4,-245.88 74,-237 158.1,-198.9 443.06,-195.69 544.65,-195.79"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="544.73,-199.29 554.73,-195.81 544.74,-192.29 544.73,-199.29"/>
|
||||
</g>
|
||||
<!-- Node12 -->
|
||||
<g id="node12" class="node">
|
||||
<title>Node12</title>
|
||||
<g id="a_node12"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#a14bfcd14af6cd853130cbacd32e35c13" target="_top" xlink:title="Generate encryption and decryption key pair.">
|
||||
<polygon fill="white" stroke="black" points="77.5,-247 77.5,-277 174.5,-277 174.5,-247 77.5,-247"/>
|
||||
<text text-anchor="start" x="85.5" y="-265" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
|
||||
<text text-anchor="middle" x="126" y="-254" font-family="Helvetica,sans-Serif" font-size="10.00">::generate_keys</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node12 -->
|
||||
<g id="edge14" class="edge">
|
||||
<title>Node1->Node12</title>
|
||||
<path fill="none" stroke="midnightblue" d="M38.29,-281.82C46.48,-279.95 56.64,-277.62 67.09,-275.24"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="68.18,-278.58 77.15,-272.94 66.62,-271.75 68.18,-278.58"/>
|
||||
</g>
|
||||
<!-- Node4 -->
|
||||
<g id="node4" class="node">
|
||||
<title>Node4</title>
|
||||
<g id="a_node4"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#ad667fa0860977f6d6d443fa1dbcd80aa" target="_top" xlink:title="Convenience function to perform block cipher operations. The operations are identical for both encryp...">
|
||||
<polygon fill="white" stroke="black" points="231,-495 231,-525 328,-525 328,-495 231,-495"/>
|
||||
<text text-anchor="start" x="239" y="-513" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
|
||||
<text text-anchor="middle" x="279.5" y="-502" font-family="Helvetica,sans-Serif" font-size="10.00">::codec</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node3->Node4 -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>Node3->Node4</title>
|
||||
<path fill="none" stroke="midnightblue" d="M162.78,-375.02C168.12,-377.97 173.38,-381.3 178,-385 214.53,-414.22 246.4,-458.93 263.99,-486.21"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="261.09,-488.16 269.39,-494.74 267,-484.42 261.09,-488.16"/>
|
||||
</g>
|
||||
<!-- Node5 -->
|
||||
<g id="node5" class="node">
|
||||
<title>Node5</title>
|
||||
<g id="a_node5"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#ae77cad522fa44b8c985779a7188d2f41" target="_top" xlink:title="Get the index of a character in the STRKEY.">
|
||||
<polygon fill="white" stroke="black" points="392,-471 392,-501 489,-501 489,-471 392,-471"/>
|
||||
<text text-anchor="start" x="400" y="-489" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
|
||||
<text text-anchor="middle" x="440.5" y="-478" font-family="Helvetica,sans-Serif" font-size="10.00">::get_char_idx</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node4->Node5 -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>Node4->Node5</title>
|
||||
<path fill="none" stroke="midnightblue" d="M328.21,-502.8C345.03,-500.26 364.12,-497.38 381.69,-494.73"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="382.46,-498.15 391.83,-493.2 381.42,-491.23 382.46,-498.15"/>
|
||||
</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/string/basic_string/size.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="394.5,-607.5 394.5,-626.5 486.5,-626.5 486.5,-607.5 394.5,-607.5"/>
|
||||
<text text-anchor="middle" x="440.5" y="-614.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::string::length</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node4->Node7 -->
|
||||
<g id="edge6" class="edge">
|
||||
<title>Node4->Node7</title>
|
||||
<path fill="none" stroke="midnightblue" d="M295.73,-525.11C314.51,-543.11 348,-573.23 381,-593 387.47,-596.88 394.69,-600.41 401.78,-603.49"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="400.72,-606.84 411.3,-607.41 403.38,-600.36 400.72,-606.84"/>
|
||||
</g>
|
||||
<!-- Node8 -->
|
||||
<g id="node8" class="node">
|
||||
<title>Node8</title>
|
||||
<g id="a_node8"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#a40efd842a5cc44c233641ac2df13b0c0" target="_top" xlink:title="helper function to perform vector multiplication with encryption or decryption matrix">
|
||||
<polygon fill="white" stroke="black" points="392,-520 392,-550 489,-550 489,-520 392,-520"/>
|
||||
<text text-anchor="start" x="400" y="-538" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
|
||||
<text text-anchor="middle" x="440.5" y="-527" font-family="Helvetica,sans-Serif" font-size="10.00">::mat_mul</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node4->Node8 -->
|
||||
<g id="edge7" class="edge">
|
||||
<title>Node4->Node8</title>
|
||||
<path fill="none" stroke="midnightblue" d="M328.21,-517.5C345.03,-520.15 364.12,-523.15 381.69,-525.91"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="381.41,-529.41 391.83,-527.5 382.49,-522.49 381.41,-529.41"/>
|
||||
</g>
|
||||
<!-- Node4->Node9 -->
|
||||
<g id="edge10" class="edge">
|
||||
<title>Node4->Node9</title>
|
||||
<path fill="none" stroke="midnightblue" d="M303.29,-525.18C322.93,-537.3 352.54,-553.31 381,-560 489.4,-585.48 551.15,-598.58 628,-518 700.55,-441.93 707.21,-304.99 707.01,-253.92"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="710.51,-253.57 706.87,-243.62 703.51,-253.66 710.51,-253.57"/>
|
||||
</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/byte/strlen.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="552,-454.5 552,-473.5 612,-473.5 612,-454.5 552,-454.5"/>
|
||||
<text text-anchor="middle" x="582" y="-461.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::strlen</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node5->Node6 -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>Node5->Node6</title>
|
||||
<path fill="none" stroke="midnightblue" d="M489.12,-478.49C506.21,-475.79 525.28,-472.79 541.6,-470.21"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="542.55,-473.61 551.88,-468.59 541.46,-466.69 542.55,-473.61"/>
|
||||
</g>
|
||||
<!-- Node8->Node6 -->
|
||||
<g id="edge9" class="edge">
|
||||
<title>Node8->Node6</title>
|
||||
<path fill="none" stroke="midnightblue" d="M480.22,-519.99C486.89,-517.16 493.7,-514.1 500,-511 519.75,-501.27 541.27,-488.69 557.16,-478.99"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="559.14,-481.88 565.81,-473.65 555.47,-475.92 559.14,-481.88"/>
|
||||
</g>
|
||||
<!-- Node8->Node9 -->
|
||||
<g id="edge8" class="edge">
|
||||
<title>Node8->Node9</title>
|
||||
<path fill="none" stroke="midnightblue" d="M489.01,-533.95C530.86,-530.49 590.79,-518.99 628,-483 694.07,-419.1 704.73,-300.2 706.3,-253.53"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="709.8,-253.6 706.53,-243.52 702.8,-253.44 709.8,-253.6"/>
|
||||
</g>
|
||||
<!-- Node10->Node4 -->
|
||||
<g id="edge12" class="edge">
|
||||
<title>Node10->Node4</title>
|
||||
<path fill="none" stroke="midnightblue" d="M165.67,-326.02C170.1,-328.63 174.33,-331.62 178,-335 202.5,-357.58 246.06,-443.2 266.85,-485.72"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="263.75,-487.36 271.27,-494.83 270.05,-484.3 263.75,-487.36"/>
|
||||
</g>
|
||||
<!-- Node13 -->
|
||||
<g id="node13" class="node">
|
||||
<title>Node13</title>
|
||||
<g id="a_node13"><a xlink:href="../../d1/dbe/lu__decomposition_8h.html#a3108d43bd32c6fb3b3c158476c51ba7f" target="_top" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="400.5,-230.5 400.5,-249.5 480.5,-249.5 480.5,-230.5 400.5,-230.5"/>
|
||||
<text text-anchor="middle" x="440.5" y="-237.5" font-family="Helvetica,sans-Serif" font-size="10.00">determinant_lu</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node12->Node13 -->
|
||||
<g id="edge15" class="edge">
|
||||
<title>Node12->Node13</title>
|
||||
<path fill="none" stroke="midnightblue" d="M174.78,-263.87C219.05,-265 286.66,-265.21 345,-259 359.87,-257.42 375.88,-254.62 390.41,-251.66"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="391.15,-255.08 400.21,-249.59 389.7,-248.23 391.15,-255.08"/>
|
||||
</g>
|
||||
<!-- Node15 -->
|
||||
<g id="node15" class="node">
|
||||
<title>Node15</title>
|
||||
<g id="a_node15"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#abb2c4dc2b8a59d3dfe0fa22c2adc086b" target="_top" xlink:title="Generate decryption matrix from an encryption matrix key.">
|
||||
<polygon fill="white" stroke="black" points="214,-143 214,-173 345,-173 345,-143 214,-143"/>
|
||||
<text text-anchor="start" x="222" y="-161" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
|
||||
<text text-anchor="middle" x="279.5" y="-150" font-family="Helvetica,sans-Serif" font-size="10.00">::generate_decryption_key</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node12->Node15 -->
|
||||
<g id="edge19" class="edge">
|
||||
<title>Node12->Node15</title>
|
||||
<path fill="none" stroke="midnightblue" d="M149.03,-246.88C175.06,-229.01 218.53,-199.17 247.84,-179.05"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="250.18,-181.69 256.44,-173.14 246.22,-175.91 250.18,-181.69"/>
|
||||
</g>
|
||||
<!-- Node19 -->
|
||||
<g id="node19" class="node">
|
||||
<title>Node19</title>
|
||||
<g id="a_node19"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#a7ca10cd1a0e8e3732391e0427d2d0213" target="_top" xlink:title="Generate encryption matrix of a given size. Larger size matrices are difficult to generate but provid...">
|
||||
<polygon fill="white" stroke="black" points="214,-345 214,-375 345,-375 345,-345 214,-345"/>
|
||||
<text text-anchor="start" x="222" y="-363" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
|
||||
<text text-anchor="middle" x="279.5" y="-352" font-family="Helvetica,sans-Serif" font-size="10.00">::generate_encryption_key</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node12->Node19 -->
|
||||
<g id="edge28" class="edge">
|
||||
<title>Node12->Node19</title>
|
||||
<path fill="none" stroke="midnightblue" d="M161.49,-277.11C167.11,-279.89 172.79,-282.89 178,-286 204.55,-301.82 232.71,-322.98 252.45,-338.62"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="250.37,-341.44 260.36,-344.95 254.74,-335.97 250.37,-341.44"/>
|
||||
</g>
|
||||
<!-- Node25 -->
|
||||
<g id="node25" class="node">
|
||||
<title>Node25</title>
|
||||
<g id="a_node25"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/utility/pair/make_pair.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="239,-230.5 239,-249.5 320,-249.5 320,-230.5 239,-230.5"/>
|
||||
<text text-anchor="middle" x="279.5" y="-237.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::make_pair</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node12->Node25 -->
|
||||
<g id="edge35" class="edge">
|
||||
<title>Node12->Node25</title>
|
||||
<path fill="none" stroke="midnightblue" d="M174.52,-255.1C191.78,-252.59 211.33,-249.75 228.78,-247.22"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="229.39,-250.67 238.78,-245.77 228.38,-243.74 229.39,-250.67"/>
|
||||
</g>
|
||||
<!-- Node13->Node9 -->
|
||||
<g id="edge18" class="edge">
|
||||
<title>Node13->Node9</title>
|
||||
<path fill="none" stroke="midnightblue" d="M480.6,-239.11C526.4,-238.08 602.48,-236.36 653.54,-235.2"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="653.8,-238.69 663.72,-234.97 653.64,-231.7 653.8,-238.69"/>
|
||||
</g>
|
||||
<!-- Node14 -->
|
||||
<g id="node14" class="node">
|
||||
<title>Node14</title>
|
||||
<g id="a_node14"><a xlink:href="../../d1/dbe/lu__decomposition_8h.html#a75b8a228c6419ecda6077255d6d60509" target="_top" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="536,-262.5 536,-281.5 628,-281.5 628,-262.5 536,-262.5"/>
|
||||
<text text-anchor="middle" x="582" y="-269.5" font-family="Helvetica,sans-Serif" font-size="10.00">lu_decomposition</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node13->Node14 -->
|
||||
<g id="edge16" class="edge">
|
||||
<title>Node13->Node14</title>
|
||||
<path fill="none" stroke="midnightblue" d="M480.73,-249C495.81,-252.46 513.27,-256.46 529.34,-260.15"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="528.61,-263.57 539.14,-262.4 530.18,-256.75 528.61,-263.57"/>
|
||||
</g>
|
||||
<!-- Node14->Node9 -->
|
||||
<g id="edge17" class="edge">
|
||||
<title>Node14->Node9</title>
|
||||
<path fill="none" stroke="midnightblue" d="M614.16,-262.41C629.81,-257.6 648.97,-251.7 665.77,-246.53"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="666.82,-249.87 675.35,-243.59 664.76,-243.18 666.82,-249.87"/>
|
||||
</g>
|
||||
<!-- Node15->Node6 -->
|
||||
<g id="edge27" class="edge">
|
||||
<title>Node15->Node6</title>
|
||||
<path fill="none" stroke="midnightblue" d="M296.31,-173.11C309.47,-185.77 328.63,-204.38 345,-221 361.32,-237.58 361.3,-246.63 381,-259 428.02,-288.53 461.35,-257.14 500,-297 540.54,-338.81 505.31,-373.5 536,-423 541.93,-432.57 550.72,-441.27 558.95,-448.17"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="556.87,-450.98 566.88,-454.44 561.21,-445.49 556.87,-450.98"/>
|
||||
</g>
|
||||
<!-- Node15->Node9 -->
|
||||
<g id="edge26" class="edge">
|
||||
<title>Node15->Node9</title>
|
||||
<path fill="none" stroke="midnightblue" d="M297.88,-142.77C316.82,-127.28 348.74,-104.28 381,-95 431.83,-80.39 448.38,-83.5 500,-95 561.33,-108.66 576.63,-118.83 628,-155 653.18,-172.73 677.4,-198.97 692.12,-216.27"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="689.82,-218.97 698.91,-224.41 695.2,-214.49 689.82,-218.97"/>
|
||||
</g>
|
||||
<!-- Node15->Node13 -->
|
||||
<g id="edge20" class="edge">
|
||||
<title>Node15->Node13</title>
|
||||
<path fill="none" stroke="midnightblue" d="M309.66,-173.04C338.82,-188.08 383.33,-211.03 411.91,-225.77"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="410.46,-228.96 420.95,-230.44 413.67,-222.74 410.46,-228.96"/>
|
||||
</g>
|
||||
<!-- Node16 -->
|
||||
<g id="node16" class="node">
|
||||
<title>Node16</title>
|
||||
<g id="a_node16"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/utility/program/exit.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="414.5,-104.5 414.5,-123.5 466.5,-123.5 466.5,-104.5 414.5,-104.5"/>
|
||||
<text text-anchor="middle" x="440.5" y="-111.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::exit</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node15->Node16 -->
|
||||
<g id="edge21" class="edge">
|
||||
<title>Node15->Node16</title>
|
||||
<path fill="none" stroke="midnightblue" d="M334.77,-142.98C357.86,-136.59 384.12,-129.33 404.56,-123.67"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="405.68,-126.99 414.39,-120.95 403.81,-120.24 405.68,-126.99"/>
|
||||
</g>
|
||||
<!-- Node17 -->
|
||||
<g id="node17" class="node">
|
||||
<title>Node17</title>
|
||||
<g id="a_node17"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#a5a4cdbd4d4dad9efe2ed309bd466dd4b" target="_top" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="392,-143 392,-173 489,-173 489,-143 392,-143"/>
|
||||
<text text-anchor="start" x="400" y="-161" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
|
||||
<text text-anchor="middle" x="440.5" y="-150" font-family="Helvetica,sans-Serif" font-size="10.00">::get_inverse</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node15->Node17 -->
|
||||
<g id="edge22" class="edge">
|
||||
<title>Node15->Node17</title>
|
||||
<path fill="none" stroke="midnightblue" d="M345.17,-158C357.27,-158 369.85,-158 381.73,-158"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="381.96,-161.5 391.96,-158 381.96,-154.5 381.96,-161.5"/>
|
||||
</g>
|
||||
<!-- Node18 -->
|
||||
<g id="node18" class="node">
|
||||
<title>Node18</title>
|
||||
<g id="a_node18"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/numeric/math/round.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="410.5,-28.5 410.5,-47.5 470.5,-47.5 470.5,-28.5 410.5,-28.5"/>
|
||||
<text text-anchor="middle" x="440.5" y="-35.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::round</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node15->Node18 -->
|
||||
<g id="edge25" class="edge">
|
||||
<title>Node15->Node18</title>
|
||||
<path fill="none" stroke="midnightblue" d="M293.07,-142.86C310.85,-122.25 345.18,-85.26 381,-62 387.2,-57.97 394.19,-54.4 401.13,-51.33"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="402.57,-54.52 410.47,-47.45 399.89,-48.05 402.57,-54.52"/>
|
||||
</g>
|
||||
<!-- Node17->Node9 -->
|
||||
<g id="edge24" class="edge">
|
||||
<title>Node17->Node9</title>
|
||||
<path fill="none" stroke="midnightblue" d="M489.05,-156.12C527.7,-156.15 583,-159.82 628,-177 651.63,-186.02 674.55,-204.08 689.46,-217.46"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="687.16,-220.1 696.88,-224.33 691.92,-214.97 687.16,-220.1"/>
|
||||
</g>
|
||||
<!-- Node17->Node11 -->
|
||||
<g id="edge23" class="edge">
|
||||
<title>Node17->Node11</title>
|
||||
<path fill="none" stroke="midnightblue" d="M489.12,-170.97C507.29,-175.92 527.7,-181.48 544.65,-186.1"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="544.15,-189.59 554.72,-188.84 545.99,-182.84 544.15,-189.59"/>
|
||||
</g>
|
||||
<!-- Node19->Node6 -->
|
||||
<g id="edge34" class="edge">
|
||||
<title>Node19->Node6</title>
|
||||
<path fill="none" stroke="midnightblue" d="M299.76,-375.04C319.2,-389.47 350.61,-410.82 381,-423 434.42,-444.4 500.53,-455.15 541.75,-460.15"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="541.58,-463.65 551.92,-461.33 542.39,-456.7 541.58,-463.65"/>
|
||||
</g>
|
||||
<!-- Node20 -->
|
||||
<g id="node20" class="node">
|
||||
<title>Node20</title>
|
||||
<g id="a_node20"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#a7760f3665651a0a37937c79c62f219c0" target="_top" xlink:title="Compute GCD of two integers using Euler's algorithm.">
|
||||
<polygon fill="white" stroke="black" points="381,-394.5 381,-413.5 500,-413.5 500,-394.5 381,-394.5"/>
|
||||
<text text-anchor="middle" x="440.5" y="-401.5" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher::gcd</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node19->Node20 -->
|
||||
<g id="edge29" class="edge">
|
||||
<title>Node19->Node20</title>
|
||||
<path fill="none" stroke="midnightblue" d="M334.77,-375.02C354.45,-380.46 376.42,-386.54 395.14,-391.72"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="394.32,-395.13 404.89,-394.42 396.18,-388.38 394.32,-395.13"/>
|
||||
</g>
|
||||
<!-- Node22 -->
|
||||
<g id="node22" class="node">
|
||||
<title>Node22</title>
|
||||
<g id="a_node22"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/numeric/math/isfinite.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="408,-306.5 408,-325.5 473,-325.5 473,-306.5 408,-306.5"/>
|
||||
<text text-anchor="middle" x="440.5" y="-313.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::isfinite</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node19->Node22 -->
|
||||
<g id="edge31" class="edge">
|
||||
<title>Node19->Node22</title>
|
||||
<path fill="none" stroke="midnightblue" d="M334.77,-344.98C355.46,-339.26 378.68,-332.83 398,-327.48"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="399,-330.84 407.71,-324.8 397.14,-324.09 399,-330.84"/>
|
||||
</g>
|
||||
<!-- Node23 -->
|
||||
<g id="node23" class="node">
|
||||
<title>Node23</title>
|
||||
<g id="a_node23"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#a629be41c1ab78850963e4ce14e1d11d9" target="_top" xlink:title="Function to generate a random integer in a given interval.">
|
||||
<polygon fill="white" stroke="black" points="392,-345 392,-375 489,-375 489,-345 392,-345"/>
|
||||
<text text-anchor="start" x="400" y="-363" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
|
||||
<text text-anchor="middle" x="440.5" y="-352" font-family="Helvetica,sans-Serif" font-size="10.00">::rand_range</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node19->Node23 -->
|
||||
<g id="edge32" class="edge">
|
||||
<title>Node19->Node23</title>
|
||||
<path fill="none" stroke="midnightblue" d="M345.17,-360C357.27,-360 369.85,-360 381.73,-360"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="381.96,-363.5 391.96,-360 381.96,-356.5 381.96,-363.5"/>
|
||||
</g>
|
||||
<!-- Node21 -->
|
||||
<g id="node21" class="node">
|
||||
<title>Node21</title>
|
||||
<g id="a_node21"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/algorithm/swap.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="552.5,-394.5 552.5,-413.5 611.5,-413.5 611.5,-394.5 552.5,-394.5"/>
|
||||
<text text-anchor="middle" x="582" y="-401.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::swap</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node20->Node21 -->
|
||||
<g id="edge30" class="edge">
|
||||
<title>Node20->Node21</title>
|
||||
<path fill="none" stroke="midnightblue" d="M500.26,-404C514.47,-404 529.32,-404 542.34,-404"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="542.35,-407.5 552.35,-404 542.35,-400.5 542.35,-407.5"/>
|
||||
</g>
|
||||
<!-- Node24 -->
|
||||
<g id="node24" class="node">
|
||||
<title>Node24</title>
|
||||
<g id="a_node24"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/numeric/random/rand.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="554.5,-350.5 554.5,-369.5 609.5,-369.5 609.5,-350.5 554.5,-350.5"/>
|
||||
<text text-anchor="middle" x="582" y="-357.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::rand</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node23->Node24 -->
|
||||
<g id="edge33" class="edge">
|
||||
<title>Node23->Node24</title>
|
||||
<path fill="none" stroke="midnightblue" d="M489.12,-360C507.16,-360 527.4,-360 544.29,-360"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="544.32,-363.5 554.32,-360 544.32,-356.5 544.32,-363.5"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
<g id="navigator" transform="translate(0 0)" fill="#404254">
|
||||
<rect fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width=".5" x="0" y="0" width="60" height="60"/>
|
||||
<use id="zoomplus" xlink:href="#zoomPlus" x="17" y="9" onmousedown="handleZoom(evt,'in')"/>
|
||||
<use id="zoomminus" xlink:href="#zoomMin" x="42" y="9" onmousedown="handleZoom(evt,'out')"/>
|
||||
<use id="reset" xlink:href="#resetDef" x="30" y="36" onmousedown="handleReset()"/>
|
||||
<g id="arrowUp" xlink:href="#dirArrow" transform="translate(30 24)" onmousedown="handlePan(0,-1)">
|
||||
<use xlink:href="#rim" fill="#404040">
|
||||
<set attributeName="fill" to="#808080" begin="arrowUp.mouseover" end="arrowUp.mouseout"/>
|
||||
</use>
|
||||
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
|
||||
</g>
|
||||
<g id="arrowRight" xlink:href="#dirArrow" transform="rotate(90) translate(36 -43)" onmousedown="handlePan(1,0)">
|
||||
<use xlink:href="#rim" fill="#404040">
|
||||
<set attributeName="fill" to="#808080" begin="arrowRight.mouseover" end="arrowRight.mouseout"/>
|
||||
</use>
|
||||
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
|
||||
</g>
|
||||
<g id="arrowDown" xlink:href="#dirArrow" transform="rotate(180) translate(-30 -48)" onmousedown="handlePan(0,1)">
|
||||
<use xlink:href="#rim" fill="#404040">
|
||||
<set attributeName="fill" to="#808080" begin="arrowDown.mouseover" end="arrowDown.mouseout"/>
|
||||
</use>
|
||||
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
|
||||
</g>
|
||||
<g id="arrowLeft" xlink:href="#dirArrow" transform="rotate(270) translate(-36 17)" onmousedown="handlePan(-1,0)">
|
||||
<use xlink:href="#rim" fill="#404040">
|
||||
<set attributeName="fill" to="#808080" begin="arrowLeft.mouseover" end="arrowLeft.mouseout"/>
|
||||
</use>
|
||||
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
|
||||
</g>
|
||||
</g>
|
||||
<svg viewBox="0 0 15 15" width="100%" height="30px" preserveAspectRatio="xMaxYMin meet">
|
||||
<g id="arrow_out" transform="scale(0.3 0.3)">
|
||||
<a xlink:href="hill__cipher_8cpp_a3147ad576f8a94a2a6b66948672b452b_cgraph_org.svg" target="_base">
|
||||
<rect id="button" ry="5" rx="5" y="6" x="6" height="38" width="38"
|
||||
fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width="1.0"/>
|
||||
<path id="arrow"
|
||||
d="M 11.500037,31.436501 C 11.940474,20.09759 22.043105,11.32322 32.158766,21.979434 L 37.068811,17.246167 C 37.068811,17.246167 37.088388,32 37.088388,32 L 22.160133,31.978069 C 22.160133,31.978069 26.997745,27.140456 26.997745,27.140456 C 18.528582,18.264221 13.291696,25.230495 11.500037,31.436501 z"
|
||||
style="fill:#404040;"/>
|
||||
</a>
|
||||
</g>
|
||||
</svg>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 30 KiB |
@@ -0,0 +1,464 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.44.0 (20200408.0750)
|
||||
-->
|
||||
<!-- Title: test1 Pages: 1 -->
|
||||
<svg width="759pt" height="635pt"
|
||||
viewBox="0.00 0.00 759.00 635.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 631)">
|
||||
<title>test1</title>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-631 755,-631 755,4 -4,4"/>
|
||||
<!-- Node1 -->
|
||||
<g id="node1" class="node">
|
||||
<title>Node1</title>
|
||||
<g id="a_node1"><a xlink:title="Self test 1 - using 3x3 randomly generated key.">
|
||||
<polygon fill="#bfbfbf" stroke="black" points="0,-276.5 0,-295.5 38,-295.5 38,-276.5 0,-276.5"/>
|
||||
<text text-anchor="middle" x="19" y="-283.5" font-family="Helvetica,sans-Serif" font-size="10.00">test1</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/basic_ofstream/close.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="74,-394.5 74,-413.5 178,-413.5 178,-394.5 74,-394.5"/>
|
||||
<text text-anchor="middle" x="126" y="-401.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::ofstream::close</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node2 -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>Node1->Node2</title>
|
||||
<path fill="none" stroke="midnightblue" d="M22.89,-295.78C29.1,-315.23 45.53,-359.01 74,-384 76.35,-386.07 78.95,-387.93 81.68,-389.62"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="80.27,-392.83 90.75,-394.39 83.53,-386.63 80.27,-392.83"/>
|
||||
</g>
|
||||
<!-- Node3 -->
|
||||
<g id="node3" class="node">
|
||||
<title>Node3</title>
|
||||
<g id="a_node3"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#a427acfac1dbff3f48a2b071d449d965b" target="_top" xlink:title="Decrypt a given text using a given key.">
|
||||
<polygon fill="white" stroke="black" points="77.5,-345 77.5,-375 174.5,-375 174.5,-345 77.5,-345"/>
|
||||
<text text-anchor="start" x="85.5" y="-363" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
|
||||
<text text-anchor="middle" x="126" y="-352" font-family="Helvetica,sans-Serif" font-size="10.00">::decrypt_text</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node3 -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>Node1->Node3</title>
|
||||
<path fill="none" stroke="midnightblue" d="M28.88,-295.53C39.07,-306.1 56.61,-323.2 74,-335 76.53,-336.72 79.19,-338.38 81.92,-339.99"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="80.34,-343.11 90.78,-344.89 83.72,-336.98 80.34,-343.11"/>
|
||||
</g>
|
||||
<!-- Node9 -->
|
||||
<g id="node9" class="node">
|
||||
<title>Node9</title>
|
||||
<g id="a_node9"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/size.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="664,-224.5 664,-243.5 751,-243.5 751,-224.5 664,-224.5"/>
|
||||
<text text-anchor="middle" x="707.5" y="-231.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::size</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node9 -->
|
||||
<g id="edge36" class="edge">
|
||||
<title>Node1->Node9</title>
|
||||
<path fill="none" stroke="midnightblue" d="M23.12,-276.48C40.07,-226.86 125.9,0 278.5,0 278.5,0 278.5,0 441.5,0 535.76,0 562.58,-33.14 628,-101 661.5,-135.75 686.7,-187.38 698.71,-214.98"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="695.53,-216.46 702.66,-224.3 701.98,-213.72 695.53,-216.46"/>
|
||||
</g>
|
||||
<!-- Node10 -->
|
||||
<g id="node10" class="node">
|
||||
<title>Node10</title>
|
||||
<g id="a_node10"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#aa8bbb6e4a5749f6008b06602d5103917" target="_top" xlink:title="Encrypt a given text using a given key.">
|
||||
<polygon fill="white" stroke="black" points="77.5,-296 77.5,-326 174.5,-326 174.5,-296 77.5,-296"/>
|
||||
<text text-anchor="start" x="85.5" y="-314" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
|
||||
<text text-anchor="middle" x="126" y="-303" font-family="Helvetica,sans-Serif" font-size="10.00">::encrypt_text</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node10 -->
|
||||
<g id="edge11" class="edge">
|
||||
<title>Node1->Node10</title>
|
||||
<path fill="none" stroke="midnightblue" d="M38.29,-290.35C46.57,-292.33 56.85,-294.77 67.42,-297.29"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="66.61,-300.7 77.15,-299.61 68.23,-293.89 66.61,-300.7"/>
|
||||
</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/io/manip/endl.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="555,-186.5 555,-205.5 609,-205.5 609,-186.5 555,-186.5"/>
|
||||
<text text-anchor="middle" x="582" y="-193.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::endl</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node11 -->
|
||||
<g id="edge13" class="edge">
|
||||
<title>Node1->Node11</title>
|
||||
<path fill="none" stroke="midnightblue" d="M27.55,-276.13C37.02,-264.57 54.4,-245.88 74,-237 158.1,-198.9 443.06,-195.69 544.65,-195.79"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="544.73,-199.29 554.73,-195.81 544.74,-192.29 544.73,-199.29"/>
|
||||
</g>
|
||||
<!-- Node12 -->
|
||||
<g id="node12" class="node">
|
||||
<title>Node12</title>
|
||||
<g id="a_node12"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#a14bfcd14af6cd853130cbacd32e35c13" target="_top" xlink:title="Generate encryption and decryption key pair.">
|
||||
<polygon fill="white" stroke="black" points="77.5,-247 77.5,-277 174.5,-277 174.5,-247 77.5,-247"/>
|
||||
<text text-anchor="start" x="85.5" y="-265" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
|
||||
<text text-anchor="middle" x="126" y="-254" font-family="Helvetica,sans-Serif" font-size="10.00">::generate_keys</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node12 -->
|
||||
<g id="edge14" class="edge">
|
||||
<title>Node1->Node12</title>
|
||||
<path fill="none" stroke="midnightblue" d="M38.29,-281.82C46.48,-279.95 56.64,-277.62 67.09,-275.24"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="68.18,-278.58 77.15,-272.94 66.62,-271.75 68.18,-278.58"/>
|
||||
</g>
|
||||
<!-- Node4 -->
|
||||
<g id="node4" class="node">
|
||||
<title>Node4</title>
|
||||
<g id="a_node4"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#ad667fa0860977f6d6d443fa1dbcd80aa" target="_top" xlink:title="Convenience function to perform block cipher operations. The operations are identical for both encryp...">
|
||||
<polygon fill="white" stroke="black" points="231,-495 231,-525 328,-525 328,-495 231,-495"/>
|
||||
<text text-anchor="start" x="239" y="-513" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
|
||||
<text text-anchor="middle" x="279.5" y="-502" font-family="Helvetica,sans-Serif" font-size="10.00">::codec</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node3->Node4 -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>Node3->Node4</title>
|
||||
<path fill="none" stroke="midnightblue" d="M162.78,-375.02C168.12,-377.97 173.38,-381.3 178,-385 214.53,-414.22 246.4,-458.93 263.99,-486.21"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="261.09,-488.16 269.39,-494.74 267,-484.42 261.09,-488.16"/>
|
||||
</g>
|
||||
<!-- Node5 -->
|
||||
<g id="node5" class="node">
|
||||
<title>Node5</title>
|
||||
<g id="a_node5"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#ae77cad522fa44b8c985779a7188d2f41" target="_top" xlink:title="Get the index of a character in the STRKEY.">
|
||||
<polygon fill="white" stroke="black" points="392,-471 392,-501 489,-501 489,-471 392,-471"/>
|
||||
<text text-anchor="start" x="400" y="-489" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
|
||||
<text text-anchor="middle" x="440.5" y="-478" font-family="Helvetica,sans-Serif" font-size="10.00">::get_char_idx</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node4->Node5 -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>Node4->Node5</title>
|
||||
<path fill="none" stroke="midnightblue" d="M328.21,-502.8C345.03,-500.26 364.12,-497.38 381.69,-494.73"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="382.46,-498.15 391.83,-493.2 381.42,-491.23 382.46,-498.15"/>
|
||||
</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/string/basic_string/size.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="394.5,-607.5 394.5,-626.5 486.5,-626.5 486.5,-607.5 394.5,-607.5"/>
|
||||
<text text-anchor="middle" x="440.5" y="-614.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::string::length</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node4->Node7 -->
|
||||
<g id="edge6" class="edge">
|
||||
<title>Node4->Node7</title>
|
||||
<path fill="none" stroke="midnightblue" d="M295.73,-525.11C314.51,-543.11 348,-573.23 381,-593 387.47,-596.88 394.69,-600.41 401.78,-603.49"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="400.72,-606.84 411.3,-607.41 403.38,-600.36 400.72,-606.84"/>
|
||||
</g>
|
||||
<!-- Node8 -->
|
||||
<g id="node8" class="node">
|
||||
<title>Node8</title>
|
||||
<g id="a_node8"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#a40efd842a5cc44c233641ac2df13b0c0" target="_top" xlink:title="helper function to perform vector multiplication with encryption or decryption matrix">
|
||||
<polygon fill="white" stroke="black" points="392,-520 392,-550 489,-550 489,-520 392,-520"/>
|
||||
<text text-anchor="start" x="400" y="-538" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
|
||||
<text text-anchor="middle" x="440.5" y="-527" font-family="Helvetica,sans-Serif" font-size="10.00">::mat_mul</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node4->Node8 -->
|
||||
<g id="edge7" class="edge">
|
||||
<title>Node4->Node8</title>
|
||||
<path fill="none" stroke="midnightblue" d="M328.21,-517.5C345.03,-520.15 364.12,-523.15 381.69,-525.91"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="381.41,-529.41 391.83,-527.5 382.49,-522.49 381.41,-529.41"/>
|
||||
</g>
|
||||
<!-- Node4->Node9 -->
|
||||
<g id="edge10" class="edge">
|
||||
<title>Node4->Node9</title>
|
||||
<path fill="none" stroke="midnightblue" d="M303.29,-525.18C322.93,-537.3 352.54,-553.31 381,-560 489.4,-585.48 551.15,-598.58 628,-518 700.55,-441.93 707.21,-304.99 707.01,-253.92"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="710.51,-253.57 706.87,-243.62 703.51,-253.66 710.51,-253.57"/>
|
||||
</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/byte/strlen.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="552,-454.5 552,-473.5 612,-473.5 612,-454.5 552,-454.5"/>
|
||||
<text text-anchor="middle" x="582" y="-461.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::strlen</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node5->Node6 -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>Node5->Node6</title>
|
||||
<path fill="none" stroke="midnightblue" d="M489.12,-478.49C506.21,-475.79 525.28,-472.79 541.6,-470.21"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="542.55,-473.61 551.88,-468.59 541.46,-466.69 542.55,-473.61"/>
|
||||
</g>
|
||||
<!-- Node8->Node6 -->
|
||||
<g id="edge9" class="edge">
|
||||
<title>Node8->Node6</title>
|
||||
<path fill="none" stroke="midnightblue" d="M480.22,-519.99C486.89,-517.16 493.7,-514.1 500,-511 519.75,-501.27 541.27,-488.69 557.16,-478.99"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="559.14,-481.88 565.81,-473.65 555.47,-475.92 559.14,-481.88"/>
|
||||
</g>
|
||||
<!-- Node8->Node9 -->
|
||||
<g id="edge8" class="edge">
|
||||
<title>Node8->Node9</title>
|
||||
<path fill="none" stroke="midnightblue" d="M489.01,-533.95C530.86,-530.49 590.79,-518.99 628,-483 694.07,-419.1 704.73,-300.2 706.3,-253.53"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="709.8,-253.6 706.53,-243.52 702.8,-253.44 709.8,-253.6"/>
|
||||
</g>
|
||||
<!-- Node10->Node4 -->
|
||||
<g id="edge12" class="edge">
|
||||
<title>Node10->Node4</title>
|
||||
<path fill="none" stroke="midnightblue" d="M165.67,-326.02C170.1,-328.63 174.33,-331.62 178,-335 202.5,-357.58 246.06,-443.2 266.85,-485.72"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="263.75,-487.36 271.27,-494.83 270.05,-484.3 263.75,-487.36"/>
|
||||
</g>
|
||||
<!-- Node13 -->
|
||||
<g id="node13" class="node">
|
||||
<title>Node13</title>
|
||||
<g id="a_node13"><a xlink:href="../../d1/dbe/lu__decomposition_8h.html#a3108d43bd32c6fb3b3c158476c51ba7f" target="_top" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="400.5,-230.5 400.5,-249.5 480.5,-249.5 480.5,-230.5 400.5,-230.5"/>
|
||||
<text text-anchor="middle" x="440.5" y="-237.5" font-family="Helvetica,sans-Serif" font-size="10.00">determinant_lu</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node12->Node13 -->
|
||||
<g id="edge15" class="edge">
|
||||
<title>Node12->Node13</title>
|
||||
<path fill="none" stroke="midnightblue" d="M174.78,-263.87C219.05,-265 286.66,-265.21 345,-259 359.87,-257.42 375.88,-254.62 390.41,-251.66"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="391.15,-255.08 400.21,-249.59 389.7,-248.23 391.15,-255.08"/>
|
||||
</g>
|
||||
<!-- Node15 -->
|
||||
<g id="node15" class="node">
|
||||
<title>Node15</title>
|
||||
<g id="a_node15"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#abb2c4dc2b8a59d3dfe0fa22c2adc086b" target="_top" xlink:title="Generate decryption matrix from an encryption matrix key.">
|
||||
<polygon fill="white" stroke="black" points="214,-143 214,-173 345,-173 345,-143 214,-143"/>
|
||||
<text text-anchor="start" x="222" y="-161" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
|
||||
<text text-anchor="middle" x="279.5" y="-150" font-family="Helvetica,sans-Serif" font-size="10.00">::generate_decryption_key</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node12->Node15 -->
|
||||
<g id="edge19" class="edge">
|
||||
<title>Node12->Node15</title>
|
||||
<path fill="none" stroke="midnightblue" d="M149.03,-246.88C175.06,-229.01 218.53,-199.17 247.84,-179.05"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="250.18,-181.69 256.44,-173.14 246.22,-175.91 250.18,-181.69"/>
|
||||
</g>
|
||||
<!-- Node19 -->
|
||||
<g id="node19" class="node">
|
||||
<title>Node19</title>
|
||||
<g id="a_node19"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#a7ca10cd1a0e8e3732391e0427d2d0213" target="_top" xlink:title="Generate encryption matrix of a given size. Larger size matrices are difficult to generate but provid...">
|
||||
<polygon fill="white" stroke="black" points="214,-345 214,-375 345,-375 345,-345 214,-345"/>
|
||||
<text text-anchor="start" x="222" y="-363" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
|
||||
<text text-anchor="middle" x="279.5" y="-352" font-family="Helvetica,sans-Serif" font-size="10.00">::generate_encryption_key</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node12->Node19 -->
|
||||
<g id="edge28" class="edge">
|
||||
<title>Node12->Node19</title>
|
||||
<path fill="none" stroke="midnightblue" d="M161.49,-277.11C167.11,-279.89 172.79,-282.89 178,-286 204.55,-301.82 232.71,-322.98 252.45,-338.62"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="250.37,-341.44 260.36,-344.95 254.74,-335.97 250.37,-341.44"/>
|
||||
</g>
|
||||
<!-- Node25 -->
|
||||
<g id="node25" class="node">
|
||||
<title>Node25</title>
|
||||
<g id="a_node25"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/utility/pair/make_pair.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="239,-230.5 239,-249.5 320,-249.5 320,-230.5 239,-230.5"/>
|
||||
<text text-anchor="middle" x="279.5" y="-237.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::make_pair</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node12->Node25 -->
|
||||
<g id="edge35" class="edge">
|
||||
<title>Node12->Node25</title>
|
||||
<path fill="none" stroke="midnightblue" d="M174.52,-255.1C191.78,-252.59 211.33,-249.75 228.78,-247.22"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="229.39,-250.67 238.78,-245.77 228.38,-243.74 229.39,-250.67"/>
|
||||
</g>
|
||||
<!-- Node13->Node9 -->
|
||||
<g id="edge18" class="edge">
|
||||
<title>Node13->Node9</title>
|
||||
<path fill="none" stroke="midnightblue" d="M480.6,-239.11C526.4,-238.08 602.48,-236.36 653.54,-235.2"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="653.8,-238.69 663.72,-234.97 653.64,-231.7 653.8,-238.69"/>
|
||||
</g>
|
||||
<!-- Node14 -->
|
||||
<g id="node14" class="node">
|
||||
<title>Node14</title>
|
||||
<g id="a_node14"><a xlink:href="../../d1/dbe/lu__decomposition_8h.html#a75b8a228c6419ecda6077255d6d60509" target="_top" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="536,-262.5 536,-281.5 628,-281.5 628,-262.5 536,-262.5"/>
|
||||
<text text-anchor="middle" x="582" y="-269.5" font-family="Helvetica,sans-Serif" font-size="10.00">lu_decomposition</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node13->Node14 -->
|
||||
<g id="edge16" class="edge">
|
||||
<title>Node13->Node14</title>
|
||||
<path fill="none" stroke="midnightblue" d="M480.73,-249C495.81,-252.46 513.27,-256.46 529.34,-260.15"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="528.61,-263.57 539.14,-262.4 530.18,-256.75 528.61,-263.57"/>
|
||||
</g>
|
||||
<!-- Node14->Node9 -->
|
||||
<g id="edge17" class="edge">
|
||||
<title>Node14->Node9</title>
|
||||
<path fill="none" stroke="midnightblue" d="M614.16,-262.41C629.81,-257.6 648.97,-251.7 665.77,-246.53"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="666.82,-249.87 675.35,-243.59 664.76,-243.18 666.82,-249.87"/>
|
||||
</g>
|
||||
<!-- Node15->Node6 -->
|
||||
<g id="edge27" class="edge">
|
||||
<title>Node15->Node6</title>
|
||||
<path fill="none" stroke="midnightblue" d="M296.31,-173.11C309.47,-185.77 328.63,-204.38 345,-221 361.32,-237.58 361.3,-246.63 381,-259 428.02,-288.53 461.35,-257.14 500,-297 540.54,-338.81 505.31,-373.5 536,-423 541.93,-432.57 550.72,-441.27 558.95,-448.17"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="556.87,-450.98 566.88,-454.44 561.21,-445.49 556.87,-450.98"/>
|
||||
</g>
|
||||
<!-- Node15->Node9 -->
|
||||
<g id="edge26" class="edge">
|
||||
<title>Node15->Node9</title>
|
||||
<path fill="none" stroke="midnightblue" d="M297.88,-142.77C316.82,-127.28 348.74,-104.28 381,-95 431.83,-80.39 448.38,-83.5 500,-95 561.33,-108.66 576.63,-118.83 628,-155 653.18,-172.73 677.4,-198.97 692.12,-216.27"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="689.82,-218.97 698.91,-224.41 695.2,-214.49 689.82,-218.97"/>
|
||||
</g>
|
||||
<!-- Node15->Node13 -->
|
||||
<g id="edge20" class="edge">
|
||||
<title>Node15->Node13</title>
|
||||
<path fill="none" stroke="midnightblue" d="M309.66,-173.04C338.82,-188.08 383.33,-211.03 411.91,-225.77"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="410.46,-228.96 420.95,-230.44 413.67,-222.74 410.46,-228.96"/>
|
||||
</g>
|
||||
<!-- Node16 -->
|
||||
<g id="node16" class="node">
|
||||
<title>Node16</title>
|
||||
<g id="a_node16"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/utility/program/exit.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="414.5,-104.5 414.5,-123.5 466.5,-123.5 466.5,-104.5 414.5,-104.5"/>
|
||||
<text text-anchor="middle" x="440.5" y="-111.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::exit</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node15->Node16 -->
|
||||
<g id="edge21" class="edge">
|
||||
<title>Node15->Node16</title>
|
||||
<path fill="none" stroke="midnightblue" d="M334.77,-142.98C357.86,-136.59 384.12,-129.33 404.56,-123.67"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="405.68,-126.99 414.39,-120.95 403.81,-120.24 405.68,-126.99"/>
|
||||
</g>
|
||||
<!-- Node17 -->
|
||||
<g id="node17" class="node">
|
||||
<title>Node17</title>
|
||||
<g id="a_node17"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#a5a4cdbd4d4dad9efe2ed309bd466dd4b" target="_top" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="392,-143 392,-173 489,-173 489,-143 392,-143"/>
|
||||
<text text-anchor="start" x="400" y="-161" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
|
||||
<text text-anchor="middle" x="440.5" y="-150" font-family="Helvetica,sans-Serif" font-size="10.00">::get_inverse</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node15->Node17 -->
|
||||
<g id="edge22" class="edge">
|
||||
<title>Node15->Node17</title>
|
||||
<path fill="none" stroke="midnightblue" d="M345.17,-158C357.27,-158 369.85,-158 381.73,-158"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="381.96,-161.5 391.96,-158 381.96,-154.5 381.96,-161.5"/>
|
||||
</g>
|
||||
<!-- Node18 -->
|
||||
<g id="node18" class="node">
|
||||
<title>Node18</title>
|
||||
<g id="a_node18"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/numeric/math/round.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="410.5,-28.5 410.5,-47.5 470.5,-47.5 470.5,-28.5 410.5,-28.5"/>
|
||||
<text text-anchor="middle" x="440.5" y="-35.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::round</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node15->Node18 -->
|
||||
<g id="edge25" class="edge">
|
||||
<title>Node15->Node18</title>
|
||||
<path fill="none" stroke="midnightblue" d="M293.07,-142.86C310.85,-122.25 345.18,-85.26 381,-62 387.2,-57.97 394.19,-54.4 401.13,-51.33"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="402.57,-54.52 410.47,-47.45 399.89,-48.05 402.57,-54.52"/>
|
||||
</g>
|
||||
<!-- Node17->Node9 -->
|
||||
<g id="edge24" class="edge">
|
||||
<title>Node17->Node9</title>
|
||||
<path fill="none" stroke="midnightblue" d="M489.05,-156.12C527.7,-156.15 583,-159.82 628,-177 651.63,-186.02 674.55,-204.08 689.46,-217.46"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="687.16,-220.1 696.88,-224.33 691.92,-214.97 687.16,-220.1"/>
|
||||
</g>
|
||||
<!-- Node17->Node11 -->
|
||||
<g id="edge23" class="edge">
|
||||
<title>Node17->Node11</title>
|
||||
<path fill="none" stroke="midnightblue" d="M489.12,-170.97C507.29,-175.92 527.7,-181.48 544.65,-186.1"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="544.15,-189.59 554.72,-188.84 545.99,-182.84 544.15,-189.59"/>
|
||||
</g>
|
||||
<!-- Node19->Node6 -->
|
||||
<g id="edge34" class="edge">
|
||||
<title>Node19->Node6</title>
|
||||
<path fill="none" stroke="midnightblue" d="M299.76,-375.04C319.2,-389.47 350.61,-410.82 381,-423 434.42,-444.4 500.53,-455.15 541.75,-460.15"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="541.58,-463.65 551.92,-461.33 542.39,-456.7 541.58,-463.65"/>
|
||||
</g>
|
||||
<!-- Node20 -->
|
||||
<g id="node20" class="node">
|
||||
<title>Node20</title>
|
||||
<g id="a_node20"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#a7760f3665651a0a37937c79c62f219c0" target="_top" xlink:title="Compute GCD of two integers using Euler's algorithm.">
|
||||
<polygon fill="white" stroke="black" points="381,-394.5 381,-413.5 500,-413.5 500,-394.5 381,-394.5"/>
|
||||
<text text-anchor="middle" x="440.5" y="-401.5" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher::gcd</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node19->Node20 -->
|
||||
<g id="edge29" class="edge">
|
||||
<title>Node19->Node20</title>
|
||||
<path fill="none" stroke="midnightblue" d="M334.77,-375.02C354.45,-380.46 376.42,-386.54 395.14,-391.72"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="394.32,-395.13 404.89,-394.42 396.18,-388.38 394.32,-395.13"/>
|
||||
</g>
|
||||
<!-- Node22 -->
|
||||
<g id="node22" class="node">
|
||||
<title>Node22</title>
|
||||
<g id="a_node22"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/numeric/math/isfinite.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="408,-306.5 408,-325.5 473,-325.5 473,-306.5 408,-306.5"/>
|
||||
<text text-anchor="middle" x="440.5" y="-313.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::isfinite</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node19->Node22 -->
|
||||
<g id="edge31" class="edge">
|
||||
<title>Node19->Node22</title>
|
||||
<path fill="none" stroke="midnightblue" d="M334.77,-344.98C355.46,-339.26 378.68,-332.83 398,-327.48"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="399,-330.84 407.71,-324.8 397.14,-324.09 399,-330.84"/>
|
||||
</g>
|
||||
<!-- Node23 -->
|
||||
<g id="node23" class="node">
|
||||
<title>Node23</title>
|
||||
<g id="a_node23"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#a629be41c1ab78850963e4ce14e1d11d9" target="_top" xlink:title="Function to generate a random integer in a given interval.">
|
||||
<polygon fill="white" stroke="black" points="392,-345 392,-375 489,-375 489,-345 392,-345"/>
|
||||
<text text-anchor="start" x="400" y="-363" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
|
||||
<text text-anchor="middle" x="440.5" y="-352" font-family="Helvetica,sans-Serif" font-size="10.00">::rand_range</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node19->Node23 -->
|
||||
<g id="edge32" class="edge">
|
||||
<title>Node19->Node23</title>
|
||||
<path fill="none" stroke="midnightblue" d="M345.17,-360C357.27,-360 369.85,-360 381.73,-360"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="381.96,-363.5 391.96,-360 381.96,-356.5 381.96,-363.5"/>
|
||||
</g>
|
||||
<!-- Node21 -->
|
||||
<g id="node21" class="node">
|
||||
<title>Node21</title>
|
||||
<g id="a_node21"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/algorithm/swap.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="552.5,-394.5 552.5,-413.5 611.5,-413.5 611.5,-394.5 552.5,-394.5"/>
|
||||
<text text-anchor="middle" x="582" y="-401.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::swap</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node20->Node21 -->
|
||||
<g id="edge30" class="edge">
|
||||
<title>Node20->Node21</title>
|
||||
<path fill="none" stroke="midnightblue" d="M500.26,-404C514.47,-404 529.32,-404 542.34,-404"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="542.35,-407.5 552.35,-404 542.35,-400.5 542.35,-407.5"/>
|
||||
</g>
|
||||
<!-- Node24 -->
|
||||
<g id="node24" class="node">
|
||||
<title>Node24</title>
|
||||
<g id="a_node24"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/numeric/random/rand.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="554.5,-350.5 554.5,-369.5 609.5,-369.5 609.5,-350.5 554.5,-350.5"/>
|
||||
<text text-anchor="middle" x="582" y="-357.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::rand</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node23->Node24 -->
|
||||
<g id="edge33" class="edge">
|
||||
<title>Node23->Node24</title>
|
||||
<path fill="none" stroke="midnightblue" d="M489.12,-360C507.16,-360 527.4,-360 544.29,-360"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="544.32,-363.5 554.32,-360 544.32,-356.5 544.32,-363.5"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 25 KiB |
@@ -0,0 +1,32 @@
|
||||
<map id="main" name="main">
|
||||
<area shape="rect" id="node1" title=" " alt="" coords="5,537,56,564"/>
|
||||
<area shape="rect" id="node2" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/numeric/random/srand.html#" title=" " alt="" coords="104,354,184,381"/>
|
||||
<area shape="rect" id="node3" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/string/byte/strlen.html#" title=" " alt="" coords="869,570,949,597"/>
|
||||
<area shape="rect" id="node4" href="$d7/db9/hill__cipher_8cpp.html#a3147ad576f8a94a2a6b66948672b452b" title="Self test 1 - using 3x3 randomly generated key." alt="" coords="119,537,169,564"/>
|
||||
<area shape="rect" id="node28" href="$d7/db9/hill__cipher_8cpp.html#a04391124480d2a49f2dec900237b0712" title="Self test 2 - using 8x8 randomly generated key." alt="" coords="119,594,169,621"/>
|
||||
<area shape="rect" id="node30" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/chrono/c/time.html#" title=" " alt="" coords="107,645,181,672"/>
|
||||
<area shape="rect" id="node5" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/io/basic_ofstream/close.html#" title=" " alt="" coords="232,456,371,482"/>
|
||||
<area shape="rect" id="node6" href="$d6/d26/classciphers_1_1_hill_cipher.html#a427acfac1dbff3f48a2b071d449d965b" title="Decrypt a given text using a given key." alt="" coords="237,688,366,730"/>
|
||||
<area shape="rect" id="node11" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/size.html#" title=" " alt="" coords="1019,241,1135,268"/>
|
||||
<area shape="rect" id="node12" href="$d6/d26/classciphers_1_1_hill_cipher.html#aa8bbb6e4a5749f6008b06602d5103917" title="Encrypt a given text using a given key." alt="" coords="237,623,366,664"/>
|
||||
<area shape="rect" id="node13" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/io/manip/endl.html#" title=" " alt="" coords="873,64,945,90"/>
|
||||
<area shape="rect" id="node14" href="$d6/d26/classciphers_1_1_hill_cipher.html#a14bfcd14af6cd853130cbacd32e35c13" title="Generate encryption and decryption key pair." alt="" coords="237,558,366,599"/>
|
||||
<area shape="rect" id="node7" href="$d6/d26/classciphers_1_1_hill_cipher.html#ad667fa0860977f6d6d443fa1dbcd80aa" title="Convenience function to perform block cipher operations. The operations are identical for both encryp..." alt="" coords="441,688,571,730"/>
|
||||
<area shape="rect" id="node8" href="$d6/d26/classciphers_1_1_hill_cipher.html#ae77cad522fa44b8c985779a7188d2f41" title="Get the index of a character in the STRKEY." alt="" coords="656,672,785,714"/>
|
||||
<area shape="rect" id="node9" 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="659,920,782,946"/>
|
||||
<area shape="rect" id="node10" href="$d6/d26/classciphers_1_1_hill_cipher.html#a40efd842a5cc44c233641ac2df13b0c0" title="helper function to perform vector multiplication with encryption or decryption matrix" alt="" coords="656,803,785,844"/>
|
||||
<area shape="rect" id="node15" href="$d1/dbe/lu__decomposition_8h.html#a3108d43bd32c6fb3b3c158476c51ba7f" title=" " alt="" coords="667,149,774,176"/>
|
||||
<area shape="rect" id="node17" href="$d6/d26/classciphers_1_1_hill_cipher.html#abb2c4dc2b8a59d3dfe0fa22c2adc086b" title="Generate decryption matrix from an encryption matrix key." alt="" coords="419,310,593,351"/>
|
||||
<area shape="rect" id="node21" href="$d6/d26/classciphers_1_1_hill_cipher.html#a7ca10cd1a0e8e3732391e0427d2d0213" title="Generate encryption matrix of a given size. Larger size matrices are difficult to generate but provid..." alt="" coords="419,598,593,639"/>
|
||||
<area shape="rect" id="node27" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/utility/pair/make_pair.html#" title=" " alt="" coords="452,546,560,573"/>
|
||||
<area shape="rect" id="node16" href="$d1/dbe/lu__decomposition_8h.html#a75b8a228c6419ecda6077255d6d60509" title=" " alt="" coords="848,114,971,141"/>
|
||||
<area shape="rect" id="node18" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/utility/program/exit.html#" title=" " alt="" coords="686,317,755,344"/>
|
||||
<area shape="rect" id="node19" href="$d6/d26/classciphers_1_1_hill_cipher.html#a5a4cdbd4d4dad9efe2ed309bd466dd4b" title=" " alt="" coords="656,200,785,242"/>
|
||||
<area shape="rect" id="node20" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/numeric/math/round.html#" title=" " alt="" coords="681,368,761,394"/>
|
||||
<area shape="rect" id="node22" href="$d6/d26/classciphers_1_1_hill_cipher.html#a7760f3665651a0a37937c79c62f219c0" title="Compute GCD of two integers using Euler's algorithm." alt="" coords="641,621,800,648"/>
|
||||
<area shape="rect" id="node24" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/numeric/math/isfinite.html#" title=" " alt="" coords="677,520,764,546"/>
|
||||
<area shape="rect" id="node25" href="$d6/d26/classciphers_1_1_hill_cipher.html#a629be41c1ab78850963e4ce14e1d11d9" title="Function to generate a random integer in a given interval." alt="" coords="656,738,785,779"/>
|
||||
<area shape="rect" id="node23" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/algorithm/swap.html#" title=" " alt="" coords="870,621,949,648"/>
|
||||
<area shape="rect" id="node26" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/numeric/random/rand.html#" title=" " alt="" coords="873,745,946,772"/>
|
||||
<area shape="rect" id="node29" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/string/basic_string/compare.html#" title=" " alt="" coords="232,805,371,832"/>
|
||||
</map>
|
||||
@@ -0,0 +1 @@
|
||||
81d7566d0b642c0502da0173e8e9e615
|
||||
@@ -0,0 +1,675 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.44.0 (20200408.0750)
|
||||
-->
|
||||
<!-- Title: main Pages: 1 -->
|
||||
<!--zoomable 742 -->
|
||||
<svg id="main" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" onload="init(evt)">
|
||||
<style type="text/css"><![CDATA[
|
||||
.edge:hover path { stroke: red; }
|
||||
.edge:hover polygon { stroke: red; fill: red; }
|
||||
]]></style>
|
||||
<script type="text/javascript"><![CDATA[
|
||||
var edges = document.getElementsByTagName('g');
|
||||
if (edges && edges.length) {
|
||||
for (var i=0;i<edges.length;i++) {
|
||||
if (edges[i].id.substr(0,4)=='edge') {
|
||||
edges[i].setAttribute('class','edge');
|
||||
}
|
||||
}
|
||||
}
|
||||
]]></script>
|
||||
<defs>
|
||||
<circle id="rim" cx="0" cy="0" r="7"/>
|
||||
<circle id="rim2" cx="0" cy="0" r="3.5"/>
|
||||
<g id="zoomPlus">
|
||||
<use xlink:href="#rim" fill="#404040">
|
||||
<set attributeName="fill" to="#808080" begin="zoomplus.mouseover" end="zoomplus.mouseout"/>
|
||||
</use>
|
||||
<path d="M-4,0h8M0,-4v8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
|
||||
</g>
|
||||
<g id="zoomMin">
|
||||
<use xlink:href="#rim" fill="#404040">
|
||||
<set attributeName="fill" to="#808080" begin="zoomminus.mouseover" end="zoomminus.mouseout"/>
|
||||
</use>
|
||||
<path d="M-4,0h8" fill="none" stroke="white" stroke-width="1.5" pointer-events="none"/>
|
||||
</g>
|
||||
<g id="dirArrow">
|
||||
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
|
||||
</g>
|
||||
<g id="resetDef">
|
||||
<use xlink:href="#rim2" fill="#404040">
|
||||
<set attributeName="fill" to="#808080" begin="reset.mouseover" end="reset.mouseout"/>
|
||||
</use>
|
||||
</g>
|
||||
</defs>
|
||||
|
||||
<script type="text/javascript">
|
||||
var viewWidth = 855;
|
||||
var viewHeight = 742;
|
||||
var sectionId = 'dynsection-1';
|
||||
</script>
|
||||
<script xlink:href="../../svgpan.js"/>
|
||||
<svg id="graph" class="graph">
|
||||
<g id="viewport">
|
||||
<title>main</title>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-738.35 851,-738.35 851,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,-316.02 0,-335.02 38,-335.02 38,-316.02 0,-316.02"/>
|
||||
<text text-anchor="middle" x="19" y="-323.02" 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 target="_blank" xlink:href="http://en.cppreference.com/w/cpp/numeric/random/srand.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="74,-453.02 74,-472.02 134,-472.02 134,-453.02 74,-453.02"/>
|
||||
<text text-anchor="middle" x="104" y="-460.02" font-family="Helvetica,sans-Serif" font-size="10.00">std::srand</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node2 -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>Node1->Node2</title>
|
||||
<path fill="none" stroke="midnightblue" d="M22.98,-335.07C29.7,-355.55 47.52,-404.58 74,-438.52 76.09,-441.2 78.53,-443.78 81.09,-446.19"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="79.01,-449.03 88.89,-452.85 83.56,-443.7 79.01,-449.03"/>
|
||||
</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/byte/strlen.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="648,-291.02 648,-310.02 708,-310.02 708,-291.02 648,-291.02"/>
|
||||
<text text-anchor="middle" x="678" y="-298.02" font-family="Helvetica,sans-Serif" font-size="10.00">std::strlen</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node3 -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>Node1->Node3</title>
|
||||
<path fill="none" stroke="midnightblue" d="M32.74,-335.16C57.54,-353.25 114.74,-391.71 170,-405.52 285.79,-434.47 546.5,-377.33 596,-357.52 619.71,-348.04 643.17,-330.38 658.69,-317.22"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="661.21,-319.66 666.45,-310.45 656.61,-314.39 661.21,-319.66"/>
|
||||
</g>
|
||||
<!-- Node4 -->
|
||||
<g id="node4" class="node">
|
||||
<title>Node4</title>
|
||||
<g id="a_node4"><a xlink:href="../../d7/db9/hill__cipher_8cpp.html#a3147ad576f8a94a2a6b66948672b452b" target="_top" xlink:title="Self test 1 - using 3x3 randomly generated key.">
|
||||
<polygon fill="white" stroke="black" points="85,-316.02 85,-335.02 123,-335.02 123,-316.02 85,-316.02"/>
|
||||
<text text-anchor="middle" x="104" y="-323.02" font-family="Helvetica,sans-Serif" font-size="10.00">test1</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node4 -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>Node1->Node4</title>
|
||||
<path fill="none" stroke="midnightblue" d="M38.01,-325.52C48.7,-325.52 62.5,-325.52 74.63,-325.52"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="74.74,-329.02 84.74,-325.52 74.74,-322.02 74.74,-329.02"/>
|
||||
</g>
|
||||
<!-- Node28 -->
|
||||
<g id="node28" class="node">
|
||||
<title>Node28</title>
|
||||
<g id="a_node28"><a xlink:href="../../d7/db9/hill__cipher_8cpp.html#a04391124480d2a49f2dec900237b0712" target="_top" xlink:title="Self test 2 - using 8x8 randomly generated key.">
|
||||
<polygon fill="white" stroke="black" points="85,-273.02 85,-292.02 123,-292.02 123,-273.02 85,-273.02"/>
|
||||
<text text-anchor="middle" x="104" y="-280.02" font-family="Helvetica,sans-Serif" font-size="10.00">test2</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node28 -->
|
||||
<g id="edge40" class="edge">
|
||||
<title>Node1->Node28</title>
|
||||
<path fill="none" stroke="midnightblue" d="M38.01,-316.19C49.03,-310.48 63.34,-303.07 75.73,-296.65"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="77.47,-299.69 84.74,-291.98 74.25,-293.48 77.47,-299.69"/>
|
||||
</g>
|
||||
<!-- Node30 -->
|
||||
<g id="node30" class="node">
|
||||
<title>Node30</title>
|
||||
<g id="a_node30"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/chrono/c/time.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="76.5,-235.02 76.5,-254.02 131.5,-254.02 131.5,-235.02 76.5,-235.02"/>
|
||||
<text text-anchor="middle" x="104" y="-242.02" font-family="Helvetica,sans-Serif" font-size="10.00">std::time</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node30 -->
|
||||
<g id="edge49" class="edge">
|
||||
<title>Node1->Node30</title>
|
||||
<path fill="none" stroke="midnightblue" d="M26.98,-315.98C36.64,-303.15 55.07,-280.03 74,-263.52 75.34,-262.35 76.76,-261.2 78.22,-260.08"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="80.63,-262.66 86.78,-254.03 76.59,-256.94 80.63,-262.66"/>
|
||||
</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/io/basic_ofstream/close.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="170,-377.02 170,-396.02 274,-396.02 274,-377.02 170,-377.02"/>
|
||||
<text text-anchor="middle" x="222" y="-384.02" font-family="Helvetica,sans-Serif" font-size="10.00">std::ofstream::close</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node4->Node5 -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>Node4->Node5</title>
|
||||
<path fill="none" stroke="midnightblue" d="M121.1,-335.15C134.14,-342.84 153.06,-353.73 170,-362.52 176.48,-365.88 183.51,-369.32 190.22,-372.51"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="189.19,-375.89 199.73,-376.96 192.16,-369.55 189.19,-375.89"/>
|
||||
</g>
|
||||
<!-- Node6 -->
|
||||
<g id="node6" class="node">
|
||||
<title>Node6</title>
|
||||
<g id="a_node6"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#a427acfac1dbff3f48a2b071d449d965b" target="_top" xlink:title="Decrypt a given text using a given key.">
|
||||
<polygon fill="white" stroke="black" points="173.5,-191.52 173.5,-221.52 270.5,-221.52 270.5,-191.52 173.5,-191.52"/>
|
||||
<text text-anchor="start" x="181.5" y="-209.52" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
|
||||
<text text-anchor="middle" x="222" y="-198.52" font-family="Helvetica,sans-Serif" font-size="10.00">::decrypt_text</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node4->Node6 -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>Node4->Node6</title>
|
||||
<path fill="none" stroke="midnightblue" d="M118.73,-316.02C123.94,-311.96 129.66,-306.92 134,-301.52 155.92,-274.26 145.03,-256.02 170,-231.52 171.45,-230.1 173,-228.74 174.62,-227.45"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="176.96,-230.09 183.21,-221.53 172.99,-224.32 176.96,-230.09"/>
|
||||
</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/size.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="760,-538.02 760,-557.02 847,-557.02 847,-538.02 760,-538.02"/>
|
||||
<text text-anchor="middle" x="803.5" y="-545.02" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::size</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node4->Node11 -->
|
||||
<g id="edge39" class="edge">
|
||||
<title>Node4->Node11</title>
|
||||
<path fill="none" stroke="midnightblue" d="M107.41,-335.15C118.39,-378.88 163.41,-557.25 170,-567.52 232.78,-665.34 258.27,-730.52 374.5,-730.52 374.5,-730.52 374.5,-730.52 537.5,-730.52 621.53,-730.52 656.07,-748.99 724,-699.52 769.08,-666.69 790.26,-600.25 798.35,-567.16"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="801.79,-567.85 800.61,-557.32 794.96,-566.28 801.79,-567.85"/>
|
||||
</g>
|
||||
<!-- Node12 -->
|
||||
<g id="node12" class="node">
|
||||
<title>Node12</title>
|
||||
<g id="a_node12"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#aa8bbb6e4a5749f6008b06602d5103917" target="_top" xlink:title="Encrypt a given text using a given key.">
|
||||
<polygon fill="white" stroke="black" points="173.5,-240.52 173.5,-270.52 270.5,-270.52 270.5,-240.52 173.5,-240.52"/>
|
||||
<text text-anchor="start" x="181.5" y="-258.52" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
|
||||
<text text-anchor="middle" x="222" y="-247.52" font-family="Helvetica,sans-Serif" font-size="10.00">::encrypt_text</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node4->Node12 -->
|
||||
<g id="edge14" class="edge">
|
||||
<title>Node4->Node12</title>
|
||||
<path fill="none" stroke="midnightblue" d="M117.58,-315.97C130.4,-306.44 151.06,-291.64 170,-280.52 173.03,-278.75 176.2,-276.98 179.41,-275.26"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="181.24,-278.25 188.51,-270.54 178.02,-272.04 181.24,-278.25"/>
|
||||
</g>
|
||||
<!-- Node13 -->
|
||||
<g id="node13" class="node">
|
||||
<title>Node13</title>
|
||||
<g id="a_node13"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/io/manip/endl.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="651,-671.02 651,-690.02 705,-690.02 705,-671.02 651,-671.02"/>
|
||||
<text text-anchor="middle" x="678" y="-678.02" font-family="Helvetica,sans-Serif" font-size="10.00">std::endl</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node4->Node13 -->
|
||||
<g id="edge16" class="edge">
|
||||
<title>Node4->Node13</title>
|
||||
<path fill="none" stroke="midnightblue" d="M107.73,-335.08C121.02,-379.72 183.56,-568.86 310,-648.52 414.74,-714.52 570.9,-699.01 640.85,-687.52"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="641.65,-690.93 650.92,-685.79 640.47,-684.03 641.65,-690.93"/>
|
||||
</g>
|
||||
<!-- Node14 -->
|
||||
<g id="node14" class="node">
|
||||
<title>Node14</title>
|
||||
<g id="a_node14"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#a14bfcd14af6cd853130cbacd32e35c13" target="_top" xlink:title="Generate encryption and decryption key pair.">
|
||||
<polygon fill="white" stroke="black" points="173.5,-289.52 173.5,-319.52 270.5,-319.52 270.5,-289.52 173.5,-289.52"/>
|
||||
<text text-anchor="start" x="181.5" y="-307.52" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
|
||||
<text text-anchor="middle" x="222" y="-296.52" font-family="Helvetica,sans-Serif" font-size="10.00">::generate_keys</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node4->Node14 -->
|
||||
<g id="edge17" class="edge">
|
||||
<title>Node4->Node14</title>
|
||||
<path fill="none" stroke="midnightblue" d="M123.12,-322.24C134.1,-320.25 148.77,-317.6 163.4,-314.95"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="164.27,-318.35 173.48,-313.12 163.02,-311.46 164.27,-318.35"/>
|
||||
</g>
|
||||
<!-- Node7 -->
|
||||
<g id="node7" class="node">
|
||||
<title>Node7</title>
|
||||
<g id="a_node7"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#ad667fa0860977f6d6d443fa1dbcd80aa" target="_top" xlink:title="Convenience function to perform block cipher operations. The operations are identical for both encryp...">
|
||||
<polygon fill="white" stroke="black" points="327,-191.52 327,-221.52 424,-221.52 424,-191.52 327,-191.52"/>
|
||||
<text text-anchor="start" x="335" y="-209.52" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
|
||||
<text text-anchor="middle" x="375.5" y="-198.52" font-family="Helvetica,sans-Serif" font-size="10.00">::codec</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node6->Node7 -->
|
||||
<g id="edge6" class="edge">
|
||||
<title>Node6->Node7</title>
|
||||
<path fill="none" stroke="midnightblue" d="M270.52,-206.52C285.11,-206.52 301.34,-206.52 316.55,-206.52"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="316.89,-210.02 326.89,-206.52 316.89,-203.02 316.89,-210.02"/>
|
||||
</g>
|
||||
<!-- Node8 -->
|
||||
<g id="node8" class="node">
|
||||
<title>Node8</title>
|
||||
<g id="a_node8"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#ae77cad522fa44b8c985779a7188d2f41" target="_top" xlink:title="Get the index of a character in the STRKEY.">
|
||||
<polygon fill="white" stroke="black" points="488,-203.52 488,-233.52 585,-233.52 585,-203.52 488,-203.52"/>
|
||||
<text text-anchor="start" x="496" y="-221.52" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
|
||||
<text text-anchor="middle" x="536.5" y="-210.52" font-family="Helvetica,sans-Serif" font-size="10.00">::get_char_idx</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node7->Node8 -->
|
||||
<g id="edge7" class="edge">
|
||||
<title>Node7->Node8</title>
|
||||
<path fill="none" stroke="midnightblue" d="M424.21,-210.12C441.03,-211.39 460.12,-212.83 477.69,-214.16"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="477.59,-217.66 487.83,-214.92 478.12,-210.68 477.59,-217.66"/>
|
||||
</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/string/basic_string/size.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="490.5,-29.02 490.5,-48.02 582.5,-48.02 582.5,-29.02 490.5,-29.02"/>
|
||||
<text text-anchor="middle" x="536.5" y="-36.02" font-family="Helvetica,sans-Serif" font-size="10.00">std::string::length</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node7->Node9 -->
|
||||
<g id="edge9" class="edge">
|
||||
<title>Node7->Node9</title>
|
||||
<path fill="none" stroke="midnightblue" d="M421.79,-191.42C428.94,-187.46 435.7,-182.55 441,-176.52 476.06,-136.6 441.03,-101.63 477,-62.52 480.53,-58.68 484.77,-55.44 489.33,-52.71"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="491.09,-55.74 498.39,-48.06 487.9,-49.51 491.09,-55.74"/>
|
||||
</g>
|
||||
<!-- Node10 -->
|
||||
<g id="node10" class="node">
|
||||
<title>Node10</title>
|
||||
<g id="a_node10"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#a40efd842a5cc44c233641ac2df13b0c0" target="_top" xlink:title="helper function to perform vector multiplication with encryption or decryption matrix">
|
||||
<polygon fill="white" stroke="black" points="488,-105.52 488,-135.52 585,-135.52 585,-105.52 488,-105.52"/>
|
||||
<text text-anchor="start" x="496" y="-123.52" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
|
||||
<text text-anchor="middle" x="536.5" y="-112.52" font-family="Helvetica,sans-Serif" font-size="10.00">::mat_mul</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node7->Node10 -->
|
||||
<g id="edge10" class="edge">
|
||||
<title>Node7->Node10</title>
|
||||
<path fill="none" stroke="midnightblue" d="M413.59,-191.4C422.82,-187.07 432.49,-182.01 441,-176.52 458.74,-165.07 459.08,-156.69 477,-145.52 480,-143.65 483.16,-141.86 486.39,-140.16"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="488.23,-143.16 495.64,-135.59 485.13,-136.88 488.23,-143.16"/>
|
||||
</g>
|
||||
<!-- Node7->Node11 -->
|
||||
<g id="edge13" class="edge">
|
||||
<title>Node7->Node11</title>
|
||||
<path fill="none" stroke="midnightblue" d="M384.55,-191.38C399.07,-165.91 432.33,-115.34 477,-95.52 577.56,-50.92 644.15,-35.85 724,-111.52 785.46,-169.77 799.27,-450.39 801.93,-527.74"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="798.44,-528.11 802.26,-537.99 805.44,-527.88 798.44,-528.11"/>
|
||||
</g>
|
||||
<!-- Node8->Node3 -->
|
||||
<g id="edge8" class="edge">
|
||||
<title>Node8->Node3</title>
|
||||
<path fill="none" stroke="midnightblue" d="M578.61,-233.54C584.66,-236.46 590.65,-239.8 596,-243.52 615.09,-256.81 612.88,-268.27 632,-281.52 634.57,-283.3 637.32,-284.96 640.17,-286.5"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="638.88,-289.76 649.4,-291 641.94,-283.47 638.88,-289.76"/>
|
||||
</g>
|
||||
<!-- Node10->Node3 -->
|
||||
<g id="edge12" class="edge">
|
||||
<title>Node10->Node3</title>
|
||||
<path fill="none" stroke="midnightblue" d="M584.3,-135.63C588.66,-138.41 592.68,-141.68 596,-145.52 636.89,-192.82 591.01,-234.31 632,-281.52 633.98,-283.8 636.28,-285.82 638.78,-287.6"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="637.39,-290.84 647.81,-292.77 640.87,-284.76 637.39,-290.84"/>
|
||||
</g>
|
||||
<!-- Node10->Node11 -->
|
||||
<g id="edge11" class="edge">
|
||||
<title>Node10->Node11</title>
|
||||
<path fill="none" stroke="midnightblue" d="M585.01,-114.34C627.16,-111.7 687.54,-115.34 724,-150.52 779.19,-203.78 797.34,-454.93 801.49,-527.71"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="798,-528.01 802.03,-537.81 804.99,-527.63 798,-528.01"/>
|
||||
</g>
|
||||
<!-- Node12->Node7 -->
|
||||
<g id="edge15" class="edge">
|
||||
<title>Node12->Node7</title>
|
||||
<path fill="none" stroke="midnightblue" d="M269.69,-240.42C285.03,-235.46 302.24,-229.9 318.21,-224.73"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="319.53,-227.98 327.96,-221.57 317.37,-221.32 319.53,-227.98"/>
|
||||
</g>
|
||||
<!-- Node15 -->
|
||||
<g id="node15" class="node">
|
||||
<title>Node15</title>
|
||||
<g id="a_node15"><a xlink:href="../../d1/dbe/lu__decomposition_8h.html#a3108d43bd32c6fb3b3c158476c51ba7f" target="_top" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="496.5,-607.02 496.5,-626.02 576.5,-626.02 576.5,-607.02 496.5,-607.02"/>
|
||||
<text text-anchor="middle" x="536.5" y="-614.02" font-family="Helvetica,sans-Serif" font-size="10.00">determinant_lu</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node14->Node15 -->
|
||||
<g id="edge18" class="edge">
|
||||
<title>Node14->Node15</title>
|
||||
<path fill="none" stroke="midnightblue" d="M257.79,-319.56C263.97,-323.62 269.78,-328.58 274,-334.52 321.5,-401.39 260.01,-450.49 310,-515.52 353.01,-571.48 433.88,-597.23 486.18,-608.49"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="485.74,-611.97 496.24,-610.55 487.15,-605.11 485.74,-611.97"/>
|
||||
</g>
|
||||
<!-- Node17 -->
|
||||
<g id="node17" class="node">
|
||||
<title>Node17</title>
|
||||
<g id="a_node17"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#abb2c4dc2b8a59d3dfe0fa22c2adc086b" target="_top" xlink:title="Generate decryption matrix from an encryption matrix key.">
|
||||
<polygon fill="white" stroke="black" points="310,-475.52 310,-505.52 441,-505.52 441,-475.52 310,-475.52"/>
|
||||
<text text-anchor="start" x="318" y="-493.52" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
|
||||
<text text-anchor="middle" x="375.5" y="-482.52" font-family="Helvetica,sans-Serif" font-size="10.00">::generate_decryption_key</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node14->Node17 -->
|
||||
<g id="edge22" class="edge">
|
||||
<title>Node14->Node17</title>
|
||||
<path fill="none" stroke="midnightblue" d="M254.03,-319.65C261.05,-323.89 268.15,-328.9 274,-334.52 314.86,-373.75 347,-432.68 363.12,-465.74"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="360.13,-467.61 367.6,-475.12 366.45,-464.59 360.13,-467.61"/>
|
||||
</g>
|
||||
<!-- Node21 -->
|
||||
<g id="node21" class="node">
|
||||
<title>Node21</title>
|
||||
<g id="a_node21"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#a7ca10cd1a0e8e3732391e0427d2d0213" target="_top" xlink:title="Generate encryption matrix of a given size. Larger size matrices are difficult to generate but provid...">
|
||||
<polygon fill="white" stroke="black" points="310,-259.52 310,-289.52 441,-289.52 441,-259.52 310,-259.52"/>
|
||||
<text text-anchor="start" x="318" y="-277.52" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
|
||||
<text text-anchor="middle" x="375.5" y="-266.52" font-family="Helvetica,sans-Serif" font-size="10.00">::generate_encryption_key</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node14->Node21 -->
|
||||
<g id="edge31" class="edge">
|
||||
<title>Node14->Node21</title>
|
||||
<path fill="none" stroke="midnightblue" d="M270.52,-295.11C279.89,-293.26 289.94,-291.27 299.95,-289.28"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="300.8,-292.68 309.93,-287.31 299.45,-285.82 300.8,-292.68"/>
|
||||
</g>
|
||||
<!-- Node27 -->
|
||||
<g id="node27" class="node">
|
||||
<title>Node27</title>
|
||||
<g id="a_node27"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/utility/pair/make_pair.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="335,-309.02 335,-328.02 416,-328.02 416,-309.02 335,-309.02"/>
|
||||
<text text-anchor="middle" x="375.5" y="-316.02" font-family="Helvetica,sans-Serif" font-size="10.00">std::make_pair</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node14->Node27 -->
|
||||
<g id="edge38" class="edge">
|
||||
<title>Node14->Node27</title>
|
||||
<path fill="none" stroke="midnightblue" d="M270.52,-308.91C287.78,-310.51 307.33,-312.32 324.78,-313.93"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="324.5,-317.42 334.78,-314.85 325.14,-310.45 324.5,-317.42"/>
|
||||
</g>
|
||||
<!-- Node15->Node11 -->
|
||||
<g id="edge21" class="edge">
|
||||
<title>Node15->Node11</title>
|
||||
<path fill="none" stroke="midnightblue" d="M576.66,-608.2C614.55,-599.93 673.5,-586.5 724,-572.52 737.27,-568.85 751.66,-564.4 764.45,-560.29"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="765.89,-563.5 774.32,-557.08 763.72,-556.84 765.89,-563.5"/>
|
||||
</g>
|
||||
<!-- Node16 -->
|
||||
<g id="node16" class="node">
|
||||
<title>Node16</title>
|
||||
<g id="a_node16"><a xlink:href="../../d1/dbe/lu__decomposition_8h.html#a75b8a228c6419ecda6077255d6d60509" target="_top" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="632,-633.02 632,-652.02 724,-652.02 724,-633.02 632,-633.02"/>
|
||||
<text text-anchor="middle" x="678" y="-640.02" font-family="Helvetica,sans-Serif" font-size="10.00">lu_decomposition</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node15->Node16 -->
|
||||
<g id="edge19" class="edge">
|
||||
<title>Node15->Node16</title>
|
||||
<path fill="none" stroke="midnightblue" d="M576.73,-623.83C590.68,-626.43 606.65,-629.41 621.69,-632.21"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="621.44,-635.73 631.91,-634.12 622.72,-628.85 621.44,-635.73"/>
|
||||
</g>
|
||||
<!-- Node16->Node11 -->
|
||||
<g id="edge20" class="edge">
|
||||
<title>Node16->Node11</title>
|
||||
<path fill="none" stroke="midnightblue" d="M699.33,-633.02C707.29,-628.96 716.32,-623.92 724,-618.52 747.3,-602.15 771.16,-579.58 786.36,-564.31"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="788.97,-566.66 793.47,-557.07 783.97,-561.75 788.97,-566.66"/>
|
||||
</g>
|
||||
<!-- Node17->Node3 -->
|
||||
<g id="edge30" class="edge">
|
||||
<title>Node17->Node3</title>
|
||||
<path fill="none" stroke="midnightblue" d="M400.27,-475.52C420.26,-463.28 449.85,-446.02 477,-433.52 528.09,-410.01 549.35,-421.92 596,-390.52 625.19,-370.88 650.83,-338.45 665.09,-318.35"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="668.01,-320.29 670.81,-310.08 662.25,-316.31 668.01,-320.29"/>
|
||||
</g>
|
||||
<!-- Node17->Node11 -->
|
||||
<g id="edge29" class="edge">
|
||||
<title>Node17->Node11</title>
|
||||
<path fill="none" stroke="midnightblue" d="M441.26,-503.46C453.12,-505.63 465.41,-507.75 477,-509.52 572.76,-524.15 685.14,-536.13 749.66,-542.51"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="749.68,-546.03 759.98,-543.53 750.37,-539.06 749.68,-546.03"/>
|
||||
</g>
|
||||
<!-- Node17->Node15 -->
|
||||
<g id="edge23" class="edge">
|
||||
<title>Node17->Node15</title>
|
||||
<path fill="none" stroke="midnightblue" d="M390.41,-505.73C416.76,-534.47 471.78,-594.21 477,-597.52 480.3,-599.62 483.86,-601.5 487.53,-603.2"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="486.22,-606.44 496.8,-607.01 488.89,-599.97 486.22,-606.44"/>
|
||||
</g>
|
||||
<!-- Node18 -->
|
||||
<g id="node18" class="node">
|
||||
<title>Node18</title>
|
||||
<g id="a_node18"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/utility/program/exit.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="510.5,-481.02 510.5,-500.02 562.5,-500.02 562.5,-481.02 510.5,-481.02"/>
|
||||
<text text-anchor="middle" x="536.5" y="-488.02" font-family="Helvetica,sans-Serif" font-size="10.00">std::exit</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node17->Node18 -->
|
||||
<g id="edge24" class="edge">
|
||||
<title>Node17->Node18</title>
|
||||
<path fill="none" stroke="midnightblue" d="M441.17,-490.52C461.25,-490.52 482.64,-490.52 499.96,-490.52"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="500.17,-494.02 510.17,-490.52 500.17,-487.02 500.17,-494.02"/>
|
||||
</g>
|
||||
<!-- Node19 -->
|
||||
<g id="node19" class="node">
|
||||
<title>Node19</title>
|
||||
<g id="a_node19"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#a5a4cdbd4d4dad9efe2ed309bd466dd4b" target="_top" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="488,-557.52 488,-587.52 585,-587.52 585,-557.52 488,-557.52"/>
|
||||
<text text-anchor="start" x="496" y="-575.52" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
|
||||
<text text-anchor="middle" x="536.5" y="-564.52" font-family="Helvetica,sans-Serif" font-size="10.00">::get_inverse</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node17->Node19 -->
|
||||
<g id="edge25" class="edge">
|
||||
<title>Node17->Node19</title>
|
||||
<path fill="none" stroke="midnightblue" d="M405.51,-505.57C425.58,-515.97 452.9,-530.11 477,-542.52 483.49,-545.86 490.38,-549.41 497.08,-552.84"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="495.53,-555.99 506.03,-557.44 498.73,-549.76 495.53,-555.99"/>
|
||||
</g>
|
||||
<!-- Node20 -->
|
||||
<g id="node20" class="node">
|
||||
<title>Node20</title>
|
||||
<g id="a_node20"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/numeric/math/round.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="506.5,-443.02 506.5,-462.02 566.5,-462.02 566.5,-443.02 506.5,-443.02"/>
|
||||
<text text-anchor="middle" x="536.5" y="-450.02" font-family="Helvetica,sans-Serif" font-size="10.00">std::round</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node17->Node20 -->
|
||||
<g id="edge28" class="edge">
|
||||
<title>Node17->Node20</title>
|
||||
<path fill="none" stroke="midnightblue" d="M439.34,-475.5C458.46,-470.93 478.93,-466.04 496.05,-461.95"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="497.31,-465.25 506.23,-459.52 495.69,-458.44 497.31,-465.25"/>
|
||||
</g>
|
||||
<!-- Node19->Node11 -->
|
||||
<g id="edge27" class="edge">
|
||||
<title>Node19->Node11</title>
|
||||
<path fill="none" stroke="midnightblue" d="M585.18,-568.02C631.41,-563.66 701.41,-557.06 749.39,-552.53"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="749.95,-556 759.58,-551.57 749.3,-549.03 749.95,-556"/>
|
||||
</g>
|
||||
<!-- Node19->Node13 -->
|
||||
<g id="edge26" class="edge">
|
||||
<title>Node19->Node13</title>
|
||||
<path fill="none" stroke="midnightblue" d="M581.59,-587.54C586.77,-590.38 591.72,-593.69 596,-597.52 620.29,-619.31 607.66,-639.78 632,-661.52 634.82,-664.04 638.03,-666.26 641.4,-668.21"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="640.04,-671.44 650.55,-672.74 643.14,-665.17 640.04,-671.44"/>
|
||||
</g>
|
||||
<!-- Node21->Node3 -->
|
||||
<g id="edge37" class="edge">
|
||||
<title>Node21->Node3</title>
|
||||
<path fill="none" stroke="midnightblue" d="M441.33,-280.13C501.09,-285.3 587.85,-292.81 637.73,-297.12"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="637.52,-300.62 647.79,-298 638.13,-293.65 637.52,-300.62"/>
|
||||
</g>
|
||||
<!-- Node22 -->
|
||||
<g id="node22" class="node">
|
||||
<title>Node22</title>
|
||||
<g id="a_node22"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#a7760f3665651a0a37937c79c62f219c0" target="_top" xlink:title="Compute GCD of two integers using Euler's algorithm.">
|
||||
<polygon fill="white" stroke="black" points="477,-253.02 477,-272.02 596,-272.02 596,-253.02 477,-253.02"/>
|
||||
<text text-anchor="middle" x="536.5" y="-260.02" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher::gcd</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node21->Node22 -->
|
||||
<g id="edge32" class="edge">
|
||||
<title>Node21->Node22</title>
|
||||
<path fill="none" stroke="midnightblue" d="M441.17,-269.64C449.55,-269.01 458.15,-268.36 466.59,-267.72"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="467.07,-271.2 476.77,-266.95 466.54,-264.22 467.07,-271.2"/>
|
||||
</g>
|
||||
<!-- Node24 -->
|
||||
<g id="node24" class="node">
|
||||
<title>Node24</title>
|
||||
<g id="a_node24"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/numeric/math/isfinite.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="504,-329.02 504,-348.02 569,-348.02 569,-329.02 504,-329.02"/>
|
||||
<text text-anchor="middle" x="536.5" y="-336.02" font-family="Helvetica,sans-Serif" font-size="10.00">std::isfinite</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node21->Node24 -->
|
||||
<g id="edge34" class="edge">
|
||||
<title>Node21->Node24</title>
|
||||
<path fill="none" stroke="midnightblue" d="M415.79,-289.57C424.13,-292.81 432.87,-296.25 441,-299.52 457.08,-305.99 460.98,-307.9 477,-314.52 485.31,-317.96 494.3,-321.65 502.67,-325.09"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="501.56,-328.42 512.15,-328.98 504.22,-321.94 501.56,-328.42"/>
|
||||
</g>
|
||||
<!-- Node25 -->
|
||||
<g id="node25" class="node">
|
||||
<title>Node25</title>
|
||||
<g id="a_node25"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#a629be41c1ab78850963e4ce14e1d11d9" target="_top" xlink:title="Function to generate a random integer in a given interval.">
|
||||
<polygon fill="white" stroke="black" points="488,-154.52 488,-184.52 585,-184.52 585,-154.52 488,-154.52"/>
|
||||
<text text-anchor="start" x="496" y="-172.52" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
|
||||
<text text-anchor="middle" x="536.5" y="-161.52" font-family="Helvetica,sans-Serif" font-size="10.00">::rand_range</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node21->Node25 -->
|
||||
<g id="edge35" class="edge">
|
||||
<title>Node21->Node25</title>
|
||||
<path fill="none" stroke="midnightblue" d="M401.88,-259.36C414.13,-251.6 428.79,-241.67 441,-231.52 458.64,-216.86 458.08,-207.51 477,-194.52 479.69,-192.68 482.53,-190.93 485.46,-189.27"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="487.18,-192.32 494.43,-184.6 483.95,-186.11 487.18,-192.32"/>
|
||||
</g>
|
||||
<!-- Node23 -->
|
||||
<g id="node23" class="node">
|
||||
<title>Node23</title>
|
||||
<g id="a_node23"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/algorithm/swap.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="648.5,-253.02 648.5,-272.02 707.5,-272.02 707.5,-253.02 648.5,-253.02"/>
|
||||
<text text-anchor="middle" x="678" y="-260.02" font-family="Helvetica,sans-Serif" font-size="10.00">std::swap</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node22->Node23 -->
|
||||
<g id="edge33" class="edge">
|
||||
<title>Node22->Node23</title>
|
||||
<path fill="none" stroke="midnightblue" d="M596.26,-262.52C610.47,-262.52 625.32,-262.52 638.34,-262.52"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="638.35,-266.02 648.35,-262.52 638.35,-259.02 638.35,-266.02"/>
|
||||
</g>
|
||||
<!-- Node26 -->
|
||||
<g id="node26" class="node">
|
||||
<title>Node26</title>
|
||||
<g id="a_node26"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/numeric/random/rand.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="650.5,-160.02 650.5,-179.02 705.5,-179.02 705.5,-160.02 650.5,-160.02"/>
|
||||
<text text-anchor="middle" x="678" y="-167.02" font-family="Helvetica,sans-Serif" font-size="10.00">std::rand</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node25->Node26 -->
|
||||
<g id="edge36" class="edge">
|
||||
<title>Node25->Node26</title>
|
||||
<path fill="none" stroke="midnightblue" d="M585.12,-169.52C603.16,-169.52 623.4,-169.52 640.29,-169.52"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="640.32,-173.02 650.32,-169.52 640.32,-166.02 640.32,-173.02"/>
|
||||
</g>
|
||||
<!-- Node28->Node5 -->
|
||||
<g id="edge41" class="edge">
|
||||
<title>Node28->Node5</title>
|
||||
<path fill="none" stroke="midnightblue" d="M118.47,-292.25C123.64,-296.33 129.4,-301.34 134,-306.52 153.63,-328.66 147.75,-343.02 170,-362.52 174.28,-366.27 179.24,-369.56 184.36,-372.39"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="183.12,-375.68 193.63,-377.02 186.24,-369.42 183.12,-375.68"/>
|
||||
</g>
|
||||
<!-- Node28->Node6 -->
|
||||
<g id="edge43" class="edge">
|
||||
<title>Node28->Node6</title>
|
||||
<path fill="none" stroke="midnightblue" d="M120.64,-272.87C125.05,-269.99 129.79,-266.74 134,-263.52 151,-250.51 152.23,-243.45 170,-231.52 172.58,-229.79 175.29,-228.11 178.07,-226.49"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="180,-229.42 187.08,-221.54 176.63,-223.29 180,-229.42"/>
|
||||
</g>
|
||||
<!-- Node28->Node9 -->
|
||||
<g id="edge48" class="edge">
|
||||
<title>Node28->Node9</title>
|
||||
<path fill="none" stroke="midnightblue" d="M123.15,-272.93C127.08,-270.26 130.96,-267.1 134,-263.52 159.51,-233.51 141.33,-209.54 170,-182.52 205.93,-148.67 227.98,-161.39 274,-143.52 356.56,-111.47 453.12,-72.24 502.6,-52.02"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="504.2,-55.14 512.13,-48.12 501.55,-48.66 504.2,-55.14"/>
|
||||
</g>
|
||||
<!-- Node28->Node11 -->
|
||||
<g id="edge47" class="edge">
|
||||
<title>Node28->Node11</title>
|
||||
<path fill="none" stroke="midnightblue" d="M123.08,-273.74C127.2,-270.98 131.18,-267.58 134,-263.52 175.11,-204.38 125.83,-162.41 170,-105.52 232.66,-24.82 272.33,-0.52 374.5,-0.52 374.5,-0.52 374.5,-0.52 537.5,-0.52 624.17,-0.52 667.08,7.84 724,-57.52 786.82,-129.66 799.72,-445.32 802.04,-527.77"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="798.54,-527.9 802.3,-537.8 805.54,-527.72 798.54,-527.9"/>
|
||||
</g>
|
||||
<!-- Node28->Node12 -->
|
||||
<g id="edge44" class="edge">
|
||||
<title>Node28->Node12</title>
|
||||
<path fill="none" stroke="midnightblue" d="M123.12,-278.3C134.1,-275.75 148.77,-272.33 163.4,-268.93"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="164.54,-272.26 173.48,-266.58 162.95,-265.44 164.54,-272.26"/>
|
||||
</g>
|
||||
<!-- Node28->Node13 -->
|
||||
<g id="edge45" class="edge">
|
||||
<title>Node28->Node13</title>
|
||||
<path fill="none" stroke="midnightblue" d="M116.34,-292.22C128.83,-302.53 149.83,-318.81 170,-329.52 213.46,-352.6 242.34,-329.85 274,-367.52 332.39,-437 252.71,-498.14 310,-568.52 352.5,-620.73 556.63,-660.31 640.7,-674.66"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="640.37,-678.15 650.81,-676.36 641.53,-671.25 640.37,-678.15"/>
|
||||
</g>
|
||||
<!-- Node28->Node14 -->
|
||||
<g id="edge46" class="edge">
|
||||
<title>Node28->Node14</title>
|
||||
<path fill="none" stroke="midnightblue" d="M123.12,-285.96C134.1,-288.04 148.77,-290.82 163.4,-293.6"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="163.01,-297.09 173.48,-295.51 164.31,-290.21 163.01,-297.09"/>
|
||||
</g>
|
||||
<!-- Node29 -->
|
||||
<g id="node29" class="node">
|
||||
<title>Node29</title>
|
||||
<g id="a_node29"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/string/basic_string/compare.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="170,-115.02 170,-134.02 274,-134.02 274,-115.02 170,-115.02"/>
|
||||
<text text-anchor="middle" x="222" y="-122.02" font-family="Helvetica,sans-Serif" font-size="10.00">std::string::compare</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node28->Node29 -->
|
||||
<g id="edge42" class="edge">
|
||||
<title>Node28->Node29</title>
|
||||
<path fill="none" stroke="midnightblue" d="M123.16,-273.38C127.18,-270.66 131.1,-267.36 134,-263.52 166.29,-220.79 134.8,-188.89 170,-148.52 173.21,-144.84 177.1,-141.69 181.29,-138.99"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="183.13,-141.98 190.19,-134.08 179.74,-135.85 183.13,-141.98"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
<g id="navigator" transform="translate(0 0)" fill="#404254">
|
||||
<rect fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width=".5" x="0" y="0" width="60" height="60"/>
|
||||
<use id="zoomplus" xlink:href="#zoomPlus" x="17" y="9" onmousedown="handleZoom(evt,'in')"/>
|
||||
<use id="zoomminus" xlink:href="#zoomMin" x="42" y="9" onmousedown="handleZoom(evt,'out')"/>
|
||||
<use id="reset" xlink:href="#resetDef" x="30" y="36" onmousedown="handleReset()"/>
|
||||
<g id="arrowUp" xlink:href="#dirArrow" transform="translate(30 24)" onmousedown="handlePan(0,-1)">
|
||||
<use xlink:href="#rim" fill="#404040">
|
||||
<set attributeName="fill" to="#808080" begin="arrowUp.mouseover" end="arrowUp.mouseout"/>
|
||||
</use>
|
||||
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
|
||||
</g>
|
||||
<g id="arrowRight" xlink:href="#dirArrow" transform="rotate(90) translate(36 -43)" onmousedown="handlePan(1,0)">
|
||||
<use xlink:href="#rim" fill="#404040">
|
||||
<set attributeName="fill" to="#808080" begin="arrowRight.mouseover" end="arrowRight.mouseout"/>
|
||||
</use>
|
||||
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
|
||||
</g>
|
||||
<g id="arrowDown" xlink:href="#dirArrow" transform="rotate(180) translate(-30 -48)" onmousedown="handlePan(0,1)">
|
||||
<use xlink:href="#rim" fill="#404040">
|
||||
<set attributeName="fill" to="#808080" begin="arrowDown.mouseover" end="arrowDown.mouseout"/>
|
||||
</use>
|
||||
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
|
||||
</g>
|
||||
<g id="arrowLeft" xlink:href="#dirArrow" transform="rotate(270) translate(-36 17)" onmousedown="handlePan(-1,0)">
|
||||
<use xlink:href="#rim" fill="#404040">
|
||||
<set attributeName="fill" to="#808080" begin="arrowLeft.mouseover" end="arrowLeft.mouseout"/>
|
||||
</use>
|
||||
<path fill="none" stroke="white" stroke-width="1.5" d="M0,-3.0v7 M-2.5,-0.5L0,-3.0L2.5,-0.5"/>
|
||||
</g>
|
||||
</g>
|
||||
<svg viewBox="0 0 15 15" width="100%" height="30px" preserveAspectRatio="xMaxYMin meet">
|
||||
<g id="arrow_out" transform="scale(0.3 0.3)">
|
||||
<a xlink:href="hill__cipher_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg" target="_base">
|
||||
<rect id="button" ry="5" rx="5" y="6" x="6" height="38" width="38"
|
||||
fill="#f2f5e9" fill-opacity="0.5" stroke="#606060" stroke-width="1.0"/>
|
||||
<path id="arrow"
|
||||
d="M 11.500037,31.436501 C 11.940474,20.09759 22.043105,11.32322 32.158766,21.979434 L 37.068811,17.246167 C 37.068811,17.246167 37.088388,32 37.088388,32 L 22.160133,31.978069 C 22.160133,31.978069 26.997745,27.140456 26.997745,27.140456 C 18.528582,18.264221 13.291696,25.230495 11.500037,31.436501 z"
|
||||
style="fill:#404040;"/>
|
||||
</a>
|
||||
</g>
|
||||
</svg>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 38 KiB |
@@ -0,0 +1,587 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.44.0 (20200408.0750)
|
||||
-->
|
||||
<!-- Title: main Pages: 1 -->
|
||||
<svg width="855pt" height="742pt"
|
||||
viewBox="0.00 0.00 855.00 742.35" 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 738.35)">
|
||||
<title>main</title>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-738.35 851,-738.35 851,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,-316.02 0,-335.02 38,-335.02 38,-316.02 0,-316.02"/>
|
||||
<text text-anchor="middle" x="19" y="-323.02" 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 target="_blank" xlink:href="http://en.cppreference.com/w/cpp/numeric/random/srand.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="74,-453.02 74,-472.02 134,-472.02 134,-453.02 74,-453.02"/>
|
||||
<text text-anchor="middle" x="104" y="-460.02" font-family="Helvetica,sans-Serif" font-size="10.00">std::srand</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node2 -->
|
||||
<g id="edge1" class="edge">
|
||||
<title>Node1->Node2</title>
|
||||
<path fill="none" stroke="midnightblue" d="M22.98,-335.07C29.7,-355.55 47.52,-404.58 74,-438.52 76.09,-441.2 78.53,-443.78 81.09,-446.19"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="79.01,-449.03 88.89,-452.85 83.56,-443.7 79.01,-449.03"/>
|
||||
</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/byte/strlen.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="648,-291.02 648,-310.02 708,-310.02 708,-291.02 648,-291.02"/>
|
||||
<text text-anchor="middle" x="678" y="-298.02" font-family="Helvetica,sans-Serif" font-size="10.00">std::strlen</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node3 -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>Node1->Node3</title>
|
||||
<path fill="none" stroke="midnightblue" d="M32.74,-335.16C57.54,-353.25 114.74,-391.71 170,-405.52 285.79,-434.47 546.5,-377.33 596,-357.52 619.71,-348.04 643.17,-330.38 658.69,-317.22"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="661.21,-319.66 666.45,-310.45 656.61,-314.39 661.21,-319.66"/>
|
||||
</g>
|
||||
<!-- Node4 -->
|
||||
<g id="node4" class="node">
|
||||
<title>Node4</title>
|
||||
<g id="a_node4"><a xlink:href="../../d7/db9/hill__cipher_8cpp.html#a3147ad576f8a94a2a6b66948672b452b" target="_top" xlink:title="Self test 1 - using 3x3 randomly generated key.">
|
||||
<polygon fill="white" stroke="black" points="85,-316.02 85,-335.02 123,-335.02 123,-316.02 85,-316.02"/>
|
||||
<text text-anchor="middle" x="104" y="-323.02" font-family="Helvetica,sans-Serif" font-size="10.00">test1</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node4 -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>Node1->Node4</title>
|
||||
<path fill="none" stroke="midnightblue" d="M38.01,-325.52C48.7,-325.52 62.5,-325.52 74.63,-325.52"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="74.74,-329.02 84.74,-325.52 74.74,-322.02 74.74,-329.02"/>
|
||||
</g>
|
||||
<!-- Node28 -->
|
||||
<g id="node28" class="node">
|
||||
<title>Node28</title>
|
||||
<g id="a_node28"><a xlink:href="../../d7/db9/hill__cipher_8cpp.html#a04391124480d2a49f2dec900237b0712" target="_top" xlink:title="Self test 2 - using 8x8 randomly generated key.">
|
||||
<polygon fill="white" stroke="black" points="85,-273.02 85,-292.02 123,-292.02 123,-273.02 85,-273.02"/>
|
||||
<text text-anchor="middle" x="104" y="-280.02" font-family="Helvetica,sans-Serif" font-size="10.00">test2</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node28 -->
|
||||
<g id="edge40" class="edge">
|
||||
<title>Node1->Node28</title>
|
||||
<path fill="none" stroke="midnightblue" d="M38.01,-316.19C49.03,-310.48 63.34,-303.07 75.73,-296.65"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="77.47,-299.69 84.74,-291.98 74.25,-293.48 77.47,-299.69"/>
|
||||
</g>
|
||||
<!-- Node30 -->
|
||||
<g id="node30" class="node">
|
||||
<title>Node30</title>
|
||||
<g id="a_node30"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/chrono/c/time.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="76.5,-235.02 76.5,-254.02 131.5,-254.02 131.5,-235.02 76.5,-235.02"/>
|
||||
<text text-anchor="middle" x="104" y="-242.02" font-family="Helvetica,sans-Serif" font-size="10.00">std::time</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node30 -->
|
||||
<g id="edge49" class="edge">
|
||||
<title>Node1->Node30</title>
|
||||
<path fill="none" stroke="midnightblue" d="M26.98,-315.98C36.64,-303.15 55.07,-280.03 74,-263.52 75.34,-262.35 76.76,-261.2 78.22,-260.08"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="80.63,-262.66 86.78,-254.03 76.59,-256.94 80.63,-262.66"/>
|
||||
</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/io/basic_ofstream/close.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="170,-377.02 170,-396.02 274,-396.02 274,-377.02 170,-377.02"/>
|
||||
<text text-anchor="middle" x="222" y="-384.02" font-family="Helvetica,sans-Serif" font-size="10.00">std::ofstream::close</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node4->Node5 -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>Node4->Node5</title>
|
||||
<path fill="none" stroke="midnightblue" d="M121.1,-335.15C134.14,-342.84 153.06,-353.73 170,-362.52 176.48,-365.88 183.51,-369.32 190.22,-372.51"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="189.19,-375.89 199.73,-376.96 192.16,-369.55 189.19,-375.89"/>
|
||||
</g>
|
||||
<!-- Node6 -->
|
||||
<g id="node6" class="node">
|
||||
<title>Node6</title>
|
||||
<g id="a_node6"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#a427acfac1dbff3f48a2b071d449d965b" target="_top" xlink:title="Decrypt a given text using a given key.">
|
||||
<polygon fill="white" stroke="black" points="173.5,-191.52 173.5,-221.52 270.5,-221.52 270.5,-191.52 173.5,-191.52"/>
|
||||
<text text-anchor="start" x="181.5" y="-209.52" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
|
||||
<text text-anchor="middle" x="222" y="-198.52" font-family="Helvetica,sans-Serif" font-size="10.00">::decrypt_text</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node4->Node6 -->
|
||||
<g id="edge5" class="edge">
|
||||
<title>Node4->Node6</title>
|
||||
<path fill="none" stroke="midnightblue" d="M118.73,-316.02C123.94,-311.96 129.66,-306.92 134,-301.52 155.92,-274.26 145.03,-256.02 170,-231.52 171.45,-230.1 173,-228.74 174.62,-227.45"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="176.96,-230.09 183.21,-221.53 172.99,-224.32 176.96,-230.09"/>
|
||||
</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/size.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="760,-538.02 760,-557.02 847,-557.02 847,-538.02 760,-538.02"/>
|
||||
<text text-anchor="middle" x="803.5" y="-545.02" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::size</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node4->Node11 -->
|
||||
<g id="edge39" class="edge">
|
||||
<title>Node4->Node11</title>
|
||||
<path fill="none" stroke="midnightblue" d="M107.41,-335.15C118.39,-378.88 163.41,-557.25 170,-567.52 232.78,-665.34 258.27,-730.52 374.5,-730.52 374.5,-730.52 374.5,-730.52 537.5,-730.52 621.53,-730.52 656.07,-748.99 724,-699.52 769.08,-666.69 790.26,-600.25 798.35,-567.16"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="801.79,-567.85 800.61,-557.32 794.96,-566.28 801.79,-567.85"/>
|
||||
</g>
|
||||
<!-- Node12 -->
|
||||
<g id="node12" class="node">
|
||||
<title>Node12</title>
|
||||
<g id="a_node12"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#aa8bbb6e4a5749f6008b06602d5103917" target="_top" xlink:title="Encrypt a given text using a given key.">
|
||||
<polygon fill="white" stroke="black" points="173.5,-240.52 173.5,-270.52 270.5,-270.52 270.5,-240.52 173.5,-240.52"/>
|
||||
<text text-anchor="start" x="181.5" y="-258.52" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
|
||||
<text text-anchor="middle" x="222" y="-247.52" font-family="Helvetica,sans-Serif" font-size="10.00">::encrypt_text</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node4->Node12 -->
|
||||
<g id="edge14" class="edge">
|
||||
<title>Node4->Node12</title>
|
||||
<path fill="none" stroke="midnightblue" d="M117.58,-315.97C130.4,-306.44 151.06,-291.64 170,-280.52 173.03,-278.75 176.2,-276.98 179.41,-275.26"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="181.24,-278.25 188.51,-270.54 178.02,-272.04 181.24,-278.25"/>
|
||||
</g>
|
||||
<!-- Node13 -->
|
||||
<g id="node13" class="node">
|
||||
<title>Node13</title>
|
||||
<g id="a_node13"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/io/manip/endl.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="651,-671.02 651,-690.02 705,-690.02 705,-671.02 651,-671.02"/>
|
||||
<text text-anchor="middle" x="678" y="-678.02" font-family="Helvetica,sans-Serif" font-size="10.00">std::endl</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node4->Node13 -->
|
||||
<g id="edge16" class="edge">
|
||||
<title>Node4->Node13</title>
|
||||
<path fill="none" stroke="midnightblue" d="M107.73,-335.08C121.02,-379.72 183.56,-568.86 310,-648.52 414.74,-714.52 570.9,-699.01 640.85,-687.52"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="641.65,-690.93 650.92,-685.79 640.47,-684.03 641.65,-690.93"/>
|
||||
</g>
|
||||
<!-- Node14 -->
|
||||
<g id="node14" class="node">
|
||||
<title>Node14</title>
|
||||
<g id="a_node14"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#a14bfcd14af6cd853130cbacd32e35c13" target="_top" xlink:title="Generate encryption and decryption key pair.">
|
||||
<polygon fill="white" stroke="black" points="173.5,-289.52 173.5,-319.52 270.5,-319.52 270.5,-289.52 173.5,-289.52"/>
|
||||
<text text-anchor="start" x="181.5" y="-307.52" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
|
||||
<text text-anchor="middle" x="222" y="-296.52" font-family="Helvetica,sans-Serif" font-size="10.00">::generate_keys</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node4->Node14 -->
|
||||
<g id="edge17" class="edge">
|
||||
<title>Node4->Node14</title>
|
||||
<path fill="none" stroke="midnightblue" d="M123.12,-322.24C134.1,-320.25 148.77,-317.6 163.4,-314.95"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="164.27,-318.35 173.48,-313.12 163.02,-311.46 164.27,-318.35"/>
|
||||
</g>
|
||||
<!-- Node7 -->
|
||||
<g id="node7" class="node">
|
||||
<title>Node7</title>
|
||||
<g id="a_node7"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#ad667fa0860977f6d6d443fa1dbcd80aa" target="_top" xlink:title="Convenience function to perform block cipher operations. The operations are identical for both encryp...">
|
||||
<polygon fill="white" stroke="black" points="327,-191.52 327,-221.52 424,-221.52 424,-191.52 327,-191.52"/>
|
||||
<text text-anchor="start" x="335" y="-209.52" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
|
||||
<text text-anchor="middle" x="375.5" y="-198.52" font-family="Helvetica,sans-Serif" font-size="10.00">::codec</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node6->Node7 -->
|
||||
<g id="edge6" class="edge">
|
||||
<title>Node6->Node7</title>
|
||||
<path fill="none" stroke="midnightblue" d="M270.52,-206.52C285.11,-206.52 301.34,-206.52 316.55,-206.52"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="316.89,-210.02 326.89,-206.52 316.89,-203.02 316.89,-210.02"/>
|
||||
</g>
|
||||
<!-- Node8 -->
|
||||
<g id="node8" class="node">
|
||||
<title>Node8</title>
|
||||
<g id="a_node8"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#ae77cad522fa44b8c985779a7188d2f41" target="_top" xlink:title="Get the index of a character in the STRKEY.">
|
||||
<polygon fill="white" stroke="black" points="488,-203.52 488,-233.52 585,-233.52 585,-203.52 488,-203.52"/>
|
||||
<text text-anchor="start" x="496" y="-221.52" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
|
||||
<text text-anchor="middle" x="536.5" y="-210.52" font-family="Helvetica,sans-Serif" font-size="10.00">::get_char_idx</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node7->Node8 -->
|
||||
<g id="edge7" class="edge">
|
||||
<title>Node7->Node8</title>
|
||||
<path fill="none" stroke="midnightblue" d="M424.21,-210.12C441.03,-211.39 460.12,-212.83 477.69,-214.16"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="477.59,-217.66 487.83,-214.92 478.12,-210.68 477.59,-217.66"/>
|
||||
</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/string/basic_string/size.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="490.5,-29.02 490.5,-48.02 582.5,-48.02 582.5,-29.02 490.5,-29.02"/>
|
||||
<text text-anchor="middle" x="536.5" y="-36.02" font-family="Helvetica,sans-Serif" font-size="10.00">std::string::length</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node7->Node9 -->
|
||||
<g id="edge9" class="edge">
|
||||
<title>Node7->Node9</title>
|
||||
<path fill="none" stroke="midnightblue" d="M421.79,-191.42C428.94,-187.46 435.7,-182.55 441,-176.52 476.06,-136.6 441.03,-101.63 477,-62.52 480.53,-58.68 484.77,-55.44 489.33,-52.71"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="491.09,-55.74 498.39,-48.06 487.9,-49.51 491.09,-55.74"/>
|
||||
</g>
|
||||
<!-- Node10 -->
|
||||
<g id="node10" class="node">
|
||||
<title>Node10</title>
|
||||
<g id="a_node10"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#a40efd842a5cc44c233641ac2df13b0c0" target="_top" xlink:title="helper function to perform vector multiplication with encryption or decryption matrix">
|
||||
<polygon fill="white" stroke="black" points="488,-105.52 488,-135.52 585,-135.52 585,-105.52 488,-105.52"/>
|
||||
<text text-anchor="start" x="496" y="-123.52" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
|
||||
<text text-anchor="middle" x="536.5" y="-112.52" font-family="Helvetica,sans-Serif" font-size="10.00">::mat_mul</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node7->Node10 -->
|
||||
<g id="edge10" class="edge">
|
||||
<title>Node7->Node10</title>
|
||||
<path fill="none" stroke="midnightblue" d="M413.59,-191.4C422.82,-187.07 432.49,-182.01 441,-176.52 458.74,-165.07 459.08,-156.69 477,-145.52 480,-143.65 483.16,-141.86 486.39,-140.16"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="488.23,-143.16 495.64,-135.59 485.13,-136.88 488.23,-143.16"/>
|
||||
</g>
|
||||
<!-- Node7->Node11 -->
|
||||
<g id="edge13" class="edge">
|
||||
<title>Node7->Node11</title>
|
||||
<path fill="none" stroke="midnightblue" d="M384.55,-191.38C399.07,-165.91 432.33,-115.34 477,-95.52 577.56,-50.92 644.15,-35.85 724,-111.52 785.46,-169.77 799.27,-450.39 801.93,-527.74"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="798.44,-528.11 802.26,-537.99 805.44,-527.88 798.44,-528.11"/>
|
||||
</g>
|
||||
<!-- Node8->Node3 -->
|
||||
<g id="edge8" class="edge">
|
||||
<title>Node8->Node3</title>
|
||||
<path fill="none" stroke="midnightblue" d="M578.61,-233.54C584.66,-236.46 590.65,-239.8 596,-243.52 615.09,-256.81 612.88,-268.27 632,-281.52 634.57,-283.3 637.32,-284.96 640.17,-286.5"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="638.88,-289.76 649.4,-291 641.94,-283.47 638.88,-289.76"/>
|
||||
</g>
|
||||
<!-- Node10->Node3 -->
|
||||
<g id="edge12" class="edge">
|
||||
<title>Node10->Node3</title>
|
||||
<path fill="none" stroke="midnightblue" d="M584.3,-135.63C588.66,-138.41 592.68,-141.68 596,-145.52 636.89,-192.82 591.01,-234.31 632,-281.52 633.98,-283.8 636.28,-285.82 638.78,-287.6"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="637.39,-290.84 647.81,-292.77 640.87,-284.76 637.39,-290.84"/>
|
||||
</g>
|
||||
<!-- Node10->Node11 -->
|
||||
<g id="edge11" class="edge">
|
||||
<title>Node10->Node11</title>
|
||||
<path fill="none" stroke="midnightblue" d="M585.01,-114.34C627.16,-111.7 687.54,-115.34 724,-150.52 779.19,-203.78 797.34,-454.93 801.49,-527.71"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="798,-528.01 802.03,-537.81 804.99,-527.63 798,-528.01"/>
|
||||
</g>
|
||||
<!-- Node12->Node7 -->
|
||||
<g id="edge15" class="edge">
|
||||
<title>Node12->Node7</title>
|
||||
<path fill="none" stroke="midnightblue" d="M269.69,-240.42C285.03,-235.46 302.24,-229.9 318.21,-224.73"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="319.53,-227.98 327.96,-221.57 317.37,-221.32 319.53,-227.98"/>
|
||||
</g>
|
||||
<!-- Node15 -->
|
||||
<g id="node15" class="node">
|
||||
<title>Node15</title>
|
||||
<g id="a_node15"><a xlink:href="../../d1/dbe/lu__decomposition_8h.html#a3108d43bd32c6fb3b3c158476c51ba7f" target="_top" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="496.5,-607.02 496.5,-626.02 576.5,-626.02 576.5,-607.02 496.5,-607.02"/>
|
||||
<text text-anchor="middle" x="536.5" y="-614.02" font-family="Helvetica,sans-Serif" font-size="10.00">determinant_lu</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node14->Node15 -->
|
||||
<g id="edge18" class="edge">
|
||||
<title>Node14->Node15</title>
|
||||
<path fill="none" stroke="midnightblue" d="M257.79,-319.56C263.97,-323.62 269.78,-328.58 274,-334.52 321.5,-401.39 260.01,-450.49 310,-515.52 353.01,-571.48 433.88,-597.23 486.18,-608.49"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="485.74,-611.97 496.24,-610.55 487.15,-605.11 485.74,-611.97"/>
|
||||
</g>
|
||||
<!-- Node17 -->
|
||||
<g id="node17" class="node">
|
||||
<title>Node17</title>
|
||||
<g id="a_node17"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#abb2c4dc2b8a59d3dfe0fa22c2adc086b" target="_top" xlink:title="Generate decryption matrix from an encryption matrix key.">
|
||||
<polygon fill="white" stroke="black" points="310,-475.52 310,-505.52 441,-505.52 441,-475.52 310,-475.52"/>
|
||||
<text text-anchor="start" x="318" y="-493.52" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
|
||||
<text text-anchor="middle" x="375.5" y="-482.52" font-family="Helvetica,sans-Serif" font-size="10.00">::generate_decryption_key</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node14->Node17 -->
|
||||
<g id="edge22" class="edge">
|
||||
<title>Node14->Node17</title>
|
||||
<path fill="none" stroke="midnightblue" d="M254.03,-319.65C261.05,-323.89 268.15,-328.9 274,-334.52 314.86,-373.75 347,-432.68 363.12,-465.74"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="360.13,-467.61 367.6,-475.12 366.45,-464.59 360.13,-467.61"/>
|
||||
</g>
|
||||
<!-- Node21 -->
|
||||
<g id="node21" class="node">
|
||||
<title>Node21</title>
|
||||
<g id="a_node21"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#a7ca10cd1a0e8e3732391e0427d2d0213" target="_top" xlink:title="Generate encryption matrix of a given size. Larger size matrices are difficult to generate but provid...">
|
||||
<polygon fill="white" stroke="black" points="310,-259.52 310,-289.52 441,-289.52 441,-259.52 310,-259.52"/>
|
||||
<text text-anchor="start" x="318" y="-277.52" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
|
||||
<text text-anchor="middle" x="375.5" y="-266.52" font-family="Helvetica,sans-Serif" font-size="10.00">::generate_encryption_key</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node14->Node21 -->
|
||||
<g id="edge31" class="edge">
|
||||
<title>Node14->Node21</title>
|
||||
<path fill="none" stroke="midnightblue" d="M270.52,-295.11C279.89,-293.26 289.94,-291.27 299.95,-289.28"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="300.8,-292.68 309.93,-287.31 299.45,-285.82 300.8,-292.68"/>
|
||||
</g>
|
||||
<!-- Node27 -->
|
||||
<g id="node27" class="node">
|
||||
<title>Node27</title>
|
||||
<g id="a_node27"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/utility/pair/make_pair.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="335,-309.02 335,-328.02 416,-328.02 416,-309.02 335,-309.02"/>
|
||||
<text text-anchor="middle" x="375.5" y="-316.02" font-family="Helvetica,sans-Serif" font-size="10.00">std::make_pair</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node14->Node27 -->
|
||||
<g id="edge38" class="edge">
|
||||
<title>Node14->Node27</title>
|
||||
<path fill="none" stroke="midnightblue" d="M270.52,-308.91C287.78,-310.51 307.33,-312.32 324.78,-313.93"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="324.5,-317.42 334.78,-314.85 325.14,-310.45 324.5,-317.42"/>
|
||||
</g>
|
||||
<!-- Node15->Node11 -->
|
||||
<g id="edge21" class="edge">
|
||||
<title>Node15->Node11</title>
|
||||
<path fill="none" stroke="midnightblue" d="M576.66,-608.2C614.55,-599.93 673.5,-586.5 724,-572.52 737.27,-568.85 751.66,-564.4 764.45,-560.29"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="765.89,-563.5 774.32,-557.08 763.72,-556.84 765.89,-563.5"/>
|
||||
</g>
|
||||
<!-- Node16 -->
|
||||
<g id="node16" class="node">
|
||||
<title>Node16</title>
|
||||
<g id="a_node16"><a xlink:href="../../d1/dbe/lu__decomposition_8h.html#a75b8a228c6419ecda6077255d6d60509" target="_top" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="632,-633.02 632,-652.02 724,-652.02 724,-633.02 632,-633.02"/>
|
||||
<text text-anchor="middle" x="678" y="-640.02" font-family="Helvetica,sans-Serif" font-size="10.00">lu_decomposition</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node15->Node16 -->
|
||||
<g id="edge19" class="edge">
|
||||
<title>Node15->Node16</title>
|
||||
<path fill="none" stroke="midnightblue" d="M576.73,-623.83C590.68,-626.43 606.65,-629.41 621.69,-632.21"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="621.44,-635.73 631.91,-634.12 622.72,-628.85 621.44,-635.73"/>
|
||||
</g>
|
||||
<!-- Node16->Node11 -->
|
||||
<g id="edge20" class="edge">
|
||||
<title>Node16->Node11</title>
|
||||
<path fill="none" stroke="midnightblue" d="M699.33,-633.02C707.29,-628.96 716.32,-623.92 724,-618.52 747.3,-602.15 771.16,-579.58 786.36,-564.31"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="788.97,-566.66 793.47,-557.07 783.97,-561.75 788.97,-566.66"/>
|
||||
</g>
|
||||
<!-- Node17->Node3 -->
|
||||
<g id="edge30" class="edge">
|
||||
<title>Node17->Node3</title>
|
||||
<path fill="none" stroke="midnightblue" d="M400.27,-475.52C420.26,-463.28 449.85,-446.02 477,-433.52 528.09,-410.01 549.35,-421.92 596,-390.52 625.19,-370.88 650.83,-338.45 665.09,-318.35"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="668.01,-320.29 670.81,-310.08 662.25,-316.31 668.01,-320.29"/>
|
||||
</g>
|
||||
<!-- Node17->Node11 -->
|
||||
<g id="edge29" class="edge">
|
||||
<title>Node17->Node11</title>
|
||||
<path fill="none" stroke="midnightblue" d="M441.26,-503.46C453.12,-505.63 465.41,-507.75 477,-509.52 572.76,-524.15 685.14,-536.13 749.66,-542.51"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="749.68,-546.03 759.98,-543.53 750.37,-539.06 749.68,-546.03"/>
|
||||
</g>
|
||||
<!-- Node17->Node15 -->
|
||||
<g id="edge23" class="edge">
|
||||
<title>Node17->Node15</title>
|
||||
<path fill="none" stroke="midnightblue" d="M390.41,-505.73C416.76,-534.47 471.78,-594.21 477,-597.52 480.3,-599.62 483.86,-601.5 487.53,-603.2"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="486.22,-606.44 496.8,-607.01 488.89,-599.97 486.22,-606.44"/>
|
||||
</g>
|
||||
<!-- Node18 -->
|
||||
<g id="node18" class="node">
|
||||
<title>Node18</title>
|
||||
<g id="a_node18"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/utility/program/exit.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="510.5,-481.02 510.5,-500.02 562.5,-500.02 562.5,-481.02 510.5,-481.02"/>
|
||||
<text text-anchor="middle" x="536.5" y="-488.02" font-family="Helvetica,sans-Serif" font-size="10.00">std::exit</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node17->Node18 -->
|
||||
<g id="edge24" class="edge">
|
||||
<title>Node17->Node18</title>
|
||||
<path fill="none" stroke="midnightblue" d="M441.17,-490.52C461.25,-490.52 482.64,-490.52 499.96,-490.52"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="500.17,-494.02 510.17,-490.52 500.17,-487.02 500.17,-494.02"/>
|
||||
</g>
|
||||
<!-- Node19 -->
|
||||
<g id="node19" class="node">
|
||||
<title>Node19</title>
|
||||
<g id="a_node19"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#a5a4cdbd4d4dad9efe2ed309bd466dd4b" target="_top" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="488,-557.52 488,-587.52 585,-587.52 585,-557.52 488,-557.52"/>
|
||||
<text text-anchor="start" x="496" y="-575.52" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
|
||||
<text text-anchor="middle" x="536.5" y="-564.52" font-family="Helvetica,sans-Serif" font-size="10.00">::get_inverse</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node17->Node19 -->
|
||||
<g id="edge25" class="edge">
|
||||
<title>Node17->Node19</title>
|
||||
<path fill="none" stroke="midnightblue" d="M405.51,-505.57C425.58,-515.97 452.9,-530.11 477,-542.52 483.49,-545.86 490.38,-549.41 497.08,-552.84"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="495.53,-555.99 506.03,-557.44 498.73,-549.76 495.53,-555.99"/>
|
||||
</g>
|
||||
<!-- Node20 -->
|
||||
<g id="node20" class="node">
|
||||
<title>Node20</title>
|
||||
<g id="a_node20"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/numeric/math/round.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="506.5,-443.02 506.5,-462.02 566.5,-462.02 566.5,-443.02 506.5,-443.02"/>
|
||||
<text text-anchor="middle" x="536.5" y="-450.02" font-family="Helvetica,sans-Serif" font-size="10.00">std::round</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node17->Node20 -->
|
||||
<g id="edge28" class="edge">
|
||||
<title>Node17->Node20</title>
|
||||
<path fill="none" stroke="midnightblue" d="M439.34,-475.5C458.46,-470.93 478.93,-466.04 496.05,-461.95"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="497.31,-465.25 506.23,-459.52 495.69,-458.44 497.31,-465.25"/>
|
||||
</g>
|
||||
<!-- Node19->Node11 -->
|
||||
<g id="edge27" class="edge">
|
||||
<title>Node19->Node11</title>
|
||||
<path fill="none" stroke="midnightblue" d="M585.18,-568.02C631.41,-563.66 701.41,-557.06 749.39,-552.53"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="749.95,-556 759.58,-551.57 749.3,-549.03 749.95,-556"/>
|
||||
</g>
|
||||
<!-- Node19->Node13 -->
|
||||
<g id="edge26" class="edge">
|
||||
<title>Node19->Node13</title>
|
||||
<path fill="none" stroke="midnightblue" d="M581.59,-587.54C586.77,-590.38 591.72,-593.69 596,-597.52 620.29,-619.31 607.66,-639.78 632,-661.52 634.82,-664.04 638.03,-666.26 641.4,-668.21"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="640.04,-671.44 650.55,-672.74 643.14,-665.17 640.04,-671.44"/>
|
||||
</g>
|
||||
<!-- Node21->Node3 -->
|
||||
<g id="edge37" class="edge">
|
||||
<title>Node21->Node3</title>
|
||||
<path fill="none" stroke="midnightblue" d="M441.33,-280.13C501.09,-285.3 587.85,-292.81 637.73,-297.12"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="637.52,-300.62 647.79,-298 638.13,-293.65 637.52,-300.62"/>
|
||||
</g>
|
||||
<!-- Node22 -->
|
||||
<g id="node22" class="node">
|
||||
<title>Node22</title>
|
||||
<g id="a_node22"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#a7760f3665651a0a37937c79c62f219c0" target="_top" xlink:title="Compute GCD of two integers using Euler's algorithm.">
|
||||
<polygon fill="white" stroke="black" points="477,-253.02 477,-272.02 596,-272.02 596,-253.02 477,-253.02"/>
|
||||
<text text-anchor="middle" x="536.5" y="-260.02" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher::gcd</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node21->Node22 -->
|
||||
<g id="edge32" class="edge">
|
||||
<title>Node21->Node22</title>
|
||||
<path fill="none" stroke="midnightblue" d="M441.17,-269.64C449.55,-269.01 458.15,-268.36 466.59,-267.72"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="467.07,-271.2 476.77,-266.95 466.54,-264.22 467.07,-271.2"/>
|
||||
</g>
|
||||
<!-- Node24 -->
|
||||
<g id="node24" class="node">
|
||||
<title>Node24</title>
|
||||
<g id="a_node24"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/numeric/math/isfinite.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="504,-329.02 504,-348.02 569,-348.02 569,-329.02 504,-329.02"/>
|
||||
<text text-anchor="middle" x="536.5" y="-336.02" font-family="Helvetica,sans-Serif" font-size="10.00">std::isfinite</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node21->Node24 -->
|
||||
<g id="edge34" class="edge">
|
||||
<title>Node21->Node24</title>
|
||||
<path fill="none" stroke="midnightblue" d="M415.79,-289.57C424.13,-292.81 432.87,-296.25 441,-299.52 457.08,-305.99 460.98,-307.9 477,-314.52 485.31,-317.96 494.3,-321.65 502.67,-325.09"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="501.56,-328.42 512.15,-328.98 504.22,-321.94 501.56,-328.42"/>
|
||||
</g>
|
||||
<!-- Node25 -->
|
||||
<g id="node25" class="node">
|
||||
<title>Node25</title>
|
||||
<g id="a_node25"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#a629be41c1ab78850963e4ce14e1d11d9" target="_top" xlink:title="Function to generate a random integer in a given interval.">
|
||||
<polygon fill="white" stroke="black" points="488,-154.52 488,-184.52 585,-184.52 585,-154.52 488,-154.52"/>
|
||||
<text text-anchor="start" x="496" y="-172.52" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
|
||||
<text text-anchor="middle" x="536.5" y="-161.52" font-family="Helvetica,sans-Serif" font-size="10.00">::rand_range</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node21->Node25 -->
|
||||
<g id="edge35" class="edge">
|
||||
<title>Node21->Node25</title>
|
||||
<path fill="none" stroke="midnightblue" d="M401.88,-259.36C414.13,-251.6 428.79,-241.67 441,-231.52 458.64,-216.86 458.08,-207.51 477,-194.52 479.69,-192.68 482.53,-190.93 485.46,-189.27"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="487.18,-192.32 494.43,-184.6 483.95,-186.11 487.18,-192.32"/>
|
||||
</g>
|
||||
<!-- Node23 -->
|
||||
<g id="node23" class="node">
|
||||
<title>Node23</title>
|
||||
<g id="a_node23"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/algorithm/swap.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="648.5,-253.02 648.5,-272.02 707.5,-272.02 707.5,-253.02 648.5,-253.02"/>
|
||||
<text text-anchor="middle" x="678" y="-260.02" font-family="Helvetica,sans-Serif" font-size="10.00">std::swap</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node22->Node23 -->
|
||||
<g id="edge33" class="edge">
|
||||
<title>Node22->Node23</title>
|
||||
<path fill="none" stroke="midnightblue" d="M596.26,-262.52C610.47,-262.52 625.32,-262.52 638.34,-262.52"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="638.35,-266.02 648.35,-262.52 638.35,-259.02 638.35,-266.02"/>
|
||||
</g>
|
||||
<!-- Node26 -->
|
||||
<g id="node26" class="node">
|
||||
<title>Node26</title>
|
||||
<g id="a_node26"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/numeric/random/rand.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="650.5,-160.02 650.5,-179.02 705.5,-179.02 705.5,-160.02 650.5,-160.02"/>
|
||||
<text text-anchor="middle" x="678" y="-167.02" font-family="Helvetica,sans-Serif" font-size="10.00">std::rand</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node25->Node26 -->
|
||||
<g id="edge36" class="edge">
|
||||
<title>Node25->Node26</title>
|
||||
<path fill="none" stroke="midnightblue" d="M585.12,-169.52C603.16,-169.52 623.4,-169.52 640.29,-169.52"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="640.32,-173.02 650.32,-169.52 640.32,-166.02 640.32,-173.02"/>
|
||||
</g>
|
||||
<!-- Node28->Node5 -->
|
||||
<g id="edge41" class="edge">
|
||||
<title>Node28->Node5</title>
|
||||
<path fill="none" stroke="midnightblue" d="M118.47,-292.25C123.64,-296.33 129.4,-301.34 134,-306.52 153.63,-328.66 147.75,-343.02 170,-362.52 174.28,-366.27 179.24,-369.56 184.36,-372.39"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="183.12,-375.68 193.63,-377.02 186.24,-369.42 183.12,-375.68"/>
|
||||
</g>
|
||||
<!-- Node28->Node6 -->
|
||||
<g id="edge43" class="edge">
|
||||
<title>Node28->Node6</title>
|
||||
<path fill="none" stroke="midnightblue" d="M120.64,-272.87C125.05,-269.99 129.79,-266.74 134,-263.52 151,-250.51 152.23,-243.45 170,-231.52 172.58,-229.79 175.29,-228.11 178.07,-226.49"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="180,-229.42 187.08,-221.54 176.63,-223.29 180,-229.42"/>
|
||||
</g>
|
||||
<!-- Node28->Node9 -->
|
||||
<g id="edge48" class="edge">
|
||||
<title>Node28->Node9</title>
|
||||
<path fill="none" stroke="midnightblue" d="M123.15,-272.93C127.08,-270.26 130.96,-267.1 134,-263.52 159.51,-233.51 141.33,-209.54 170,-182.52 205.93,-148.67 227.98,-161.39 274,-143.52 356.56,-111.47 453.12,-72.24 502.6,-52.02"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="504.2,-55.14 512.13,-48.12 501.55,-48.66 504.2,-55.14"/>
|
||||
</g>
|
||||
<!-- Node28->Node11 -->
|
||||
<g id="edge47" class="edge">
|
||||
<title>Node28->Node11</title>
|
||||
<path fill="none" stroke="midnightblue" d="M123.08,-273.74C127.2,-270.98 131.18,-267.58 134,-263.52 175.11,-204.38 125.83,-162.41 170,-105.52 232.66,-24.82 272.33,-0.52 374.5,-0.52 374.5,-0.52 374.5,-0.52 537.5,-0.52 624.17,-0.52 667.08,7.84 724,-57.52 786.82,-129.66 799.72,-445.32 802.04,-527.77"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="798.54,-527.9 802.3,-537.8 805.54,-527.72 798.54,-527.9"/>
|
||||
</g>
|
||||
<!-- Node28->Node12 -->
|
||||
<g id="edge44" class="edge">
|
||||
<title>Node28->Node12</title>
|
||||
<path fill="none" stroke="midnightblue" d="M123.12,-278.3C134.1,-275.75 148.77,-272.33 163.4,-268.93"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="164.54,-272.26 173.48,-266.58 162.95,-265.44 164.54,-272.26"/>
|
||||
</g>
|
||||
<!-- Node28->Node13 -->
|
||||
<g id="edge45" class="edge">
|
||||
<title>Node28->Node13</title>
|
||||
<path fill="none" stroke="midnightblue" d="M116.34,-292.22C128.83,-302.53 149.83,-318.81 170,-329.52 213.46,-352.6 242.34,-329.85 274,-367.52 332.39,-437 252.71,-498.14 310,-568.52 352.5,-620.73 556.63,-660.31 640.7,-674.66"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="640.37,-678.15 650.81,-676.36 641.53,-671.25 640.37,-678.15"/>
|
||||
</g>
|
||||
<!-- Node28->Node14 -->
|
||||
<g id="edge46" class="edge">
|
||||
<title>Node28->Node14</title>
|
||||
<path fill="none" stroke="midnightblue" d="M123.12,-285.96C134.1,-288.04 148.77,-290.82 163.4,-293.6"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="163.01,-297.09 173.48,-295.51 164.31,-290.21 163.01,-297.09"/>
|
||||
</g>
|
||||
<!-- Node29 -->
|
||||
<g id="node29" class="node">
|
||||
<title>Node29</title>
|
||||
<g id="a_node29"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/string/basic_string/compare.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="170,-115.02 170,-134.02 274,-134.02 274,-115.02 170,-115.02"/>
|
||||
<text text-anchor="middle" x="222" y="-122.02" font-family="Helvetica,sans-Serif" font-size="10.00">std::string::compare</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node28->Node29 -->
|
||||
<g id="edge42" class="edge">
|
||||
<title>Node28->Node29</title>
|
||||
<path fill="none" stroke="midnightblue" d="M123.16,-273.38C127.18,-270.66 131.1,-267.36 134,-263.52 166.29,-220.79 134.8,-188.89 170,-148.52 173.21,-144.84 177.1,-141.69 181.29,-138.99"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="183.13,-141.98 190.19,-134.08 179.74,-135.85 183.13,-141.98"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 34 KiB |
@@ -0,0 +1,7 @@
|
||||
<map id="operator<<" name="operator<<">
|
||||
<area shape="rect" id="node1" title=" " alt="" coords="5,81,91,108"/>
|
||||
<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="142,5,214,32"/>
|
||||
<area shape="rect" id="node3" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/io/manip/left.html#" title=" " alt="" coords="145,56,211,83"/>
|
||||
<area shape="rect" id="node4" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/io/manip/setfill.html#" title=" " alt="" coords="139,107,217,133"/>
|
||||
<area shape="rect" id="node5" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/io/manip/setw.html#" title=" " alt="" coords="140,157,216,184"/>
|
||||
</map>
|
||||
@@ -0,0 +1 @@
|
||||
54e66f6e545d0faf1069c1cc73397c39
|
||||
@@ -0,0 +1,82 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
||||
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<!-- Generated by graphviz version 2.44.0 (20200408.0750)
|
||||
-->
|
||||
<!-- Title: operator<< Pages: 1 -->
|
||||
<svg width="167pt" height="142pt"
|
||||
viewBox="0.00 0.00 167.00 142.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 138)">
|
||||
<title>operator<<</title>
|
||||
<polygon fill="white" stroke="transparent" points="-4,4 -4,-138 163,-138 163,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,-57.5 0,-76.5 64,-76.5 64,-57.5 0,-57.5"/>
|
||||
<text text-anchor="middle" x="32" y="-64.5" font-family="Helvetica,sans-Serif" font-size="10.00">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/io/manip/endl.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="102.5,-114.5 102.5,-133.5 156.5,-133.5 156.5,-114.5 102.5,-114.5"/>
|
||||
<text text-anchor="middle" x="129.5" y="-121.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="M49.2,-76.67C64.11,-85.57 86.44,-98.9 103.61,-109.14"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="102.16,-112.35 112.54,-114.47 105.75,-106.34 102.16,-112.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/io/manip/left.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="104.5,-76.5 104.5,-95.5 154.5,-95.5 154.5,-76.5 104.5,-76.5"/>
|
||||
<text text-anchor="middle" x="129.5" y="-83.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::left</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node3 -->
|
||||
<g id="edge2" class="edge">
|
||||
<title>Node1->Node3</title>
|
||||
<path fill="none" stroke="midnightblue" d="M64.01,-73.17C73.71,-75.1 84.46,-77.24 94.37,-79.21"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="93.81,-82.67 104.3,-81.19 95.18,-75.8 93.81,-82.67"/>
|
||||
</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/io/manip/setfill.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="100,-38.5 100,-57.5 159,-57.5 159,-38.5 100,-38.5"/>
|
||||
<text text-anchor="middle" x="129.5" y="-45.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::setfill</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node4 -->
|
||||
<g id="edge3" class="edge">
|
||||
<title>Node1->Node4</title>
|
||||
<path fill="none" stroke="midnightblue" d="M64.01,-60.83C72.31,-59.18 81.38,-57.38 90.03,-55.65"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="90.79,-59.07 99.91,-53.69 89.42,-52.21 90.79,-59.07"/>
|
||||
</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/io/manip/setw.html#" xlink:title=" ">
|
||||
<polygon fill="white" stroke="black" points="101,-0.5 101,-19.5 158,-19.5 158,-0.5 101,-0.5"/>
|
||||
<text text-anchor="middle" x="129.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::setw</text>
|
||||
</a>
|
||||
</g>
|
||||
</g>
|
||||
<!-- Node1->Node5 -->
|
||||
<g id="edge4" class="edge">
|
||||
<title>Node1->Node5</title>
|
||||
<path fill="none" stroke="midnightblue" d="M49.2,-57.33C64.11,-48.43 86.44,-35.1 103.61,-24.86"/>
|
||||
<polygon fill="midnightblue" stroke="midnightblue" points="105.75,-27.66 112.54,-19.53 102.16,-21.65 105.75,-27.66"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.8 KiB |