Documentation for f16093cf7b

This commit is contained in:
github-actions
2020-06-29 12:34:01 +00:00
parent 7c542ad6df
commit e64a0eff2d
262 changed files with 13819 additions and 5383 deletions

View File

@@ -96,45 +96,47 @@ $(document).ready(function(){initNavTree('annotated.html',''); initResizable();
<div class="contents">
<div class="textblock">Here are the classes, structs, unions and interfaces with brief descriptions:</div><div class="directory">
<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span>]</div><table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="d8/d77/namespacemachine__learning.html" target="_self">machine_learning</a></td><td class="desc">Machine learning algorithms </td></tr>
<tr id="row_0_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d6/d30/classmachine__learning_1_1adaline.html" target="_self">adaline</a></td><td class="desc"></td></tr>
<tr id="row_1_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_1_" class="arrow" onclick="toggleFolder('1_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="d2/dcf/namespacestatistics.html" target="_self">statistics</a></td><td class="desc">Statistical algorithms </td></tr>
<tr id="row_1_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d7/d7c/classstatistics_1_1stats__computer1.html" target="_self">stats_computer1</a></td><td class="desc"></td></tr>
<tr id="row_1_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d8/dab/classstatistics_1_1stats__computer2.html" target="_self">stats_computer2</a></td><td class="desc"></td></tr>
<tr id="row_2_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d9/d90/struct_btree.html" target="_self">Btree</a></td><td class="desc"></td></tr>
<tr id="row_3_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d5/d15/classcll.html" target="_self">cll</a></td><td class="desc"></td></tr>
<tr id="row_4_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d1/db3/structcompare.html" target="_self">compare</a></td><td class="desc"></td></tr>
<tr id="row_5_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="da/d5a/class_complex.html" target="_self">Complex</a></td><td class="desc"></td></tr>
<tr id="row_6_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d3/dbb/class_cycle_check.html" target="_self">CycleCheck</a></td><td class="desc"></td></tr>
<tr id="row_7_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d9/dee/classdouble__linked__list.html" target="_self">double_linked_list</a></td><td class="desc"></td></tr>
<tr id="row_8_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d7/d77/class_edge.html" target="_self">Edge</a></td><td class="desc"></td></tr>
<tr id="row_9_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dd/d3b/struct_entry.html" target="_self">Entry</a></td><td class="desc"></td></tr>
<tr id="row_10_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dd/d91/class_fenwick_tree.html" target="_self">FenwickTree</a></td><td class="desc"></td></tr>
<tr id="row_11_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dd/d9b/classgraph.html" target="_self">graph</a></td><td class="desc"></td></tr>
<tr id="row_12_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="da/d9a/class_graph.html" target="_self">Graph</a></td><td class="desc"></td></tr>
<tr id="row_13_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="db/d66/struct_item.html" target="_self">Item</a></td><td class="desc"></td></tr>
<tr id="row_14_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="db/d82/classlarge__number.html" target="_self">large_number</a></td><td class="desc"></td></tr>
<tr id="row_15_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dd/df4/structlca.html" target="_self">lca</a></td><td class="desc"></td></tr>
<tr id="row_16_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d0/dff/structlinkedlist.html" target="_self">linkedlist</a></td><td class="desc"></td></tr>
<tr id="row_17_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d8/d10/structlist.html" target="_self">list</a></td><td class="desc"></td></tr>
<tr id="row_18_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d2/d05/class_min_heap.html" target="_self">MinHeap</a></td><td class="desc"></td></tr>
<tr id="row_19_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d5/d29/struct_min_heap_node.html" target="_self">MinHeapNode</a></td><td class="desc"></td></tr>
<tr id="row_20_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d1/d77/structmst.html" target="_self">mst</a></td><td class="desc"></td></tr>
<tr id="row_21_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d5/da1/structnode.html" target="_self">node</a></td><td class="desc"></td></tr>
<tr id="row_22_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="db/d8b/struct_node.html" target="_self">Node</a></td><td class="desc"></td></tr>
<tr id="row_23_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d8/dc8/struct_point.html" target="_self">Point</a></td><td class="desc"></td></tr>
<tr id="row_24_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dd/d1b/structquery.html" target="_self">query</a></td><td class="desc"></td></tr>
<tr id="row_25_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dc/db5/struct_queue.html" target="_self">Queue</a></td><td class="desc"></td></tr>
<tr id="row_26_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="db/da9/classqueue.html" target="_self">queue</a></td><td class="desc"></td></tr>
<tr id="row_27_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d0/dd2/class_queue___array.html" target="_self">Queue_Array</a></td><td class="desc"></td></tr>
<tr id="row_28_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d4/db4/struct_segment_intersection.html" target="_self">SegmentIntersection</a></td><td class="desc"></td></tr>
<tr id="row_29_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dd/d4f/class_solution.html" target="_self">Solution</a></td><td class="desc"></td></tr>
<tr id="row_30_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d1/dc2/classstack.html" target="_self">stack</a></td><td class="desc"></td></tr>
<tr id="row_31_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d2/dc4/classstack__linked_list.html" target="_self">stack_linkedList</a></td><td class="desc"></td></tr>
<tr id="row_32_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d2/d2c/structtower.html" target="_self">tower</a></td><td class="desc"></td></tr>
<tr id="row_33_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d4/dd9/structtrie.html" target="_self">trie</a></td><td class="desc"></td></tr>
<tr id="row_34_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_34_" class="arrow" onclick="toggleFolder('34_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dd/d2f/class_trie.html" target="_self">Trie</a></td><td class="desc"></td></tr>
<tr id="row_34_0_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="de/d48/struct_trie_1_1_trie_node.html" target="_self">TrieNode</a></td><td class="desc"></td></tr>
<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="d6/d4e/namespaceciphers.html" target="_self">ciphers</a></td><td class="desc">Algorithms for encryption and decryption </td></tr>
<tr id="row_0_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d6/d26/classciphers_1_1_hill_cipher.html" target="_self">HillCipher</a></td><td class="desc">Implementation of <a href="https://en.wikipedia.org/wiki/Hill_cipher">Hill Cipher</a> algorithm </td></tr>
<tr id="row_1_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_1_" class="arrow" onclick="toggleFolder('1_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="d8/d77/namespacemachine__learning.html" target="_self">machine_learning</a></td><td class="desc">Machine learning algorithms </td></tr>
<tr id="row_1_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d6/d30/classmachine__learning_1_1adaline.html" target="_self">adaline</a></td><td class="desc"></td></tr>
<tr id="row_2_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_2_" class="arrow" onclick="toggleFolder('2_')">&#9660;</span><span class="icona"><span class="icon">N</span></span><a class="el" href="d2/dcf/namespacestatistics.html" target="_self">statistics</a></td><td class="desc">Statistical algorithms </td></tr>
<tr id="row_2_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d7/d7c/classstatistics_1_1stats__computer1.html" target="_self">stats_computer1</a></td><td class="desc"></td></tr>
<tr id="row_2_1_" class="even"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d8/dab/classstatistics_1_1stats__computer2.html" target="_self">stats_computer2</a></td><td class="desc"></td></tr>
<tr id="row_3_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d9/d90/struct_btree.html" target="_self">Btree</a></td><td class="desc"></td></tr>
<tr id="row_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d5/d15/classcll.html" target="_self">cll</a></td><td class="desc"></td></tr>
<tr id="row_5_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d1/db3/structcompare.html" target="_self">compare</a></td><td class="desc"></td></tr>
<tr id="row_6_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="da/d5a/class_complex.html" target="_self">Complex</a></td><td class="desc"></td></tr>
<tr id="row_7_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d3/dbb/class_cycle_check.html" target="_self">CycleCheck</a></td><td class="desc"></td></tr>
<tr id="row_8_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d9/dee/classdouble__linked__list.html" target="_self">double_linked_list</a></td><td class="desc"></td></tr>
<tr id="row_9_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d7/d77/class_edge.html" target="_self">Edge</a></td><td class="desc"></td></tr>
<tr id="row_10_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dd/d3b/struct_entry.html" target="_self">Entry</a></td><td class="desc"></td></tr>
<tr id="row_11_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dd/d91/class_fenwick_tree.html" target="_self">FenwickTree</a></td><td class="desc"></td></tr>
<tr id="row_12_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="da/d9a/class_graph.html" target="_self">Graph</a></td><td class="desc"></td></tr>
<tr id="row_13_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dd/d9b/classgraph.html" target="_self">graph</a></td><td class="desc"></td></tr>
<tr id="row_14_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="db/d66/struct_item.html" target="_self">Item</a></td><td class="desc"></td></tr>
<tr id="row_15_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="db/d82/classlarge__number.html" target="_self">large_number</a></td><td class="desc"></td></tr>
<tr id="row_16_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dd/df4/structlca.html" target="_self">lca</a></td><td class="desc"></td></tr>
<tr id="row_17_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d0/dff/structlinkedlist.html" target="_self">linkedlist</a></td><td class="desc"></td></tr>
<tr id="row_18_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d8/d10/structlist.html" target="_self">list</a></td><td class="desc"></td></tr>
<tr id="row_19_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d2/d05/class_min_heap.html" target="_self">MinHeap</a></td><td class="desc"></td></tr>
<tr id="row_20_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d5/d29/struct_min_heap_node.html" target="_self">MinHeapNode</a></td><td class="desc"></td></tr>
<tr id="row_21_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d1/d77/structmst.html" target="_self">mst</a></td><td class="desc"></td></tr>
<tr id="row_22_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d5/da1/structnode.html" target="_self">node</a></td><td class="desc"></td></tr>
<tr id="row_23_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="db/d8b/struct_node.html" target="_self">Node</a></td><td class="desc"></td></tr>
<tr id="row_24_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d8/dc8/struct_point.html" target="_self">Point</a></td><td class="desc"></td></tr>
<tr id="row_25_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dd/d1b/structquery.html" target="_self">query</a></td><td class="desc"></td></tr>
<tr id="row_26_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="db/da9/classqueue.html" target="_self">queue</a></td><td class="desc"></td></tr>
<tr id="row_27_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dc/db5/struct_queue.html" target="_self">Queue</a></td><td class="desc"></td></tr>
<tr id="row_28_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d0/dd2/class_queue___array.html" target="_self">Queue_Array</a></td><td class="desc"></td></tr>
<tr id="row_29_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d4/db4/struct_segment_intersection.html" target="_self">SegmentIntersection</a></td><td class="desc"></td></tr>
<tr id="row_30_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dd/d4f/class_solution.html" target="_self">Solution</a></td><td class="desc"></td></tr>
<tr id="row_31_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d1/dc2/classstack.html" target="_self">stack</a></td><td class="desc"></td></tr>
<tr id="row_32_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d2/dc4/classstack__linked_list.html" target="_self">stack_linkedList</a></td><td class="desc"></td></tr>
<tr id="row_33_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d2/d2c/structtower.html" target="_self">tower</a></td><td class="desc"></td></tr>
<tr id="row_34_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_34_" class="arrow" onclick="toggleFolder('34_')">&#9660;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="dd/d2f/class_trie.html" target="_self">Trie</a></td><td class="desc"></td></tr>
<tr id="row_34_0_"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="de/d48/struct_trie_1_1_trie_node.html" target="_self">TrieNode</a></td><td class="desc"></td></tr>
<tr id="row_35_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="d4/dd9/structtrie.html" target="_self">trie</a></td><td class="desc"></td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->

View File

@@ -1,5 +1,6 @@
var annotated_dup =
[
[ "ciphers", "d6/d4e/namespaceciphers.html", "d6/d4e/namespaceciphers" ],
[ "machine_learning", "d8/d77/namespacemachine__learning.html", "d8/d77/namespacemachine__learning" ],
[ "statistics", "d2/dcf/namespacestatistics.html", "d2/dcf/namespacestatistics" ],
[ "Btree", "d9/d90/struct_btree.html", "d9/d90/struct_btree" ],
@@ -11,8 +12,8 @@ var annotated_dup =
[ "Edge", "d7/d77/class_edge.html", "d7/d77/class_edge" ],
[ "Entry", "dd/d3b/struct_entry.html", "dd/d3b/struct_entry" ],
[ "FenwickTree", "dd/d91/class_fenwick_tree.html", "dd/d91/class_fenwick_tree" ],
[ "graph", "dd/d9b/classgraph.html", "dd/d9b/classgraph" ],
[ "Graph", "da/d9a/class_graph.html", "da/d9a/class_graph" ],
[ "graph", "dd/d9b/classgraph.html", "dd/d9b/classgraph" ],
[ "Item", "db/d66/struct_item.html", "db/d66/struct_item" ],
[ "large_number", "db/d82/classlarge__number.html", "db/d82/classlarge__number" ],
[ "lca", "dd/df4/structlca.html", "dd/df4/structlca" ],
@@ -25,14 +26,14 @@ var annotated_dup =
[ "Node", "db/d8b/struct_node.html", "db/d8b/struct_node" ],
[ "Point", "d8/dc8/struct_point.html", "d8/dc8/struct_point" ],
[ "query", "dd/d1b/structquery.html", "dd/d1b/structquery" ],
[ "Queue", "dc/db5/struct_queue.html", "dc/db5/struct_queue" ],
[ "queue", "db/da9/classqueue.html", "db/da9/classqueue" ],
[ "Queue", "dc/db5/struct_queue.html", "dc/db5/struct_queue" ],
[ "Queue_Array", "d0/dd2/class_queue___array.html", "d0/dd2/class_queue___array" ],
[ "SegmentIntersection", "d4/db4/struct_segment_intersection.html", "d4/db4/struct_segment_intersection" ],
[ "Solution", "dd/d4f/class_solution.html", "dd/d4f/class_solution" ],
[ "stack", "d1/dc2/classstack.html", "d1/dc2/classstack" ],
[ "stack_linkedList", "d2/dc4/classstack__linked_list.html", "d2/dc4/classstack__linked_list" ],
[ "tower", "d2/d2c/structtower.html", "d2/d2c/structtower" ],
[ "trie", "d4/dd9/structtrie.html", "d4/dd9/structtrie" ],
[ "Trie", "dd/d2f/class_trie.html", "dd/d2f/class_trie" ]
[ "Trie", "dd/d2f/class_trie.html", "dd/d2f/class_trie" ],
[ "trie", "d4/dd9/structtrie.html", "d4/dd9/structtrie" ]
];

View File

@@ -94,93 +94,97 @@ $(document).ready(function(){initNavTree('classes.html',''); initResizable(); })
<div class="title">Class Index</div> </div>
</div><!--header-->
<div class="contents">
<div class="qindex"><a class="qindex" href="#letter_a">a</a>&#160;|&#160;<a class="qindex" href="#letter_b">b</a>&#160;|&#160;<a class="qindex" href="#letter_c">c</a>&#160;|&#160;<a class="qindex" href="#letter_d">d</a>&#160;|&#160;<a class="qindex" href="#letter_e">e</a>&#160;|&#160;<a class="qindex" href="#letter_f">f</a>&#160;|&#160;<a class="qindex" href="#letter_g">g</a>&#160;|&#160;<a class="qindex" href="#letter_i">i</a>&#160;|&#160;<a class="qindex" href="#letter_l">l</a>&#160;|&#160;<a class="qindex" href="#letter_m">m</a>&#160;|&#160;<a class="qindex" href="#letter_n">n</a>&#160;|&#160;<a class="qindex" href="#letter_p">p</a>&#160;|&#160;<a class="qindex" href="#letter_q">q</a>&#160;|&#160;<a class="qindex" href="#letter_s">s</a>&#160;|&#160;<a class="qindex" href="#letter_t">t</a></div>
<div class="qindex"><a class="qindex" href="#letter_a">a</a>&#160;|&#160;<a class="qindex" href="#letter_b">b</a>&#160;|&#160;<a class="qindex" href="#letter_c">c</a>&#160;|&#160;<a class="qindex" href="#letter_d">d</a>&#160;|&#160;<a class="qindex" href="#letter_e">e</a>&#160;|&#160;<a class="qindex" href="#letter_f">f</a>&#160;|&#160;<a class="qindex" href="#letter_g">g</a>&#160;|&#160;<a class="qindex" href="#letter_h">h</a>&#160;|&#160;<a class="qindex" href="#letter_i">i</a>&#160;|&#160;<a class="qindex" href="#letter_l">l</a>&#160;|&#160;<a class="qindex" href="#letter_m">m</a>&#160;|&#160;<a class="qindex" href="#letter_n">n</a>&#160;|&#160;<a class="qindex" href="#letter_p">p</a>&#160;|&#160;<a class="qindex" href="#letter_q">q</a>&#160;|&#160;<a class="qindex" href="#letter_s">s</a>&#160;|&#160;<a class="qindex" href="#letter_t">t</a></div>
<table class="classindex">
<tr><td rowspan="2" valign="bottom"><a name="letter_a"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;a&#160;&#160;</div></td></tr></table>
</td>
<td rowspan="2" valign="bottom"><a name="letter_e"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;e&#160;&#160;</div></td></tr></table>
</td>
<td rowspan="2" valign="bottom"><a name="letter_l"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;l&#160;&#160;</div></td></tr></table>
</td>
<td valign="top"><a class="el" href="db/d8b/struct_node.html">Node</a>&#160;&#160;&#160;</td>
<td valign="top"><a class="el" href="d1/dc2/classstack.html">stack</a>&#160;&#160;&#160;</td>
</tr>
<tr><td rowspan="2" valign="bottom"><a name="letter_p"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;p&#160;&#160;</div></td></tr></table>
</td>
<td valign="top"><a class="el" href="d2/dc4/classstack__linked_list.html">stack_linkedList</a>&#160;&#160;&#160;</td>
</tr>
<tr><td valign="top"><a class="el" href="d6/d30/classmachine__learning_1_1adaline.html">adaline</a> (<a class="el" href="d8/d77/namespacemachine__learning.html">machine_learning</a>)&#160;&#160;&#160;</td>
<td valign="top"><a class="el" href="d7/d77/class_edge.html">Edge</a>&#160;&#160;&#160;</td>
<td valign="top"><a class="el" href="db/d82/classlarge__number.html">large_number</a>&#160;&#160;&#160;</td>
<td valign="top"><a class="el" href="d7/d7c/classstatistics_1_1stats__computer1.html">stats_computer1</a> (<a class="el" href="d2/dcf/namespacestatistics.html">statistics</a>)&#160;&#160;&#160;</td>
</tr>
<tr><td rowspan="2" valign="bottom"><a name="letter_b"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;b&#160;&#160;</div></td></tr></table>
</td>
<td valign="top"><a class="el" href="dd/d3b/struct_entry.html">Entry</a>&#160;&#160;&#160;</td>
<td valign="top"><a class="el" href="dd/df4/structlca.html">lca</a>&#160;&#160;&#160;</td>
<td valign="top"><a class="el" href="d8/dc8/struct_point.html">Point</a>&#160;&#160;&#160;</td>
<td valign="top"><a class="el" href="d8/dab/classstatistics_1_1stats__computer2.html">stats_computer2</a> (<a class="el" href="d2/dcf/namespacestatistics.html">statistics</a>)&#160;&#160;&#160;</td>
</tr>
<tr><td rowspan="2" valign="bottom"><a name="letter_f"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;f&#160;&#160;</div></td></tr></table>
</td>
<td valign="top"><a class="el" href="d0/dff/structlinkedlist.html">linkedlist</a>&#160;&#160;&#160;</td>
<td rowspan="2" valign="bottom"><a name="letter_q"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;q&#160;&#160;</div></td></tr></table>
</td>
<td rowspan="2" valign="bottom"><a name="letter_t"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;t&#160;&#160;</div></td></tr></table>
</td>
</tr>
<tr><td valign="top"><a class="el" href="d9/d90/struct_btree.html">Btree</a>&#160;&#160;&#160;</td>
<td valign="top"><a class="el" href="d8/d10/structlist.html">list</a>&#160;&#160;&#160;</td>
</tr>
<tr><td rowspan="2" valign="bottom"><a name="letter_c"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;c&#160;&#160;</div></td></tr></table>
</td>
<td valign="top"><a class="el" href="dd/d91/class_fenwick_tree.html">FenwickTree</a>&#160;&#160;&#160;</td>
<td rowspan="2" valign="bottom"><a name="letter_m"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;m&#160;&#160;</div></td></tr></table>
</td>
<td valign="top"><a class="el" href="dd/d1b/structquery.html">query</a>&#160;&#160;&#160;</td>
<td valign="top"><a class="el" href="d2/d2c/structtower.html">tower</a>&#160;&#160;&#160;</td>
</tr>
<tr><td rowspan="2" valign="bottom"><a name="letter_g"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;g&#160;&#160;</div></td></tr></table>
</td>
<td valign="top"><a class="el" href="dc/db5/struct_queue.html">Queue</a>&#160;&#160;&#160;</td>
<td valign="top"><a class="el" href="d4/dd9/structtrie.html">trie</a>&#160;&#160;&#160;</td>
</tr>
<tr><td valign="top"><a class="el" href="d5/d15/classcll.html">cll</a>&#160;&#160;&#160;</td>
<td valign="top"><a class="el" href="d2/d05/class_min_heap.html">MinHeap</a>&#160;&#160;&#160;</td>
<td valign="top"><a class="el" href="db/da9/classqueue.html">queue</a>&#160;&#160;&#160;</td>
<td valign="top"><a class="el" href="dd/d2f/class_trie.html">Trie</a>&#160;&#160;&#160;</td>
</tr>
<tr><td valign="top"><a class="el" href="d1/db3/structcompare.html">compare</a>&#160;&#160;&#160;</td>
<td valign="top"><a class="el" href="dd/d9b/classgraph.html">graph</a>&#160;&#160;&#160;</td>
<td valign="top"><a class="el" href="d5/d29/struct_min_heap_node.html">MinHeapNode</a>&#160;&#160;&#160;</td>
<td valign="top"><a class="el" href="d0/dd2/class_queue___array.html">Queue_Array</a>&#160;&#160;&#160;</td>
<td valign="top"><a class="el" href="de/d48/struct_trie_1_1_trie_node.html">Trie::TrieNode</a>&#160;&#160;&#160;</td>
</tr>
<tr><td valign="top"><a class="el" href="da/d5a/class_complex.html">Complex</a>&#160;&#160;&#160;</td>
<td valign="top"><a class="el" href="da/d9a/class_graph.html">Graph</a>&#160;&#160;&#160;</td>
<td valign="top"><a class="el" href="d1/d77/structmst.html">mst</a>&#160;&#160;&#160;</td>
<td rowspan="2" valign="bottom"><a name="letter_s"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;s&#160;&#160;</div></td></tr></table>
</td>
<td></td></tr>
<tr><td valign="top"><a class="el" href="d3/dbb/class_cycle_check.html">CycleCheck</a>&#160;&#160;&#160;</td>
<td rowspan="2" valign="bottom"><a name="letter_i"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;i&#160;&#160;</div></td></tr></table>
</td>
<td rowspan="2" valign="bottom"><a name="letter_n"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;n&#160;&#160;</div></td></tr></table>
</td>
<td valign="top"><a class="el" href="dd/d4f/class_solution.html">Solution</a>&#160;&#160;&#160;</td>
</tr>
<tr><td valign="top"><a class="el" href="d1/dc2/classstack.html">stack</a>&#160;&#160;&#160;</td>
</tr>
<tr><td valign="top"><a class="el" href="d6/d30/classmachine__learning_1_1adaline.html">adaline</a> (<a class="el" href="d8/d77/namespacemachine__learning.html">machine_learning</a>)&#160;&#160;&#160;</td>
<td valign="top"><a class="el" href="d7/d77/class_edge.html">Edge</a>&#160;&#160;&#160;</td>
<td valign="top"><a class="el" href="db/d66/struct_item.html">Item</a>&#160;&#160;&#160;</td>
<td valign="top"><a class="el" href="d5/da1/structnode.html">node</a>&#160;&#160;&#160;</td>
<td valign="top"><a class="el" href="d2/dc4/classstack__linked_list.html">stack_linkedList</a>&#160;&#160;&#160;</td>
</tr>
<tr><td rowspan="2" valign="bottom"><a name="letter_b"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;b&#160;&#160;</div></td></tr></table>
</td>
<td valign="top"><a class="el" href="dd/d3b/struct_entry.html">Entry</a>&#160;&#160;&#160;</td>
<td rowspan="2" valign="bottom"><a name="letter_l"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;l&#160;&#160;</div></td></tr></table>
</td>
<td valign="top"><a class="el" href="db/d8b/struct_node.html">Node</a>&#160;&#160;&#160;</td>
<td valign="top"><a class="el" href="d7/d7c/classstatistics_1_1stats__computer1.html">stats_computer1</a> (<a class="el" href="d2/dcf/namespacestatistics.html">statistics</a>)&#160;&#160;&#160;</td>
</tr>
<tr><td rowspan="2" valign="bottom"><a name="letter_f"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;f&#160;&#160;</div></td></tr></table>
</td>
<td rowspan="2" valign="bottom"><a name="letter_p"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;p&#160;&#160;</div></td></tr></table>
</td>
<td valign="top"><a class="el" href="d8/dab/classstatistics_1_1stats__computer2.html">stats_computer2</a> (<a class="el" href="d2/dcf/namespacestatistics.html">statistics</a>)&#160;&#160;&#160;</td>
</tr>
<tr><td valign="top"><a class="el" href="d9/d90/struct_btree.html">Btree</a>&#160;&#160;&#160;</td>
<td valign="top"><a class="el" href="db/d82/classlarge__number.html">large_number</a>&#160;&#160;&#160;</td>
<td rowspan="2" valign="bottom"><a name="letter_t"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;t&#160;&#160;</div></td></tr></table>
</td>
</tr>
<tr><td rowspan="2" valign="bottom"><a name="letter_c"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;c&#160;&#160;</div></td></tr></table>
</td>
<td valign="top"><a class="el" href="dd/d91/class_fenwick_tree.html">FenwickTree</a>&#160;&#160;&#160;</td>
<td valign="top"><a class="el" href="dd/df4/structlca.html">lca</a>&#160;&#160;&#160;</td>
<td valign="top"><a class="el" href="d8/dc8/struct_point.html">Point</a>&#160;&#160;&#160;</td>
</tr>
<tr><td rowspan="2" valign="bottom"><a name="letter_g"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;g&#160;&#160;</div></td></tr></table>
</td>
<td valign="top"><a class="el" href="d0/dff/structlinkedlist.html">linkedlist</a>&#160;&#160;&#160;</td>
<td rowspan="2" valign="bottom"><a name="letter_q"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;q&#160;&#160;</div></td></tr></table>
</td>
<td valign="top"><a class="el" href="d2/d2c/structtower.html">tower</a>&#160;&#160;&#160;</td>
</tr>
<tr><td valign="top"><a class="el" href="d5/d15/classcll.html">cll</a>&#160;&#160;&#160;</td>
<td valign="top"><a class="el" href="d8/d10/structlist.html">list</a>&#160;&#160;&#160;</td>
<td valign="top"><a class="el" href="dd/d2f/class_trie.html">Trie</a>&#160;&#160;&#160;</td>
</tr>
<tr><td valign="top"><a class="el" href="d1/db3/structcompare.html">compare</a>&#160;&#160;&#160;</td>
<td valign="top"><a class="el" href="da/d9a/class_graph.html">Graph</a>&#160;&#160;&#160;</td>
<td rowspan="2" valign="bottom"><a name="letter_m"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;m&#160;&#160;</div></td></tr></table>
</td>
<td valign="top"><a class="el" href="dd/d1b/structquery.html">query</a>&#160;&#160;&#160;</td>
<td valign="top"><a class="el" href="d4/dd9/structtrie.html">trie</a>&#160;&#160;&#160;</td>
</tr>
<tr><td valign="top"><a class="el" href="da/d5a/class_complex.html">Complex</a>&#160;&#160;&#160;</td>
<td valign="top"><a class="el" href="dd/d9b/classgraph.html">graph</a>&#160;&#160;&#160;</td>
<td valign="top"><a class="el" href="db/da9/classqueue.html">queue</a>&#160;&#160;&#160;</td>
<td valign="top"><a class="el" href="de/d48/struct_trie_1_1_trie_node.html">Trie::TrieNode</a>&#160;&#160;&#160;</td>
</tr>
<tr><td valign="top"><a class="el" href="d3/dbb/class_cycle_check.html">CycleCheck</a>&#160;&#160;&#160;</td>
<td rowspan="2" valign="bottom"><a name="letter_h"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;h&#160;&#160;</div></td></tr></table>
</td>
<td valign="top"><a class="el" href="d2/d05/class_min_heap.html">MinHeap</a>&#160;&#160;&#160;</td>
<td valign="top"><a class="el" href="dc/db5/struct_queue.html">Queue</a>&#160;&#160;&#160;</td>
<td></td></tr>
<tr><td rowspan="2" valign="bottom"><a name="letter_d"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;d&#160;&#160;</div></td></tr></table>
</td>
<td valign="top"><a class="el" href="d4/db4/struct_segment_intersection.html">SegmentIntersection</a>&#160;&#160;&#160;</td>
<td valign="top"><a class="el" href="d5/d29/struct_min_heap_node.html">MinHeapNode</a>&#160;&#160;&#160;</td>
<td valign="top"><a class="el" href="d0/dd2/class_queue___array.html">Queue_Array</a>&#160;&#160;&#160;</td>
<td></td></tr>
<tr><td valign="top"><a class="el" href="db/d66/struct_item.html">Item</a>&#160;&#160;&#160;</td>
<td valign="top"><a class="el" href="d5/da1/structnode.html">node</a>&#160;&#160;&#160;</td>
<td valign="top"><a class="el" href="dd/d4f/class_solution.html">Solution</a>&#160;&#160;&#160;</td>
<tr><td valign="top"><a class="el" href="d6/d26/classciphers_1_1_hill_cipher.html">HillCipher</a> (<a class="el" href="d6/d4e/namespaceciphers.html">ciphers</a>)&#160;&#160;&#160;</td>
<td valign="top"><a class="el" href="d1/d77/structmst.html">mst</a>&#160;&#160;&#160;</td>
<td rowspan="2" valign="bottom"><a name="letter_s"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;s&#160;&#160;</div></td></tr></table>
</td>
<td></td></tr>
<tr><td valign="top"><a class="el" href="d9/dee/classdouble__linked__list.html">double_linked_list</a>&#160;&#160;&#160;</td>
<td></td><td></td><td></td><td></td></tr>
<td></td><td></td><td></td></tr>
<tr><td></td><td></td><td></td><td valign="top"><a class="el" href="d4/db4/struct_segment_intersection.html">SegmentIntersection</a>&#160;&#160;&#160;</td>
<td></td></tr>
<tr><td></td><td></td><td></td><td></td><td></td></tr>
</table>
<div class="qindex"><a class="qindex" href="#letter_a">a</a>&#160;|&#160;<a class="qindex" href="#letter_b">b</a>&#160;|&#160;<a class="qindex" href="#letter_c">c</a>&#160;|&#160;<a class="qindex" href="#letter_d">d</a>&#160;|&#160;<a class="qindex" href="#letter_e">e</a>&#160;|&#160;<a class="qindex" href="#letter_f">f</a>&#160;|&#160;<a class="qindex" href="#letter_g">g</a>&#160;|&#160;<a class="qindex" href="#letter_i">i</a>&#160;|&#160;<a class="qindex" href="#letter_l">l</a>&#160;|&#160;<a class="qindex" href="#letter_m">m</a>&#160;|&#160;<a class="qindex" href="#letter_n">n</a>&#160;|&#160;<a class="qindex" href="#letter_p">p</a>&#160;|&#160;<a class="qindex" href="#letter_q">q</a>&#160;|&#160;<a class="qindex" href="#letter_s">s</a>&#160;|&#160;<a class="qindex" href="#letter_t">t</a></div>
<div class="qindex"><a class="qindex" href="#letter_a">a</a>&#160;|&#160;<a class="qindex" href="#letter_b">b</a>&#160;|&#160;<a class="qindex" href="#letter_c">c</a>&#160;|&#160;<a class="qindex" href="#letter_d">d</a>&#160;|&#160;<a class="qindex" href="#letter_e">e</a>&#160;|&#160;<a class="qindex" href="#letter_f">f</a>&#160;|&#160;<a class="qindex" href="#letter_g">g</a>&#160;|&#160;<a class="qindex" href="#letter_h">h</a>&#160;|&#160;<a class="qindex" href="#letter_i">i</a>&#160;|&#160;<a class="qindex" href="#letter_l">l</a>&#160;|&#160;<a class="qindex" href="#letter_m">m</a>&#160;|&#160;<a class="qindex" href="#letter_n">n</a>&#160;|&#160;<a class="qindex" href="#letter_p">p</a>&#160;|&#160;<a class="qindex" href="#letter_q">q</a>&#160;|&#160;<a class="qindex" href="#letter_s">s</a>&#160;|&#160;<a class="qindex" href="#letter_t">t</a></div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->

View File

@@ -463,7 +463,7 @@ Here is the call graph for this function:</div>
<p>Test case: result should be: <br />
Circle with <br />
radius 1.821078397711709 <br />
centre at (2.142857142857143, 1.7857142857142856) </p><dl class="todo"><dt><b><a class="el" href="../../dd/da0/todo.html#_todo000008">Todo:</a></b></dt><dd>This test fails </dd></dl>
centre at (2.142857142857143, 1.7857142857142856) </p><dl class="todo"><dt><b><a class="el" href="../../dd/da0/todo.html#_todo000009">Todo:</a></b></dt><dd>This test fails </dd></dl>
<div class="fragment"><div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160; {</div>
<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">std::vector&lt;Point&gt;</a> Pv;</div>
<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>&#160; Pv.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/push_back.html">push_back</a>(<a class="code" href="../../d8/dc8/struct_point.html">Point</a>(0.5, 1));</div>

View File

@@ -0,0 +1,125 @@
<!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++: Member List</title>
<link href="../../tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../jquery.js"></script>
<script type="text/javascript" src="../../dynsections.js"></script>
<link href="../../navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../resize.js"></script>
<script type="text/javascript" src="../../navtreedata.js"></script>
<script type="text/javascript" src="../../navtree.js"></script>
<link href="../../search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="../../search/searchdata.js"></script>
<script type="text/javascript" src="../../search/search.js"></script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js", "TeX/AMSmath.js", "TeX/AMSsymbols.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML/MathJax.js"></script>
<link href="../../doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Algorithms_in_C++
&#160;<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&amp;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&amp;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&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('d6/d26/classciphers_1_1_hill_cipher.html','../../'); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">ciphers::HillCipher Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="../../d6/d26/classciphers_1_1_hill_cipher.html">ciphers::HillCipher</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="../../d6/d26/classciphers_1_1_hill_cipher.html#ad667fa0860977f6d6d443fa1dbcd80aa">codec</a>(const std::string &amp;text, const matrix&lt; int &gt; &amp;key)</td><td class="entry"><a class="el" href="../../d6/d26/classciphers_1_1_hill_cipher.html">ciphers::HillCipher</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d6/d26/classciphers_1_1_hill_cipher.html#a427acfac1dbff3f48a2b071d449d965b">decrypt_text</a>(const std::string &amp;text, const matrix&lt; int &gt; &amp;decrypt_key)</td><td class="entry"><a class="el" href="../../d6/d26/classciphers_1_1_hill_cipher.html">ciphers::HillCipher</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d6/d26/classciphers_1_1_hill_cipher.html#aa8bbb6e4a5749f6008b06602d5103917">encrypt_text</a>(const std::string &amp;text, const matrix&lt; int &gt; &amp;encrypt_key)</td><td class="entry"><a class="el" href="../../d6/d26/classciphers_1_1_hill_cipher.html">ciphers::HillCipher</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d6/d26/classciphers_1_1_hill_cipher.html#a7760f3665651a0a37937c79c62f219c0">gcd</a>(T a, T b)</td><td class="entry"><a class="el" href="../../d6/d26/classciphers_1_1_hill_cipher.html">ciphers::HillCipher</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d6/d26/classciphers_1_1_hill_cipher.html#abb2c4dc2b8a59d3dfe0fa22c2adc086b">generate_decryption_key</a>(matrix&lt; int &gt; const &amp;encrypt_key)</td><td class="entry"><a class="el" href="../../d6/d26/classciphers_1_1_hill_cipher.html">ciphers::HillCipher</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d6/d26/classciphers_1_1_hill_cipher.html#a7ca10cd1a0e8e3732391e0427d2d0213">generate_encryption_key</a>(size_t size, int limit1=0, int limit2=10)</td><td class="entry"><a class="el" href="../../d6/d26/classciphers_1_1_hill_cipher.html">ciphers::HillCipher</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d6/d26/classciphers_1_1_hill_cipher.html#a14bfcd14af6cd853130cbacd32e35c13">generate_keys</a>(size_t size, int limit1=0, int limit2=10)</td><td class="entry"><a class="el" href="../../d6/d26/classciphers_1_1_hill_cipher.html">ciphers::HillCipher</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">static</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d6/d26/classciphers_1_1_hill_cipher.html#ae77cad522fa44b8c985779a7188d2f41">get_char_idx</a>(const char ch)</td><td class="entry"><a class="el" href="../../d6/d26/classciphers_1_1_hill_cipher.html">ciphers::HillCipher</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d6/d26/classciphers_1_1_hill_cipher.html#a12f727cca9e21f9539cd74b6603adf0c">get_idx_char</a>(const uint8_t idx)</td><td class="entry"><a class="el" href="../../d6/d26/classciphers_1_1_hill_cipher.html">ciphers::HillCipher</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d6/d26/classciphers_1_1_hill_cipher.html#a5a4cdbd4d4dad9efe2ed309bd466dd4b">get_inverse</a>(matrix&lt; T &gt; const &amp;A)</td><td class="entry"><a class="el" href="../../d6/d26/classciphers_1_1_hill_cipher.html">ciphers::HillCipher</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d6/d26/classciphers_1_1_hill_cipher.html#a40efd842a5cc44c233641ac2df13b0c0">mat_mul</a>(const std::valarray&lt; uint8_t &gt; &amp;vector, const matrix&lt; int &gt; &amp;key)</td><td class="entry"><a class="el" href="../../d6/d26/classciphers_1_1_hill_cipher.html">ciphers::HillCipher</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
<tr bgcolor="#f0f0f0"><td class="entry"><b>modulo</b>(int a, int b) (defined in <a class="el" href="../../d6/d26/classciphers_1_1_hill_cipher.html">ciphers::HillCipher</a>)</td><td class="entry"><a class="el" href="../../d6/d26/classciphers_1_1_hill_cipher.html">ciphers::HillCipher</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
<tr class="even"><td class="entry"><a class="el" href="../../d6/d26/classciphers_1_1_hill_cipher.html#a629be41c1ab78850963e4ce14e1d11d9">rand_range</a>(T1 a, T1 b)</td><td class="entry"><a class="el" href="../../d6/d26/classciphers_1_1_hill_cipher.html">ciphers::HillCipher</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
<tr><td class="entry"><a class="el" href="../../d6/d26/classciphers_1_1_hill_cipher.html#a716d0313141499d16f57c0c107f04395">rand_range</a>(matrix&lt; T2 &gt; *M, T1 a, T1 b)</td><td class="entry"><a class="el" href="../../d6/d26/classciphers_1_1_hill_cipher.html">ciphers::HillCipher</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">private</span><span class="mlabel">static</span></td></tr>
</table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="footer">Generated by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="../../doxygen.png" alt="doxygen"/></a> 1.8.18 </li>
</ul>
</div>
</body>
</html>

View File

@@ -112,7 +112,7 @@ Include dependency graph for lu_decomposition.h:</div>
</div><div class="textblock"><div class="dynheader">
This graph shows which files directly or indirectly include this file:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d7/d39/lu__decomposition_8h__dep__incl.svg" width="160" height="142"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
<div class="center"><iframe scrolling="no" frameborder="0" src="../../d7/d39/lu__decomposition_8h__dep__incl.svg" width="336" height="142"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
</div>

View File

@@ -164,7 +164,7 @@ int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../..
<dl class="section copyright"><dt>Copyright</dt><dd>2020 Arctic2333</dd></dl>
<p>In this algorithm, we use the method of division and reservation remainder to construct the hash function, and use the method of chain address to solve the conflict, that is, we link a chain list after the data, and store all the records whose keywords are synonyms in the same linear chain list.</p>
<dl class="section warning"><dt>Warning</dt><dd>This program is only for educational purposes. It has serious flaws in implementation with regards to memory management resulting in large amounts of memory leaks. </dd></dl>
<dl class="todo"><dt><b><a class="el" href="../../dd/da0/todo.html#_todo000009">Todo:</a></b></dt><dd>fix the program for memory leaks and better structure in C++ and not C fashion </dd></dl>
<dl class="todo"><dt><b><a class="el" href="../../dd/da0/todo.html#_todo000010">Todo:</a></b></dt><dd>fix the program for memory leaks and better structure in C++ and not C fashion </dd></dl>
</div><h2 class="groupheader">Typedef Documentation</h2>
<a id="a8ca8dcb494104d273679e219e53d0555"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8ca8dcb494104d273679e219e53d0555">&#9670;&nbsp;</a></span>node</h2>
@@ -204,7 +204,7 @@ int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../..
</dd>
</dl>
<dl class="section warning"><dt>Warning</dt><dd>dynamic memory allocated to <code>n</code> never gets freed. </dd></dl>
<dl class="todo"><dt><b><a class="el" href="../../dd/da0/todo.html#_todo000010">Todo:</a></b></dt><dd>fix memory leak </dd></dl>
<dl class="todo"><dt><b><a class="el" href="../../dd/da0/todo.html#_todo000011">Todo:</a></b></dt><dd>fix memory leak </dd></dl>
<div class="fragment"><div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; { <span class="comment">// Construct hash table</span></div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/list.html">link</a> p, n;</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="keywordtype">int</span> index;</div>

View File

@@ -0,0 +1,14 @@
<map id="ciphers/hill_cipher.cpp" name="ciphers/hill_cipher.cpp">
<area shape="rect" id="node1" title="Implementation of Hill cipher algorithm." alt="" coords="301,5,452,32"/>
<area shape="rect" id="node2" title=" " alt="" coords="5,87,71,114"/>
<area shape="rect" id="node3" title=" " alt="" coords="95,87,154,114"/>
<area shape="rect" id="node4" title=" " alt="" coords="178,87,239,114"/>
<area shape="rect" id="node5" title=" " alt="" coords="264,87,319,114"/>
<area shape="rect" id="node6" title=" " alt="" coords="343,87,410,114"/>
<area shape="rect" id="node7" title=" " alt="" coords="434,87,501,114"/>
<area shape="rect" id="node8" title=" " alt="" coords="550,169,622,196"/>
<area shape="rect" id="node9" title=" " alt="" coords="576,87,631,114"/>
<area shape="rect" id="node10" href="$d1/dbe/lu__decomposition_8h.html" title="Functions associated with LU Decomposition of a square matrix." alt="" coords="655,80,802,121"/>
<area shape="rect" id="node11" title=" " alt="" coords="651,169,719,196"/>
<area shape="rect" id="node12" title=" " alt="" coords="743,169,802,196"/>
</map>

View File

@@ -0,0 +1 @@
5da01c9ba436ba7107a4db9eae614d8e

View File

@@ -0,0 +1,282 @@
<?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: ciphers/hill_cipher.cpp Pages: 1 -->
<!--zoomable 151 -->
<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 = 606;
var viewHeight = 151;
var sectionId = 'dynsection-0';
</script>
<script xlink:href="../../svgpan.js"/>
<svg id="graph" class="graph">
<g id="viewport">
<title>ciphers/hill_cipher.cpp</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-147 601.5,-147 601.5,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="Implementation of Hill cipher algorithm.">
<polygon fill="#bfbfbf" stroke="black" points="222,-123.5 222,-142.5 335,-142.5 335,-123.5 222,-123.5"/>
<text text-anchor="middle" x="278.5" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers/hill_cipher.cpp</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a xlink:title=" ">
<polygon fill="white" stroke="#bfbfbf" points="0,-62 0,-81 49,-81 49,-62 0,-62"/>
<text text-anchor="middle" x="24.5" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">cassert</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<title>Node1&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M221.65,-123.61C176.75,-116.21 112.84,-103.95 58.5,-87 56.36,-86.33 54.17,-85.58 51.99,-84.77"/>
<polygon fill="midnightblue" stroke="midnightblue" points="53.18,-81.48 42.6,-81.02 50.58,-87.98 53.18,-81.48"/>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<title>Node3</title>
<g id="a_node3"><a xlink:title=" ">
<polygon fill="white" stroke="#bfbfbf" points="67.5,-62 67.5,-81 111.5,-81 111.5,-62 67.5,-62"/>
<text text-anchor="middle" x="89.5" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">cmath</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<title>Node1&#45;&gt;Node3</title>
<path fill="none" stroke="midnightblue" d="M242.2,-123.42C209.83,-115.36 161.38,-102.27 120.5,-87 119.07,-86.47 117.62,-85.9 116.17,-85.3"/>
<polygon fill="midnightblue" stroke="midnightblue" points="117.23,-81.95 106.67,-81.13 114.42,-88.35 117.23,-81.95"/>
</g>
<!-- Node4 -->
<g id="node4" class="node">
<title>Node4</title>
<g id="a_node4"><a xlink:title=" ">
<polygon fill="white" stroke="#bfbfbf" points="129.5,-62 129.5,-81 175.5,-81 175.5,-62 129.5,-62"/>
<text text-anchor="middle" x="152.5" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">cstring</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node4 -->
<g id="edge3" class="edge">
<title>Node1&#45;&gt;Node4</title>
<path fill="none" stroke="midnightblue" d="M260.45,-123.48C239.3,-113.49 204.06,-96.85 179.62,-85.31"/>
<polygon fill="midnightblue" stroke="midnightblue" points="181.06,-82.11 170.52,-81.01 178.07,-88.44 181.06,-82.11"/>
</g>
<!-- Node5 -->
<g id="node5" class="node">
<title>Node5</title>
<g id="a_node5"><a xlink:title=" ">
<polygon fill="white" stroke="#bfbfbf" points="194,-62 194,-81 235,-81 235,-62 194,-62"/>
<text text-anchor="middle" x="214.5" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">ctime</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node5 -->
<g id="edge4" class="edge">
<title>Node1&#45;&gt;Node5</title>
<path fill="none" stroke="midnightblue" d="M269.33,-123.48C259.35,-114.2 243.19,-99.17 230.99,-87.83"/>
<polygon fill="midnightblue" stroke="midnightblue" points="233.36,-85.25 223.65,-81.01 228.59,-90.38 233.36,-85.25"/>
</g>
<!-- Node6 -->
<g id="node6" class="node">
<title>Node6</title>
<g id="a_node6"><a xlink:title=" ">
<polygon fill="white" stroke="#bfbfbf" points="253.5,-62 253.5,-81 303.5,-81 303.5,-62 253.5,-62"/>
<text text-anchor="middle" x="278.5" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">fstream</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node6 -->
<g id="edge5" class="edge">
<title>Node1&#45;&gt;Node6</title>
<path fill="none" stroke="midnightblue" d="M278.5,-123.48C278.5,-115.08 278.5,-101.98 278.5,-91.16"/>
<polygon fill="midnightblue" stroke="midnightblue" points="282,-91.01 278.5,-81.01 275,-91.01 282,-91.01"/>
</g>
<!-- Node7 -->
<g id="node7" class="node">
<title>Node7</title>
<g id="a_node7"><a xlink:title=" ">
<polygon fill="white" stroke="#bfbfbf" points="321.5,-62 321.5,-81 371.5,-81 371.5,-62 321.5,-62"/>
<text text-anchor="middle" x="346.5" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">iomanip</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node7 -->
<g id="edge6" class="edge">
<title>Node1&#45;&gt;Node7</title>
<path fill="none" stroke="midnightblue" d="M288.24,-123.48C298.85,-114.2 316.02,-99.17 328.98,-87.83"/>
<polygon fill="midnightblue" stroke="midnightblue" points="331.55,-90.23 336.78,-81.01 326.94,-84.96 331.55,-90.23"/>
</g>
<!-- Node8 -->
<g id="node8" class="node">
<title>Node8</title>
<g id="a_node8"><a xlink:title=" ">
<polygon fill="white" stroke="#bfbfbf" points="408.5,-0.5 408.5,-19.5 462.5,-19.5 462.5,-0.5 408.5,-0.5"/>
<text text-anchor="middle" x="435.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">iostream</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node8 -->
<g id="edge7" class="edge">
<title>Node1&#45;&gt;Node8</title>
<path fill="none" stroke="midnightblue" d="M308.45,-123.46C330.08,-116.24 359.13,-104.28 380.5,-87 400.62,-70.74 416.94,-45.4 426.44,-28.51"/>
<polygon fill="midnightblue" stroke="midnightblue" points="429.54,-30.13 431.22,-19.67 423.38,-26.8 429.54,-30.13"/>
</g>
<!-- Node9 -->
<g id="node9" class="node">
<title>Node9</title>
<g id="a_node9"><a xlink:title=" ">
<polygon fill="white" stroke="#bfbfbf" points="428,-62 428,-81 469,-81 469,-62 428,-62"/>
<text text-anchor="middle" x="448.5" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">string</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node9 -->
<g id="edge8" class="edge">
<title>Node1&#45;&gt;Node9</title>
<path fill="none" stroke="midnightblue" d="M306.11,-123.43C333.53,-114.77 376.7,-100.74 413.5,-87 415.35,-86.31 417.24,-85.58 419.15,-84.84"/>
<polygon fill="midnightblue" stroke="midnightblue" points="420.64,-88.01 428.61,-81.03 418.02,-81.52 420.64,-88.01"/>
</g>
<!-- Node10 -->
<g id="node10" class="node">
<title>Node10</title>
<g id="a_node10"><a xlink:href="../../d1/dbe/lu__decomposition_8h.html" target="_top" xlink:title="Functions associated with LU Decomposition of a square matrix.">
<polygon fill="white" stroke="black" points="487.5,-56.5 487.5,-86.5 597.5,-86.5 597.5,-56.5 487.5,-56.5"/>
<text text-anchor="start" x="495.5" y="-74.5" font-family="Helvetica,sans-Serif" font-size="10.00">../numerical_methods</text>
<text text-anchor="middle" x="542.5" y="-63.5" font-family="Helvetica,sans-Serif" font-size="10.00">/lu_decomposition.h</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node10 -->
<g id="edge9" class="edge">
<title>Node1&#45;&gt;Node10</title>
<path fill="none" stroke="midnightblue" d="M316.47,-123.47C354.66,-114.89 415.51,-101.22 477.4,-87.25"/>
<polygon fill="midnightblue" stroke="midnightblue" points="478.36,-90.62 487.34,-85 476.82,-83.79 478.36,-90.62"/>
</g>
<!-- Node10&#45;&gt;Node8 -->
<g id="edge10" class="edge">
<title>Node10&#45;&gt;Node8</title>
<path fill="none" stroke="midnightblue" d="M517.14,-56.4C499.83,-46.77 477.02,-34.09 459.92,-24.58"/>
<polygon fill="midnightblue" stroke="midnightblue" points="461.51,-21.46 451.07,-19.66 458.11,-27.58 461.51,-21.46"/>
</g>
<!-- Node11 -->
<g id="node11" class="node">
<title>Node11</title>
<g id="a_node11"><a xlink:title=" ">
<polygon fill="white" stroke="#bfbfbf" points="484,-0.5 484,-19.5 535,-19.5 535,-0.5 484,-0.5"/>
<text text-anchor="middle" x="509.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">valarray</text>
</a>
</g>
</g>
<!-- Node10&#45;&gt;Node11 -->
<g id="edge11" class="edge">
<title>Node10&#45;&gt;Node11</title>
<path fill="none" stroke="midnightblue" d="M534.68,-56.4C530.03,-48.02 524.1,-37.33 519.16,-28.42"/>
<polygon fill="midnightblue" stroke="midnightblue" points="522.21,-26.71 514.3,-19.66 516.09,-30.1 522.21,-26.71"/>
</g>
<!-- Node12 -->
<g id="node12" class="node">
<title>Node12</title>
<g id="a_node12"><a xlink:title=" ">
<polygon fill="white" stroke="#bfbfbf" points="553.5,-0.5 553.5,-19.5 597.5,-19.5 597.5,-0.5 553.5,-0.5"/>
<text text-anchor="middle" x="575.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">vector</text>
</a>
</g>
</g>
<!-- Node10&#45;&gt;Node12 -->
<g id="edge12" class="edge">
<title>Node10&#45;&gt;Node12</title>
<path fill="none" stroke="midnightblue" d="M550.32,-56.4C554.97,-48.02 560.9,-37.33 565.84,-28.42"/>
<polygon fill="midnightblue" stroke="midnightblue" points="568.91,-30.1 570.7,-19.66 562.79,-26.71 568.91,-30.1"/>
</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__incl_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: 14 KiB

View File

@@ -0,0 +1,194 @@
<?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: ciphers/hill_cipher.cpp Pages: 1 -->
<svg width="606pt" height="151pt"
viewBox="0.00 0.00 605.50 151.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 147)">
<title>ciphers/hill_cipher.cpp</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-147 601.5,-147 601.5,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="Implementation of Hill cipher algorithm.">
<polygon fill="#bfbfbf" stroke="black" points="222,-123.5 222,-142.5 335,-142.5 335,-123.5 222,-123.5"/>
<text text-anchor="middle" x="278.5" y="-130.5" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers/hill_cipher.cpp</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a xlink:title=" ">
<polygon fill="white" stroke="#bfbfbf" points="0,-62 0,-81 49,-81 49,-62 0,-62"/>
<text text-anchor="middle" x="24.5" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">cassert</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<title>Node1&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M221.65,-123.61C176.75,-116.21 112.84,-103.95 58.5,-87 56.36,-86.33 54.17,-85.58 51.99,-84.77"/>
<polygon fill="midnightblue" stroke="midnightblue" points="53.18,-81.48 42.6,-81.02 50.58,-87.98 53.18,-81.48"/>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<title>Node3</title>
<g id="a_node3"><a xlink:title=" ">
<polygon fill="white" stroke="#bfbfbf" points="67.5,-62 67.5,-81 111.5,-81 111.5,-62 67.5,-62"/>
<text text-anchor="middle" x="89.5" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">cmath</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<title>Node1&#45;&gt;Node3</title>
<path fill="none" stroke="midnightblue" d="M242.2,-123.42C209.83,-115.36 161.38,-102.27 120.5,-87 119.07,-86.47 117.62,-85.9 116.17,-85.3"/>
<polygon fill="midnightblue" stroke="midnightblue" points="117.23,-81.95 106.67,-81.13 114.42,-88.35 117.23,-81.95"/>
</g>
<!-- Node4 -->
<g id="node4" class="node">
<title>Node4</title>
<g id="a_node4"><a xlink:title=" ">
<polygon fill="white" stroke="#bfbfbf" points="129.5,-62 129.5,-81 175.5,-81 175.5,-62 129.5,-62"/>
<text text-anchor="middle" x="152.5" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">cstring</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node4 -->
<g id="edge3" class="edge">
<title>Node1&#45;&gt;Node4</title>
<path fill="none" stroke="midnightblue" d="M260.45,-123.48C239.3,-113.49 204.06,-96.85 179.62,-85.31"/>
<polygon fill="midnightblue" stroke="midnightblue" points="181.06,-82.11 170.52,-81.01 178.07,-88.44 181.06,-82.11"/>
</g>
<!-- Node5 -->
<g id="node5" class="node">
<title>Node5</title>
<g id="a_node5"><a xlink:title=" ">
<polygon fill="white" stroke="#bfbfbf" points="194,-62 194,-81 235,-81 235,-62 194,-62"/>
<text text-anchor="middle" x="214.5" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">ctime</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node5 -->
<g id="edge4" class="edge">
<title>Node1&#45;&gt;Node5</title>
<path fill="none" stroke="midnightblue" d="M269.33,-123.48C259.35,-114.2 243.19,-99.17 230.99,-87.83"/>
<polygon fill="midnightblue" stroke="midnightblue" points="233.36,-85.25 223.65,-81.01 228.59,-90.38 233.36,-85.25"/>
</g>
<!-- Node6 -->
<g id="node6" class="node">
<title>Node6</title>
<g id="a_node6"><a xlink:title=" ">
<polygon fill="white" stroke="#bfbfbf" points="253.5,-62 253.5,-81 303.5,-81 303.5,-62 253.5,-62"/>
<text text-anchor="middle" x="278.5" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">fstream</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node6 -->
<g id="edge5" class="edge">
<title>Node1&#45;&gt;Node6</title>
<path fill="none" stroke="midnightblue" d="M278.5,-123.48C278.5,-115.08 278.5,-101.98 278.5,-91.16"/>
<polygon fill="midnightblue" stroke="midnightblue" points="282,-91.01 278.5,-81.01 275,-91.01 282,-91.01"/>
</g>
<!-- Node7 -->
<g id="node7" class="node">
<title>Node7</title>
<g id="a_node7"><a xlink:title=" ">
<polygon fill="white" stroke="#bfbfbf" points="321.5,-62 321.5,-81 371.5,-81 371.5,-62 321.5,-62"/>
<text text-anchor="middle" x="346.5" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">iomanip</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node7 -->
<g id="edge6" class="edge">
<title>Node1&#45;&gt;Node7</title>
<path fill="none" stroke="midnightblue" d="M288.24,-123.48C298.85,-114.2 316.02,-99.17 328.98,-87.83"/>
<polygon fill="midnightblue" stroke="midnightblue" points="331.55,-90.23 336.78,-81.01 326.94,-84.96 331.55,-90.23"/>
</g>
<!-- Node8 -->
<g id="node8" class="node">
<title>Node8</title>
<g id="a_node8"><a xlink:title=" ">
<polygon fill="white" stroke="#bfbfbf" points="408.5,-0.5 408.5,-19.5 462.5,-19.5 462.5,-0.5 408.5,-0.5"/>
<text text-anchor="middle" x="435.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">iostream</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node8 -->
<g id="edge7" class="edge">
<title>Node1&#45;&gt;Node8</title>
<path fill="none" stroke="midnightblue" d="M308.45,-123.46C330.08,-116.24 359.13,-104.28 380.5,-87 400.62,-70.74 416.94,-45.4 426.44,-28.51"/>
<polygon fill="midnightblue" stroke="midnightblue" points="429.54,-30.13 431.22,-19.67 423.38,-26.8 429.54,-30.13"/>
</g>
<!-- Node9 -->
<g id="node9" class="node">
<title>Node9</title>
<g id="a_node9"><a xlink:title=" ">
<polygon fill="white" stroke="#bfbfbf" points="428,-62 428,-81 469,-81 469,-62 428,-62"/>
<text text-anchor="middle" x="448.5" y="-69" font-family="Helvetica,sans-Serif" font-size="10.00">string</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node9 -->
<g id="edge8" class="edge">
<title>Node1&#45;&gt;Node9</title>
<path fill="none" stroke="midnightblue" d="M306.11,-123.43C333.53,-114.77 376.7,-100.74 413.5,-87 415.35,-86.31 417.24,-85.58 419.15,-84.84"/>
<polygon fill="midnightblue" stroke="midnightblue" points="420.64,-88.01 428.61,-81.03 418.02,-81.52 420.64,-88.01"/>
</g>
<!-- Node10 -->
<g id="node10" class="node">
<title>Node10</title>
<g id="a_node10"><a xlink:href="../../d1/dbe/lu__decomposition_8h.html" target="_top" xlink:title="Functions associated with LU Decomposition of a square matrix.">
<polygon fill="white" stroke="black" points="487.5,-56.5 487.5,-86.5 597.5,-86.5 597.5,-56.5 487.5,-56.5"/>
<text text-anchor="start" x="495.5" y="-74.5" font-family="Helvetica,sans-Serif" font-size="10.00">../numerical_methods</text>
<text text-anchor="middle" x="542.5" y="-63.5" font-family="Helvetica,sans-Serif" font-size="10.00">/lu_decomposition.h</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node10 -->
<g id="edge9" class="edge">
<title>Node1&#45;&gt;Node10</title>
<path fill="none" stroke="midnightblue" d="M316.47,-123.47C354.66,-114.89 415.51,-101.22 477.4,-87.25"/>
<polygon fill="midnightblue" stroke="midnightblue" points="478.36,-90.62 487.34,-85 476.82,-83.79 478.36,-90.62"/>
</g>
<!-- Node10&#45;&gt;Node8 -->
<g id="edge10" class="edge">
<title>Node10&#45;&gt;Node8</title>
<path fill="none" stroke="midnightblue" d="M517.14,-56.4C499.83,-46.77 477.02,-34.09 459.92,-24.58"/>
<polygon fill="midnightblue" stroke="midnightblue" points="461.51,-21.46 451.07,-19.66 458.11,-27.58 461.51,-21.46"/>
</g>
<!-- Node11 -->
<g id="node11" class="node">
<title>Node11</title>
<g id="a_node11"><a xlink:title=" ">
<polygon fill="white" stroke="#bfbfbf" points="484,-0.5 484,-19.5 535,-19.5 535,-0.5 484,-0.5"/>
<text text-anchor="middle" x="509.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">valarray</text>
</a>
</g>
</g>
<!-- Node10&#45;&gt;Node11 -->
<g id="edge11" class="edge">
<title>Node10&#45;&gt;Node11</title>
<path fill="none" stroke="midnightblue" d="M534.68,-56.4C530.03,-48.02 524.1,-37.33 519.16,-28.42"/>
<polygon fill="midnightblue" stroke="midnightblue" points="522.21,-26.71 514.3,-19.66 516.09,-30.1 522.21,-26.71"/>
</g>
<!-- Node12 -->
<g id="node12" class="node">
<title>Node12</title>
<g id="a_node12"><a xlink:title=" ">
<polygon fill="white" stroke="#bfbfbf" points="553.5,-0.5 553.5,-19.5 597.5,-19.5 597.5,-0.5 553.5,-0.5"/>
<text text-anchor="middle" x="575.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">vector</text>
</a>
</g>
</g>
<!-- Node10&#45;&gt;Node12 -->
<g id="edge12" class="edge">
<title>Node10&#45;&gt;Node12</title>
<path fill="none" stroke="midnightblue" d="M550.32,-56.4C554.97,-48.02 560.9,-37.33 565.84,-28.42"/>
<polygon fill="midnightblue" stroke="midnightblue" points="568.91,-30.1 570.7,-19.66 562.79,-26.71 568.91,-30.1"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 8.6 KiB

View File

@@ -157,7 +157,7 @@ Variables</h2></td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A simple tree implementation using structured nodes. </p>
<dl class="todo"><dt><b><a class="el" href="../../dd/da0/todo.html#_todo000002">Todo:</a></b></dt><dd>update code to use C++ STL library features and OO structure </dd></dl>
<dl class="todo"><dt><b><a class="el" href="../../dd/da0/todo.html#_todo000003">Todo:</a></b></dt><dd>update code to use C++ STL library features and OO structure </dd></dl>
<dl class="section warning"><dt>Warning</dt><dd>This program is a poor implementation - C style - and does not utilize any of the C++ STL features. </dd></dl>
</div></div><!-- contents -->
</div><!-- doc-content -->

View File

@@ -508,6 +508,7 @@ $(document).ready(function(){initNavTree('d4/d86/large__number_8h_source.html','
<div class="ttc" id="aavltree_8cpp_html_a1ecfaaea49d452772dbb2b28133e36e0"><div class="ttname"><a href="../../d8/dee/avltree_8cpp.html#a1ecfaaea49d452772dbb2b28133e36e0">createNode</a></div><div class="ttdeci">node * createNode(int data)</div><div class="ttdef"><b>Definition:</b> avltree.cpp:21</div></div>
<div class="ttc" id="aclass_cycle_check_html"><div class="ttname"><a href="../../d3/dbb/class_cycle_check.html">CycleCheck</a></div><div class="ttdef"><b>Definition:</b> cycle_check_directed_graph.cpp:153</div></div>
<div class="ttc" id="aclass_cycle_check_html_a2f4485c08b45e7a21a2e86f9c3f01d8b"><div class="ttname"><a href="../../d3/dbb/class_cycle_check.html#a2f4485c08b45e7a21a2e86f9c3f01d8b">CycleCheck::isCyclicDFSHelper</a></div><div class="ttdeci">static bool isCyclicDFSHelper(AdjList const &amp;adjList, std::vector&lt; nodeStates &gt; *state, unsigned int node)</div><div class="ttdef"><b>Definition:</b> cycle_check_directed_graph.cpp:165</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="aclasslarge__number_html_ab1af3e0f425cdf7ea2039c9dcfe22f0b"><div class="ttname"><a href="../../db/d82/classlarge__number.html#ab1af3e0f425cdf7ea2039c9dcfe22f0b">large_number::operator*=</a></div><div class="ttdeci">large_number &amp; operator*=(const T n)</div><div class="ttdef"><b>Definition:</b> large_number.h:238</div></div>
<div class="ttc" id="aclasslarge__number_html_a10119a83839e65962621b73df46a5337"><div class="ttname"><a href="../../db/d82/classlarge__number.html#a10119a83839e65962621b73df46a5337">large_number::large_number</a></div><div class="ttdeci">large_number()</div><div class="ttdef"><b>Definition:</b> large_number.h:27</div></div>
<div class="ttc" id="asieve__of__eratosthenes_8cpp_html_a02fd73d861ef2e4aabb38c0c9ff82947"><div class="ttname"><a href="../../d8/ddf/sieve__of__eratosthenes_8cpp.html#a02fd73d861ef2e4aabb38c0c9ff82947">init</a></div><div class="ttdeci">void init()</div><div class="ttdef"><b>Definition:</b> sieve_of_eratosthenes.cpp:52</div></div>
@@ -609,7 +610,6 @@ $(document).ready(function(){initNavTree('d4/d86/large__number_8h_source.html','
<div class="ttc" id="ainsert_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/set/insert.html">std::set::insert</a></div><div class="ttdeci">T insert(T... args)</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="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="aavltree_8cpp_html_ae66f6b31b5ad750f1fe042a706a4e3d4"><div class="ttname"><a href="../../d8/dee/avltree_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a></div><div class="ttdeci">int main()</div><div class="ttdef"><b>Definition:</b> avltree.cpp:134</div></div>
<div class="ttc" id="async_with_stdio_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/ios_base/sync_with_stdio.html">std::ios_base::sync_with_stdio</a></div><div class="ttdeci">T sync_with_stdio(T... args)</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="akohonen__som__topology_8cpp_html_a2256c10b16edba377b64a44b6c656908"><div class="ttname"><a href="../../d4/def/kohonen__som__topology_8cpp.html#a2256c10b16edba377b64a44b6c656908">get_clock_diff</a></div><div class="ttdeci">double get_clock_diff(clock_t start_t, clock_t end_t)</div><div class="ttdef"><b>Definition:</b> kohonen_som_topology.cpp:561</div></div>

View File

@@ -107,6 +107,11 @@ Backtracking</h1>
<li><a href="https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/backtracking/sudoku_solve.cpp">Sudoku Solve</a></li>
</ul>
<h1><a class="anchor" id="autotoc_md15"></a>
Ciphers</h1>
<ul>
<li><a href="https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/ciphers/hill_cipher.cpp">Hill Cipher</a></li>
</ul>
<h1><a class="anchor" id="autotoc_md16"></a>
Data Structures</h1>
<ul>
<li><a href="https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/data_structures/avltree.cpp">Avltree</a></li>
@@ -140,7 +145,7 @@ Data Structures</h1>
<li><a href="https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/data_structures/trie_modern.cpp">Trie Modern</a></li>
<li><a href="https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/data_structures/trie_tree.cpp">Trie Tree</a></li>
</ul>
<h1><a class="anchor" id="autotoc_md16"></a>
<h1><a class="anchor" id="autotoc_md17"></a>
Dynamic Programming</h1>
<ul>
<li><a href="https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/dynamic_programming/0_1_knapsack.cpp">0 1 Knapsack</a></li>
@@ -163,12 +168,12 @@ Dynamic Programming</h1>
<li><a href="https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/dynamic_programming/searching_of_element_in_dynamic_array.cpp">Searching Of Element In Dynamic Array</a></li>
<li><a href="https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/dynamic_programming/tree_height.cpp">Tree Height</a></li>
</ul>
<h1><a class="anchor" id="autotoc_md17"></a>
<h1><a class="anchor" id="autotoc_md18"></a>
Geometry</h1>
<ul>
<li><a href="https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/geometry/line_segment_intersection.cpp">Line Segment Intersection</a></li>
</ul>
<h1><a class="anchor" id="autotoc_md18"></a>
<h1><a class="anchor" id="autotoc_md19"></a>
Graph</h1>
<ul>
<li><a href="https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/graph/bfs.cpp">Bfs</a></li>
@@ -187,7 +192,7 @@ Graph</h1>
<li><a href="https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/graph/topological_sort.cpp">Topological Sort</a></li>
<li><a href="https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/graph/topological_sort_by_kahns_algo.cpp">Topological Sort By Kahns Algo</a></li>
</ul>
<h1><a class="anchor" id="autotoc_md19"></a>
<h1><a class="anchor" id="autotoc_md20"></a>
Greedy Algorithms</h1>
<ul>
<li><a href="https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/greedy_algorithms/dijkstra.cpp">Dijkstra</a></li>
@@ -196,7 +201,7 @@ Greedy Algorithms</h1>
<li><a href="https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/greedy_algorithms/kruskals_minimum_spanning_tree.cpp">Kruskals Minimum Spanning Tree</a></li>
<li><a href="https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/greedy_algorithms/prims_minimum_spanning_tree.cpp">Prims Minimum Spanning Tree</a></li>
</ul>
<h1><a class="anchor" id="autotoc_md20"></a>
<h1><a class="anchor" id="autotoc_md21"></a>
Hashing</h1>
<ul>
<li><a href="https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/hashing/chaining.cpp">Chaining</a></li>
@@ -204,7 +209,7 @@ Hashing</h1>
<li><a href="https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/hashing/linear_probing_hash_table.cpp">Linear Probing Hash Table</a></li>
<li><a href="https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/hashing/quadratic_probing_hash_table.cpp">Quadratic Probing Hash Table</a></li>
</ul>
<h1><a class="anchor" id="autotoc_md21"></a>
<h1><a class="anchor" id="autotoc_md22"></a>
Machine Learning</h1>
<ul>
<li><a href="https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/machine_learning/adaline_learning.cpp">Adaline Learning</a></li>
@@ -212,7 +217,7 @@ Machine Learning</h1>
<li><a href="https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/machine_learning/kohonen_som_trace.cpp">Kohonen Som Trace</a></li>
<li><a href="https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/machine_learning/ordinary_least_squares_regressor.cpp">Ordinary Least Squares Regressor</a></li>
</ul>
<h1><a class="anchor" id="autotoc_md22"></a>
<h1><a class="anchor" id="autotoc_md23"></a>
Math</h1>
<ul>
<li><a href="https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/math/armstrong_number.cpp">Armstrong Number</a></li>
@@ -247,7 +252,7 @@ Math</h1>
<li><a href="https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/math/string_fibonacci.cpp">String Fibonacci</a></li>
<li><a href="https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/math/sum_of_digits.cpp">Sum Of Digits</a></li>
</ul>
<h1><a class="anchor" id="autotoc_md23"></a>
<h1><a class="anchor" id="autotoc_md24"></a>
Numerical Methods</h1>
<ul>
<li><a href="https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/numerical_methods/bisection_method.cpp">Bisection Method</a></li>
@@ -267,7 +272,7 @@ Numerical Methods</h1>
<li><a href="https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/numerical_methods/qr_eigen_values.cpp">Qr Eigen Values</a></li>
<li><a href="https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/numerical_methods/successive_approximation.cpp">Successive Approximation</a></li>
</ul>
<h1><a class="anchor" id="autotoc_md24"></a>
<h1><a class="anchor" id="autotoc_md25"></a>
Operations On Datastructures</h1>
<ul>
<li><a href="https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/operations_on_datastructures/array_left_rotation.cpp">Array Left Rotation</a></li>
@@ -280,7 +285,7 @@ Operations On Datastructures</h1>
<li><a href="https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/operations_on_datastructures/selectionsortlinkedlist.cpp">Selectionsortlinkedlist</a></li>
<li><a href="https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/operations_on_datastructures/union_of_2_arrays.cpp">Union Of 2 Arrays</a></li>
</ul>
<h1><a class="anchor" id="autotoc_md25"></a>
<h1><a class="anchor" id="autotoc_md26"></a>
Others</h1>
<ul>
<li><a href="https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/others/buzz_number.cpp">Buzz Number</a></li>
@@ -301,7 +306,7 @@ Others</h1>
<li><a href="https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/others/tower_of_hanoi.cpp">Tower Of Hanoi</a></li>
<li><a href="https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/others/vector_important_functions.cpp">Vector Important Functions</a></li>
</ul>
<h1><a class="anchor" id="autotoc_md26"></a>
<h1><a class="anchor" id="autotoc_md27"></a>
Probability</h1>
<ul>
<li><a href="https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/probability/addition_rule.cpp">Addition Rule</a></li>
@@ -309,14 +314,14 @@ Probability</h1>
<li><a href="https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/probability/binomial_dist.cpp">Binomial Dist</a></li>
<li><a href="https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/probability/poisson_dist.cpp">Poisson Dist</a></li>
</ul>
<h1><a class="anchor" id="autotoc_md27"></a>
<h1><a class="anchor" id="autotoc_md28"></a>
Range Queries</h1>
<ul>
<li><a href="https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/range_queries/fenwick_tree.cpp">Fenwick Tree</a></li>
<li><a href="https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/range_queries/mo.cpp">Mo</a></li>
<li><a href="https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/range_queries/segtree.cpp">Segtree</a></li>
</ul>
<h1><a class="anchor" id="autotoc_md28"></a>
<h1><a class="anchor" id="autotoc_md29"></a>
Search</h1>
<ul>
<li><a href="https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/search/binary_search.cpp">Binary Search</a></li>
@@ -330,7 +335,7 @@ Search</h1>
<li><a href="https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/search/ternary_search.cpp">Ternary Search</a></li>
<li><a href="https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/search/text_search.cpp">Text Search</a></li>
</ul>
<h1><a class="anchor" id="autotoc_md29"></a>
<h1><a class="anchor" id="autotoc_md30"></a>
Sorting</h1>
<ul>
<li><a href="https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/sorting/bead_sort.cpp">Bead Sort</a></li>
@@ -357,7 +362,7 @@ Sorting</h1>
<li><a href="https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/sorting/swap_sort.cpp">Swap Sort</a></li>
<li><a href="https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/sorting/tim_sort.cpp">Tim Sort</a></li>
</ul>
<h1><a class="anchor" id="autotoc_md30"></a>
<h1><a class="anchor" id="autotoc_md31"></a>
Strings</h1>
<ul>
<li><a href="https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/strings/brute_force_string_searching.cpp">Brute Force String Searching</a></li>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,17 @@
var classciphers_1_1_hill_cipher =
[
[ "codec", "d6/d26/classciphers_1_1_hill_cipher.html#ad667fa0860977f6d6d443fa1dbcd80aa", null ],
[ "decrypt_text", "d6/d26/classciphers_1_1_hill_cipher.html#a427acfac1dbff3f48a2b071d449d965b", null ],
[ "encrypt_text", "d6/d26/classciphers_1_1_hill_cipher.html#aa8bbb6e4a5749f6008b06602d5103917", null ],
[ "gcd", "d6/d26/classciphers_1_1_hill_cipher.html#a7760f3665651a0a37937c79c62f219c0", null ],
[ "generate_decryption_key", "d6/d26/classciphers_1_1_hill_cipher.html#abb2c4dc2b8a59d3dfe0fa22c2adc086b", null ],
[ "generate_encryption_key", "d6/d26/classciphers_1_1_hill_cipher.html#a7ca10cd1a0e8e3732391e0427d2d0213", null ],
[ "generate_keys", "d6/d26/classciphers_1_1_hill_cipher.html#a14bfcd14af6cd853130cbacd32e35c13", null ],
[ "get_char_idx", "d6/d26/classciphers_1_1_hill_cipher.html#ae77cad522fa44b8c985779a7188d2f41", null ],
[ "get_idx_char", "d6/d26/classciphers_1_1_hill_cipher.html#a12f727cca9e21f9539cd74b6603adf0c", null ],
[ "get_inverse", "d6/d26/classciphers_1_1_hill_cipher.html#a5a4cdbd4d4dad9efe2ed309bd466dd4b", null ],
[ "mat_mul", "d6/d26/classciphers_1_1_hill_cipher.html#a40efd842a5cc44c233641ac2df13b0c0", null ],
[ "modulo", "d6/d26/classciphers_1_1_hill_cipher.html#a63e7b8e92dff8b9260d6d21c31ecebd0", null ],
[ "rand_range", "d6/d26/classciphers_1_1_hill_cipher.html#a716d0313141499d16f57c0c107f04395", null ],
[ "rand_range", "d6/d26/classciphers_1_1_hill_cipher.html#a629be41c1ab78850963e4ce14e1d11d9", null ]
];

View File

@@ -0,0 +1,19 @@
<map id="ciphers::HillCipher::generate_keys" name="ciphers::HillCipher::generate_keys">
<area shape="rect" id="node1" title="Generate encryption and decryption key pair." alt="" coords="5,263,135,305"/>
<area shape="rect" id="node2" href="$d1/dbe/lu__decomposition_8h.html#a3108d43bd32c6fb3b3c158476c51ba7f" title=" " alt="" coords="431,56,538,83"/>
<area shape="rect" id="node5" href="$d6/d26/classciphers_1_1_hill_cipher.html#abb2c4dc2b8a59d3dfe0fa22c2adc086b" title="Generate decryption matrix from an encryption matrix key." alt="" coords="183,209,357,250"/>
<area shape="rect" id="node11" 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="183,343,357,385"/>
<area shape="rect" id="node17" 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="216,409,324,436"/>
<area shape="rect" id="node3" href="$d1/dbe/lu__decomposition_8h.html#a75b8a228c6419ecda6077255d6d60509" title=" " alt="" coords="612,5,735,32"/>
<area shape="rect" id="node4" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/size.html#" title=" " alt="" coords="783,81,899,108"/>
<area shape="rect" id="node6" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/utility/program/exit.html#" title=" " alt="" coords="450,157,519,184"/>
<area shape="rect" id="node7" href="$d6/d26/classciphers_1_1_hill_cipher.html#a5a4cdbd4d4dad9efe2ed309bd466dd4b" title=" " alt="" coords="420,209,549,250"/>
<area shape="rect" id="node9" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/numeric/math/round.html#" title=" " alt="" coords="445,275,525,301"/>
<area shape="rect" id="node10" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/string/byte/strlen.html#" title=" " alt="" coords="445,325,525,352"/>
<area shape="rect" id="node8" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/io/manip/endl.html#" title=" " alt="" coords="637,216,709,243"/>
<area shape="rect" id="node12" href="$d6/d26/classciphers_1_1_hill_cipher.html#a7760f3665651a0a37937c79c62f219c0" title="Compute GCD of two integers using Euler&#39;s algorithm." alt="" coords="405,376,564,403"/>
<area shape="rect" id="node14" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/numeric/math/isfinite.html#" title=" " alt="" coords="441,427,528,453"/>
<area shape="rect" id="node15" href="$d6/d26/classciphers_1_1_hill_cipher.html#a629be41c1ab78850963e4ce14e1d11d9" title="Function to generate a random integer in a given interval." alt="" coords="420,478,549,519"/>
<area shape="rect" id="node13" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/algorithm/swap.html#" title=" " alt="" coords="634,376,713,403"/>
<area shape="rect" id="node16" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/numeric/random/rand.html#" title=" " alt="" coords="637,485,710,512"/>
</map>

View File

@@ -0,0 +1 @@
8a914c7a4857626425bc8c7d42a9189f

View File

@@ -0,0 +1,385 @@
<?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: ciphers::HillCipher::generate_keys Pages: 1 -->
<!--zoomable 394 -->
<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 = 678;
var viewHeight = 394;
var sectionId = 'dynsection-6';
</script>
<script xlink:href="../../svgpan.js"/>
<svg id="graph" class="graph">
<g id="viewport">
<title>ciphers::HillCipher::generate_keys</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-389.5 674,-389.5 674,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="Generate encryption and decryption key pair.">
<polygon fill="#bfbfbf" stroke="black" points="0,-161.5 0,-191.5 97,-191.5 97,-161.5 0,-161.5"/>
<text text-anchor="start" x="8" y="-179.5" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
<text text-anchor="middle" x="48.5" y="-168.5" font-family="Helvetica,sans-Serif" font-size="10.00">::generate_keys</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a xlink:href="../../d1/dbe/lu__decomposition_8h.html#a3108d43bd32c6fb3b3c158476c51ba7f" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="319.5,-328 319.5,-347 399.5,-347 399.5,-328 319.5,-328"/>
<text text-anchor="middle" x="359.5" y="-335" font-family="Helvetica,sans-Serif" font-size="10.00">determinant_lu</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<title>Node1&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M65.8,-191.56C81.97,-205.95 107.89,-227.6 133,-242.5 194.61,-279.05 272.9,-308.67 319.16,-324.63"/>
<polygon fill="midnightblue" stroke="midnightblue" points="318.21,-328 328.8,-327.92 320.47,-321.38 318.21,-328"/>
</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#abb2c4dc2b8a59d3dfe0fa22c2adc086b" target="_top" xlink:title="Generate decryption matrix from an encryption matrix key.">
<polygon fill="white" stroke="black" points="133,-202.5 133,-232.5 264,-232.5 264,-202.5 133,-202.5"/>
<text text-anchor="start" x="141" y="-220.5" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
<text text-anchor="middle" x="198.5" y="-209.5" font-family="Helvetica,sans-Serif" font-size="10.00">::generate_decryption_key</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node5 -->
<g id="edge5" class="edge">
<title>Node1&#45;&gt;Node5</title>
<path fill="none" stroke="midnightblue" d="M97.14,-189.7C108.74,-192.91 121.34,-196.4 133.56,-199.79"/>
<polygon fill="midnightblue" stroke="midnightblue" points="132.69,-203.18 143.26,-202.47 134.56,-196.43 132.69,-203.18"/>
</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#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="133,-101.5 133,-131.5 264,-131.5 264,-101.5 133,-101.5"/>
<text text-anchor="start" x="141" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
<text text-anchor="middle" x="198.5" y="-108.5" font-family="Helvetica,sans-Serif" font-size="10.00">::generate_encryption_key</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node11 -->
<g id="edge14" class="edge">
<title>Node1&#45;&gt;Node11</title>
<path fill="none" stroke="midnightblue" d="M86.85,-161.36C106.29,-153.48 130.25,-143.76 150.89,-135.39"/>
<polygon fill="midnightblue" stroke="midnightblue" points="152.47,-138.53 160.42,-131.53 149.84,-132.05 152.47,-138.53"/>
</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/pair/make_pair.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="158,-63 158,-82 239,-82 239,-63 158,-63"/>
<text text-anchor="middle" x="198.5" y="-70" font-family="Helvetica,sans-Serif" font-size="10.00">std::make_pair</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node17 -->
<g id="edge21" class="edge">
<title>Node1&#45;&gt;Node17</title>
<path fill="none" stroke="midnightblue" d="M60.8,-161.22C75.45,-142.44 102.75,-110.82 133,-92.5 137.76,-89.62 142.98,-87.11 148.32,-84.95"/>
<polygon fill="midnightblue" stroke="midnightblue" points="149.79,-88.14 157.98,-81.41 147.39,-81.56 149.79,-88.14"/>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<title>Node3</title>
<g id="a_node3"><a xlink:href="../../d1/dbe/lu__decomposition_8h.html#a75b8a228c6419ecda6077255d6d60509" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="455,-366 455,-385 547,-385 547,-366 455,-366"/>
<text text-anchor="middle" x="501" y="-373" font-family="Helvetica,sans-Serif" font-size="10.00">lu_decomposition</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<title>Node2&#45;&gt;Node3</title>
<path fill="none" stroke="midnightblue" d="M395.7,-347.09C413.71,-351.99 435.83,-358.02 455.06,-363.26"/>
<polygon fill="midnightblue" stroke="midnightblue" points="454.24,-366.66 464.81,-365.91 456.08,-359.91 454.24,-366.66"/>
</g>
<!-- Node4 -->
<g id="node4" class="node">
<title>Node4</title>
<g id="a_node4"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/size.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="583,-309 583,-328 670,-328 670,-309 583,-309"/>
<text text-anchor="middle" x="626.5" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::size</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node4 -->
<g id="edge4" class="edge">
<title>Node2&#45;&gt;Node4</title>
<path fill="none" stroke="midnightblue" d="M399.6,-334.7C445.4,-331.41 521.48,-325.96 572.54,-322.3"/>
<polygon fill="midnightblue" stroke="midnightblue" points="573,-325.77 582.72,-321.57 572.5,-318.79 573,-325.77"/>
</g>
<!-- Node3&#45;&gt;Node4 -->
<g id="edge3" class="edge">
<title>Node3&#45;&gt;Node4</title>
<path fill="none" stroke="midnightblue" d="M522.67,-365.96C542.62,-356.75 573.03,-342.72 595.62,-332.29"/>
<polygon fill="midnightblue" stroke="midnightblue" points="597.15,-335.44 604.76,-328.07 594.22,-329.08 597.15,-335.44"/>
</g>
<!-- Node5&#45;&gt;Node2 -->
<g id="edge6" class="edge">
<title>Node5&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M214.08,-232.75C237.13,-256.62 281.28,-301.34 300,-313.5 306.14,-317.49 313.05,-321.03 319.91,-324.08"/>
<polygon fill="midnightblue" stroke="midnightblue" points="318.59,-327.32 329.17,-327.94 321.28,-320.86 318.59,-327.32"/>
</g>
<!-- Node5&#45;&gt;Node4 -->
<g id="edge12" class="edge">
<title>Node5&#45;&gt;Node4</title>
<path fill="none" stroke="midnightblue" d="M253.7,-232.63C257.3,-234.39 260.77,-236.34 264,-238.5 284.45,-252.15 278.3,-268.95 300,-280.5 345.96,-304.97 492.59,-313.87 572.44,-316.96"/>
<polygon fill="midnightblue" stroke="midnightblue" points="572.66,-320.47 582.78,-317.34 572.92,-313.48 572.66,-320.47"/>
</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/utility/program/exit.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="333.5,-252 333.5,-271 385.5,-271 385.5,-252 333.5,-252"/>
<text text-anchor="middle" x="359.5" y="-259" font-family="Helvetica,sans-Serif" font-size="10.00">std::exit</text>
</a>
</g>
</g>
<!-- Node5&#45;&gt;Node6 -->
<g id="edge7" class="edge">
<title>Node5&#45;&gt;Node6</title>
<path fill="none" stroke="midnightblue" d="M253.77,-232.52C276.86,-238.91 303.12,-246.17 323.56,-251.83"/>
<polygon fill="midnightblue" stroke="midnightblue" points="322.81,-255.26 333.39,-254.55 324.68,-248.51 322.81,-255.26"/>
</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#a5a4cdbd4d4dad9efe2ed309bd466dd4b" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="311,-202.5 311,-232.5 408,-232.5 408,-202.5 311,-202.5"/>
<text text-anchor="start" x="319" y="-220.5" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
<text text-anchor="middle" x="359.5" y="-209.5" font-family="Helvetica,sans-Serif" font-size="10.00">::get_inverse</text>
</a>
</g>
</g>
<!-- Node5&#45;&gt;Node7 -->
<g id="edge8" class="edge">
<title>Node5&#45;&gt;Node7</title>
<path fill="none" stroke="midnightblue" d="M264.17,-217.5C276.27,-217.5 288.85,-217.5 300.73,-217.5"/>
<polygon fill="midnightblue" stroke="midnightblue" points="300.96,-221 310.96,-217.5 300.96,-214 300.96,-221"/>
</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/numeric/math/round.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="329.5,-164 329.5,-183 389.5,-183 389.5,-164 329.5,-164"/>
<text text-anchor="middle" x="359.5" y="-171" font-family="Helvetica,sans-Serif" font-size="10.00">std::round</text>
</a>
</g>
</g>
<!-- Node5&#45;&gt;Node9 -->
<g id="edge11" class="edge">
<title>Node5&#45;&gt;Node9</title>
<path fill="none" stroke="midnightblue" d="M253.77,-202.48C275.38,-196.5 299.75,-189.76 319.55,-184.28"/>
<polygon fill="midnightblue" stroke="midnightblue" points="320.74,-187.58 329.45,-181.54 318.87,-180.83 320.74,-187.58"/>
</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/string/byte/strlen.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="329.5,-126 329.5,-145 389.5,-145 389.5,-126 329.5,-126"/>
<text text-anchor="middle" x="359.5" y="-133" font-family="Helvetica,sans-Serif" font-size="10.00">std::strlen</text>
</a>
</g>
</g>
<!-- Node5&#45;&gt;Node10 -->
<g id="edge13" class="edge">
<title>Node5&#45;&gt;Node10</title>
<path fill="none" stroke="midnightblue" d="M220.2,-202.39C239.94,-188.52 270.89,-168.1 300,-154.5 306.24,-151.59 313.05,-148.93 319.75,-146.6"/>
<polygon fill="midnightblue" stroke="midnightblue" points="321,-149.87 329.39,-143.4 318.8,-143.22 321,-149.87"/>
</g>
<!-- Node7&#45;&gt;Node4 -->
<g id="edge10" class="edge">
<title>Node7&#45;&gt;Node4</title>
<path fill="none" stroke="midnightblue" d="M403.69,-232.58C441.63,-245.99 498.23,-266.37 547,-285.5 562.66,-291.64 579.9,-298.84 594.22,-304.94"/>
<polygon fill="midnightblue" stroke="midnightblue" points="593.05,-308.25 603.62,-308.97 595.81,-301.81 593.05,-308.25"/>
</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/io/manip/endl.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="474,-208 474,-227 528,-227 528,-208 474,-208"/>
<text text-anchor="middle" x="501" y="-215" font-family="Helvetica,sans-Serif" font-size="10.00">std::endl</text>
</a>
</g>
</g>
<!-- Node7&#45;&gt;Node8 -->
<g id="edge9" class="edge">
<title>Node7&#45;&gt;Node8</title>
<path fill="none" stroke="midnightblue" d="M408.12,-217.5C426.29,-217.5 446.7,-217.5 463.65,-217.5"/>
<polygon fill="midnightblue" stroke="midnightblue" points="463.72,-221 473.72,-217.5 463.72,-214 463.72,-221"/>
</g>
<!-- Node11&#45;&gt;Node10 -->
<g id="edge20" class="edge">
<title>Node11&#45;&gt;Node10</title>
<path fill="none" stroke="midnightblue" d="M264.17,-124.23C282.65,-126.44 302.24,-128.78 318.74,-130.75"/>
<polygon fill="midnightblue" stroke="midnightblue" points="318.76,-134.28 329.11,-131.99 319.59,-127.33 318.76,-134.28"/>
</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#a7760f3665651a0a37937c79c62f219c0" target="_top" xlink:title="Compute GCD of two integers using Euler&#39;s algorithm.">
<polygon fill="white" stroke="black" points="300,-88 300,-107 419,-107 419,-88 300,-88"/>
<text text-anchor="middle" x="359.5" y="-95" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher::gcd</text>
</a>
</g>
</g>
<!-- Node11&#45;&gt;Node12 -->
<g id="edge15" class="edge">
<title>Node11&#45;&gt;Node12</title>
<path fill="none" stroke="midnightblue" d="M264.17,-108.77C272.55,-107.77 281.15,-106.74 289.59,-105.73"/>
<polygon fill="midnightblue" stroke="midnightblue" points="290.26,-109.18 299.77,-104.52 289.43,-102.23 290.26,-109.18"/>
</g>
<!-- Node14 -->
<g id="node14" class="node">
<title>Node14</title>
<g id="a_node14"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/numeric/math/isfinite.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="327,-50 327,-69 392,-69 392,-50 327,-50"/>
<text text-anchor="middle" x="359.5" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">std::isfinite</text>
</a>
</g>
</g>
<!-- Node11&#45;&gt;Node14 -->
<g id="edge17" class="edge">
<title>Node11&#45;&gt;Node14</title>
<path fill="none" stroke="midnightblue" d="M238,-101.45C256.65,-94.29 279.41,-85.73 300,-78.5 305.95,-76.41 312.27,-74.27 318.47,-72.22"/>
<polygon fill="midnightblue" stroke="midnightblue" points="319.63,-75.53 328.05,-69.09 317.45,-68.87 319.63,-75.53"/>
</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#a629be41c1ab78850963e4ce14e1d11d9" target="_top" xlink:title="Function to generate a random integer in a given interval.">
<polygon fill="white" stroke="black" points="311,-0.5 311,-30.5 408,-30.5 408,-0.5 311,-0.5"/>
<text text-anchor="start" x="319" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
<text text-anchor="middle" x="359.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">::rand_range</text>
</a>
</g>
</g>
<!-- Node11&#45;&gt;Node15 -->
<g id="edge18" class="edge">
<title>Node11&#45;&gt;Node15</title>
<path fill="none" stroke="midnightblue" d="M247.72,-101.5C253.49,-98.66 259.08,-95.34 264,-91.5 285.87,-74.42 278.43,-57.95 300,-40.5 302.03,-38.86 304.18,-37.31 306.42,-35.84"/>
<polygon fill="midnightblue" stroke="midnightblue" points="308.49,-38.69 315.37,-30.63 304.97,-32.64 308.49,-38.69"/>
</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/algorithm/swap.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="471.5,-88 471.5,-107 530.5,-107 530.5,-88 471.5,-88"/>
<text text-anchor="middle" x="501" y="-95" font-family="Helvetica,sans-Serif" font-size="10.00">std::swap</text>
</a>
</g>
</g>
<!-- Node12&#45;&gt;Node13 -->
<g id="edge16" class="edge">
<title>Node12&#45;&gt;Node13</title>
<path fill="none" stroke="midnightblue" d="M419.26,-97.5C433.47,-97.5 448.32,-97.5 461.34,-97.5"/>
<polygon fill="midnightblue" stroke="midnightblue" points="461.35,-101 471.35,-97.5 461.35,-94 461.35,-101"/>
</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/numeric/random/rand.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="473.5,-6 473.5,-25 528.5,-25 528.5,-6 473.5,-6"/>
<text text-anchor="middle" x="501" y="-13" font-family="Helvetica,sans-Serif" font-size="10.00">std::rand</text>
</a>
</g>
</g>
<!-- Node15&#45;&gt;Node16 -->
<g id="edge19" class="edge">
<title>Node15&#45;&gt;Node16</title>
<path fill="none" stroke="midnightblue" d="M408.12,-15.5C426.16,-15.5 446.4,-15.5 463.29,-15.5"/>
<polygon fill="midnightblue" stroke="midnightblue" points="463.32,-19 473.32,-15.5 463.32,-12 463.32,-19"/>
</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="classciphers_1_1_hill_cipher_a14bfcd14af6cd853130cbacd32e35c13_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: 21 KiB

View File

@@ -0,0 +1,297 @@
<?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: ciphers::HillCipher::generate_keys Pages: 1 -->
<svg width="678pt" height="394pt"
viewBox="0.00 0.00 678.00 393.50" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 389.5)">
<title>ciphers::HillCipher::generate_keys</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-389.5 674,-389.5 674,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="Generate encryption and decryption key pair.">
<polygon fill="#bfbfbf" stroke="black" points="0,-161.5 0,-191.5 97,-191.5 97,-161.5 0,-161.5"/>
<text text-anchor="start" x="8" y="-179.5" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
<text text-anchor="middle" x="48.5" y="-168.5" font-family="Helvetica,sans-Serif" font-size="10.00">::generate_keys</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a xlink:href="../../d1/dbe/lu__decomposition_8h.html#a3108d43bd32c6fb3b3c158476c51ba7f" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="319.5,-328 319.5,-347 399.5,-347 399.5,-328 319.5,-328"/>
<text text-anchor="middle" x="359.5" y="-335" font-family="Helvetica,sans-Serif" font-size="10.00">determinant_lu</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<title>Node1&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M65.8,-191.56C81.97,-205.95 107.89,-227.6 133,-242.5 194.61,-279.05 272.9,-308.67 319.16,-324.63"/>
<polygon fill="midnightblue" stroke="midnightblue" points="318.21,-328 328.8,-327.92 320.47,-321.38 318.21,-328"/>
</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#abb2c4dc2b8a59d3dfe0fa22c2adc086b" target="_top" xlink:title="Generate decryption matrix from an encryption matrix key.">
<polygon fill="white" stroke="black" points="133,-202.5 133,-232.5 264,-232.5 264,-202.5 133,-202.5"/>
<text text-anchor="start" x="141" y="-220.5" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
<text text-anchor="middle" x="198.5" y="-209.5" font-family="Helvetica,sans-Serif" font-size="10.00">::generate_decryption_key</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node5 -->
<g id="edge5" class="edge">
<title>Node1&#45;&gt;Node5</title>
<path fill="none" stroke="midnightblue" d="M97.14,-189.7C108.74,-192.91 121.34,-196.4 133.56,-199.79"/>
<polygon fill="midnightblue" stroke="midnightblue" points="132.69,-203.18 143.26,-202.47 134.56,-196.43 132.69,-203.18"/>
</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#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="133,-101.5 133,-131.5 264,-131.5 264,-101.5 133,-101.5"/>
<text text-anchor="start" x="141" y="-119.5" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
<text text-anchor="middle" x="198.5" y="-108.5" font-family="Helvetica,sans-Serif" font-size="10.00">::generate_encryption_key</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node11 -->
<g id="edge14" class="edge">
<title>Node1&#45;&gt;Node11</title>
<path fill="none" stroke="midnightblue" d="M86.85,-161.36C106.29,-153.48 130.25,-143.76 150.89,-135.39"/>
<polygon fill="midnightblue" stroke="midnightblue" points="152.47,-138.53 160.42,-131.53 149.84,-132.05 152.47,-138.53"/>
</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/pair/make_pair.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="158,-63 158,-82 239,-82 239,-63 158,-63"/>
<text text-anchor="middle" x="198.5" y="-70" font-family="Helvetica,sans-Serif" font-size="10.00">std::make_pair</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node17 -->
<g id="edge21" class="edge">
<title>Node1&#45;&gt;Node17</title>
<path fill="none" stroke="midnightblue" d="M60.8,-161.22C75.45,-142.44 102.75,-110.82 133,-92.5 137.76,-89.62 142.98,-87.11 148.32,-84.95"/>
<polygon fill="midnightblue" stroke="midnightblue" points="149.79,-88.14 157.98,-81.41 147.39,-81.56 149.79,-88.14"/>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<title>Node3</title>
<g id="a_node3"><a xlink:href="../../d1/dbe/lu__decomposition_8h.html#a75b8a228c6419ecda6077255d6d60509" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="455,-366 455,-385 547,-385 547,-366 455,-366"/>
<text text-anchor="middle" x="501" y="-373" font-family="Helvetica,sans-Serif" font-size="10.00">lu_decomposition</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<title>Node2&#45;&gt;Node3</title>
<path fill="none" stroke="midnightblue" d="M395.7,-347.09C413.71,-351.99 435.83,-358.02 455.06,-363.26"/>
<polygon fill="midnightblue" stroke="midnightblue" points="454.24,-366.66 464.81,-365.91 456.08,-359.91 454.24,-366.66"/>
</g>
<!-- Node4 -->
<g id="node4" class="node">
<title>Node4</title>
<g id="a_node4"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/size.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="583,-309 583,-328 670,-328 670,-309 583,-309"/>
<text text-anchor="middle" x="626.5" y="-316" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::size</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node4 -->
<g id="edge4" class="edge">
<title>Node2&#45;&gt;Node4</title>
<path fill="none" stroke="midnightblue" d="M399.6,-334.7C445.4,-331.41 521.48,-325.96 572.54,-322.3"/>
<polygon fill="midnightblue" stroke="midnightblue" points="573,-325.77 582.72,-321.57 572.5,-318.79 573,-325.77"/>
</g>
<!-- Node3&#45;&gt;Node4 -->
<g id="edge3" class="edge">
<title>Node3&#45;&gt;Node4</title>
<path fill="none" stroke="midnightblue" d="M522.67,-365.96C542.62,-356.75 573.03,-342.72 595.62,-332.29"/>
<polygon fill="midnightblue" stroke="midnightblue" points="597.15,-335.44 604.76,-328.07 594.22,-329.08 597.15,-335.44"/>
</g>
<!-- Node5&#45;&gt;Node2 -->
<g id="edge6" class="edge">
<title>Node5&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M214.08,-232.75C237.13,-256.62 281.28,-301.34 300,-313.5 306.14,-317.49 313.05,-321.03 319.91,-324.08"/>
<polygon fill="midnightblue" stroke="midnightblue" points="318.59,-327.32 329.17,-327.94 321.28,-320.86 318.59,-327.32"/>
</g>
<!-- Node5&#45;&gt;Node4 -->
<g id="edge12" class="edge">
<title>Node5&#45;&gt;Node4</title>
<path fill="none" stroke="midnightblue" d="M253.7,-232.63C257.3,-234.39 260.77,-236.34 264,-238.5 284.45,-252.15 278.3,-268.95 300,-280.5 345.96,-304.97 492.59,-313.87 572.44,-316.96"/>
<polygon fill="midnightblue" stroke="midnightblue" points="572.66,-320.47 582.78,-317.34 572.92,-313.48 572.66,-320.47"/>
</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/utility/program/exit.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="333.5,-252 333.5,-271 385.5,-271 385.5,-252 333.5,-252"/>
<text text-anchor="middle" x="359.5" y="-259" font-family="Helvetica,sans-Serif" font-size="10.00">std::exit</text>
</a>
</g>
</g>
<!-- Node5&#45;&gt;Node6 -->
<g id="edge7" class="edge">
<title>Node5&#45;&gt;Node6</title>
<path fill="none" stroke="midnightblue" d="M253.77,-232.52C276.86,-238.91 303.12,-246.17 323.56,-251.83"/>
<polygon fill="midnightblue" stroke="midnightblue" points="322.81,-255.26 333.39,-254.55 324.68,-248.51 322.81,-255.26"/>
</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#a5a4cdbd4d4dad9efe2ed309bd466dd4b" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="311,-202.5 311,-232.5 408,-232.5 408,-202.5 311,-202.5"/>
<text text-anchor="start" x="319" y="-220.5" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
<text text-anchor="middle" x="359.5" y="-209.5" font-family="Helvetica,sans-Serif" font-size="10.00">::get_inverse</text>
</a>
</g>
</g>
<!-- Node5&#45;&gt;Node7 -->
<g id="edge8" class="edge">
<title>Node5&#45;&gt;Node7</title>
<path fill="none" stroke="midnightblue" d="M264.17,-217.5C276.27,-217.5 288.85,-217.5 300.73,-217.5"/>
<polygon fill="midnightblue" stroke="midnightblue" points="300.96,-221 310.96,-217.5 300.96,-214 300.96,-221"/>
</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/numeric/math/round.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="329.5,-164 329.5,-183 389.5,-183 389.5,-164 329.5,-164"/>
<text text-anchor="middle" x="359.5" y="-171" font-family="Helvetica,sans-Serif" font-size="10.00">std::round</text>
</a>
</g>
</g>
<!-- Node5&#45;&gt;Node9 -->
<g id="edge11" class="edge">
<title>Node5&#45;&gt;Node9</title>
<path fill="none" stroke="midnightblue" d="M253.77,-202.48C275.38,-196.5 299.75,-189.76 319.55,-184.28"/>
<polygon fill="midnightblue" stroke="midnightblue" points="320.74,-187.58 329.45,-181.54 318.87,-180.83 320.74,-187.58"/>
</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/string/byte/strlen.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="329.5,-126 329.5,-145 389.5,-145 389.5,-126 329.5,-126"/>
<text text-anchor="middle" x="359.5" y="-133" font-family="Helvetica,sans-Serif" font-size="10.00">std::strlen</text>
</a>
</g>
</g>
<!-- Node5&#45;&gt;Node10 -->
<g id="edge13" class="edge">
<title>Node5&#45;&gt;Node10</title>
<path fill="none" stroke="midnightblue" d="M220.2,-202.39C239.94,-188.52 270.89,-168.1 300,-154.5 306.24,-151.59 313.05,-148.93 319.75,-146.6"/>
<polygon fill="midnightblue" stroke="midnightblue" points="321,-149.87 329.39,-143.4 318.8,-143.22 321,-149.87"/>
</g>
<!-- Node7&#45;&gt;Node4 -->
<g id="edge10" class="edge">
<title>Node7&#45;&gt;Node4</title>
<path fill="none" stroke="midnightblue" d="M403.69,-232.58C441.63,-245.99 498.23,-266.37 547,-285.5 562.66,-291.64 579.9,-298.84 594.22,-304.94"/>
<polygon fill="midnightblue" stroke="midnightblue" points="593.05,-308.25 603.62,-308.97 595.81,-301.81 593.05,-308.25"/>
</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/io/manip/endl.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="474,-208 474,-227 528,-227 528,-208 474,-208"/>
<text text-anchor="middle" x="501" y="-215" font-family="Helvetica,sans-Serif" font-size="10.00">std::endl</text>
</a>
</g>
</g>
<!-- Node7&#45;&gt;Node8 -->
<g id="edge9" class="edge">
<title>Node7&#45;&gt;Node8</title>
<path fill="none" stroke="midnightblue" d="M408.12,-217.5C426.29,-217.5 446.7,-217.5 463.65,-217.5"/>
<polygon fill="midnightblue" stroke="midnightblue" points="463.72,-221 473.72,-217.5 463.72,-214 463.72,-221"/>
</g>
<!-- Node11&#45;&gt;Node10 -->
<g id="edge20" class="edge">
<title>Node11&#45;&gt;Node10</title>
<path fill="none" stroke="midnightblue" d="M264.17,-124.23C282.65,-126.44 302.24,-128.78 318.74,-130.75"/>
<polygon fill="midnightblue" stroke="midnightblue" points="318.76,-134.28 329.11,-131.99 319.59,-127.33 318.76,-134.28"/>
</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#a7760f3665651a0a37937c79c62f219c0" target="_top" xlink:title="Compute GCD of two integers using Euler&#39;s algorithm.">
<polygon fill="white" stroke="black" points="300,-88 300,-107 419,-107 419,-88 300,-88"/>
<text text-anchor="middle" x="359.5" y="-95" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher::gcd</text>
</a>
</g>
</g>
<!-- Node11&#45;&gt;Node12 -->
<g id="edge15" class="edge">
<title>Node11&#45;&gt;Node12</title>
<path fill="none" stroke="midnightblue" d="M264.17,-108.77C272.55,-107.77 281.15,-106.74 289.59,-105.73"/>
<polygon fill="midnightblue" stroke="midnightblue" points="290.26,-109.18 299.77,-104.52 289.43,-102.23 290.26,-109.18"/>
</g>
<!-- Node14 -->
<g id="node14" class="node">
<title>Node14</title>
<g id="a_node14"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/numeric/math/isfinite.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="327,-50 327,-69 392,-69 392,-50 327,-50"/>
<text text-anchor="middle" x="359.5" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">std::isfinite</text>
</a>
</g>
</g>
<!-- Node11&#45;&gt;Node14 -->
<g id="edge17" class="edge">
<title>Node11&#45;&gt;Node14</title>
<path fill="none" stroke="midnightblue" d="M238,-101.45C256.65,-94.29 279.41,-85.73 300,-78.5 305.95,-76.41 312.27,-74.27 318.47,-72.22"/>
<polygon fill="midnightblue" stroke="midnightblue" points="319.63,-75.53 328.05,-69.09 317.45,-68.87 319.63,-75.53"/>
</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#a629be41c1ab78850963e4ce14e1d11d9" target="_top" xlink:title="Function to generate a random integer in a given interval.">
<polygon fill="white" stroke="black" points="311,-0.5 311,-30.5 408,-30.5 408,-0.5 311,-0.5"/>
<text text-anchor="start" x="319" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
<text text-anchor="middle" x="359.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">::rand_range</text>
</a>
</g>
</g>
<!-- Node11&#45;&gt;Node15 -->
<g id="edge18" class="edge">
<title>Node11&#45;&gt;Node15</title>
<path fill="none" stroke="midnightblue" d="M247.72,-101.5C253.49,-98.66 259.08,-95.34 264,-91.5 285.87,-74.42 278.43,-57.95 300,-40.5 302.03,-38.86 304.18,-37.31 306.42,-35.84"/>
<polygon fill="midnightblue" stroke="midnightblue" points="308.49,-38.69 315.37,-30.63 304.97,-32.64 308.49,-38.69"/>
</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/algorithm/swap.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="471.5,-88 471.5,-107 530.5,-107 530.5,-88 471.5,-88"/>
<text text-anchor="middle" x="501" y="-95" font-family="Helvetica,sans-Serif" font-size="10.00">std::swap</text>
</a>
</g>
</g>
<!-- Node12&#45;&gt;Node13 -->
<g id="edge16" class="edge">
<title>Node12&#45;&gt;Node13</title>
<path fill="none" stroke="midnightblue" d="M419.26,-97.5C433.47,-97.5 448.32,-97.5 461.34,-97.5"/>
<polygon fill="midnightblue" stroke="midnightblue" points="461.35,-101 471.35,-97.5 461.35,-94 461.35,-101"/>
</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/numeric/random/rand.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="473.5,-6 473.5,-25 528.5,-25 528.5,-6 473.5,-6"/>
<text text-anchor="middle" x="501" y="-13" font-family="Helvetica,sans-Serif" font-size="10.00">std::rand</text>
</a>
</g>
</g>
<!-- Node15&#45;&gt;Node16 -->
<g id="edge19" class="edge">
<title>Node15&#45;&gt;Node16</title>
<path fill="none" stroke="midnightblue" d="M408.12,-15.5C426.16,-15.5 446.4,-15.5 463.29,-15.5"/>
<polygon fill="midnightblue" stroke="midnightblue" points="463.32,-19 473.32,-15.5 463.32,-12 463.32,-19"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 16 KiB

View File

@@ -0,0 +1,5 @@
<map id="ciphers::HillCipher::mat_mul" name="ciphers::HillCipher::mat_mul">
<area shape="rect" id="node1" title="helper function to perform vector multiplication with encryption or decryption matrix" alt="" coords="5,23,135,65"/>
<area shape="rect" id="node2" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/size.html#" title=" " alt="" coords="183,5,299,32"/>
<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="201,56,281,83"/>
</map>

View File

@@ -0,0 +1 @@
bcd9bd426f80803737f3591aad104312

View File

@@ -0,0 +1,53 @@
<?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: ciphers::HillCipher::mat_mul Pages: 1 -->
<svg width="228pt" height="66pt"
viewBox="0.00 0.00 228.00 66.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 62)">
<title>ciphers::HillCipher::mat_mul</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-62 224,-62 224,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="helper function to perform vector multiplication with encryption or decryption matrix">
<polygon fill="#bfbfbf" stroke="black" points="0,-14 0,-44 97,-44 97,-14 0,-14"/>
<text text-anchor="start" x="8" y="-32" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
<text text-anchor="middle" x="48.5" y="-21" font-family="Helvetica,sans-Serif" font-size="10.00">::mat_mul</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/size.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="133,-38.5 133,-57.5 220,-57.5 220,-38.5 133,-38.5"/>
<text text-anchor="middle" x="176.5" y="-45.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::size</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<title>Node1&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M97.14,-36.18C105.46,-37.44 114.16,-38.75 122.62,-40.03"/>
<polygon fill="midnightblue" stroke="midnightblue" points="122.36,-43.53 132.77,-41.56 123.4,-36.6 122.36,-43.53"/>
</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="146.5,-0.5 146.5,-19.5 206.5,-19.5 206.5,-0.5 146.5,-0.5"/>
<text text-anchor="middle" x="176.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::strlen</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<title>Node1&#45;&gt;Node3</title>
<path fill="none" stroke="midnightblue" d="M97.14,-21.82C110.09,-19.86 123.97,-17.77 136.4,-15.9"/>
<polygon fill="midnightblue" stroke="midnightblue" points="137.08,-19.33 146.44,-14.38 136.03,-12.41 137.08,-19.33"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@@ -0,0 +1,9 @@
<map id="ciphers::HillCipher::decrypt_text" name="ciphers::HillCipher::decrypt_text">
<area shape="rect" id="node1" title="Decrypt a given text using a given key." alt="" coords="5,93,135,135"/>
<area shape="rect" id="node2" 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="183,93,312,135"/>
<area shape="rect" id="node3" href="$d6/d26/classciphers_1_1_hill_cipher.html#ae77cad522fa44b8c985779a7188d2f41" title="Get the index of a character in the STRKEY." alt="" coords="360,5,489,47"/>
<area shape="rect" id="node5" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/string/basic_string/size.html#" title=" " alt="" coords="363,71,486,98"/>
<area shape="rect" id="node6" href="$d6/d26/classciphers_1_1_hill_cipher.html#a40efd842a5cc44c233641ac2df13b0c0" title="helper function to perform vector multiplication with encryption or decryption matrix" alt="" coords="360,123,489,164"/>
<area shape="rect" id="node7" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/size.html#" title=" " alt="" coords="537,158,653,185"/>
<area shape="rect" id="node4" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/string/byte/strlen.html#" title=" " alt="" coords="555,103,635,130"/>
</map>

View File

@@ -0,0 +1 @@
0cd668ab83784d1d4a2b3fceadf486b3

View File

@@ -0,0 +1,128 @@
<?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: ciphers::HillCipher::decrypt_text Pages: 1 -->
<svg width="494pt" height="145pt"
viewBox="0.00 0.00 494.00 144.67" 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 140.67)">
<title>ciphers::HillCipher::decrypt_text</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-140.67 490,-140.67 490,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="Decrypt a given text using a given key.">
<polygon fill="#bfbfbf" stroke="black" points="0,-40.17 0,-70.17 97,-70.17 97,-40.17 0,-40.17"/>
<text text-anchor="start" x="8" y="-58.17" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
<text text-anchor="middle" x="48.5" y="-47.17" font-family="Helvetica,sans-Serif" font-size="10.00">::decrypt_text</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><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="133,-40.17 133,-70.17 230,-70.17 230,-40.17 133,-40.17"/>
<text text-anchor="start" x="141" y="-58.17" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
<text text-anchor="middle" x="181.5" y="-47.17" font-family="Helvetica,sans-Serif" font-size="10.00">::codec</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<title>Node1&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M97.16,-55.17C105.38,-55.17 114.01,-55.17 122.46,-55.17"/>
<polygon fill="midnightblue" stroke="midnightblue" points="122.65,-58.67 132.65,-55.17 122.65,-51.67 122.65,-58.67"/>
</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#ae77cad522fa44b8c985779a7188d2f41" target="_top" xlink:title="Get the index of a character in the STRKEY.">
<polygon fill="white" stroke="black" points="266,-106.17 266,-136.17 363,-136.17 363,-106.17 266,-106.17"/>
<text text-anchor="start" x="274" y="-124.17" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
<text text-anchor="middle" x="314.5" y="-113.17" font-family="Helvetica,sans-Serif" font-size="10.00">::get_char_idx</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<title>Node2&#45;&gt;Node3</title>
<path fill="none" stroke="midnightblue" d="M212.55,-70.31C230.94,-79.57 254.67,-91.52 274.5,-101.51"/>
<polygon fill="midnightblue" stroke="midnightblue" points="273.08,-104.72 283.59,-106.09 276.23,-98.47 273.08,-104.72"/>
</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/string/basic_string/size.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="268.5,-67.67 268.5,-86.67 360.5,-86.67 360.5,-67.67 268.5,-67.67"/>
<text text-anchor="middle" x="314.5" y="-74.67" font-family="Helvetica,sans-Serif" font-size="10.00">std::string::length</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node5 -->
<g id="edge4" class="edge">
<title>Node2&#45;&gt;Node5</title>
<path fill="none" stroke="midnightblue" d="M230.16,-63.17C239.3,-64.7 248.93,-66.32 258.28,-67.89"/>
<polygon fill="midnightblue" stroke="midnightblue" points="257.83,-71.37 268.27,-69.57 258.99,-64.46 257.83,-71.37"/>
</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#a40efd842a5cc44c233641ac2df13b0c0" target="_top" xlink:title="helper function to perform vector multiplication with encryption or decryption matrix">
<polygon fill="white" stroke="black" points="266,-18.17 266,-48.17 363,-48.17 363,-18.17 266,-18.17"/>
<text text-anchor="start" x="274" y="-36.17" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
<text text-anchor="middle" x="314.5" y="-25.17" font-family="Helvetica,sans-Serif" font-size="10.00">::mat_mul</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node6 -->
<g id="edge5" class="edge">
<title>Node2&#45;&gt;Node6</title>
<path fill="none" stroke="midnightblue" d="M230.16,-47.16C238.47,-45.77 247.19,-44.3 255.74,-42.87"/>
<polygon fill="midnightblue" stroke="midnightblue" points="256.37,-46.31 265.65,-41.2 255.21,-39.41 256.37,-46.31"/>
</g>
<!-- Node7 -->
<g id="node7" class="node">
<title>Node7</title>
<g id="a_node7"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/size.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="399,-2.67 399,-21.67 486,-21.67 486,-2.67 399,-2.67"/>
<text text-anchor="middle" x="442.5" y="-9.67" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::size</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node7 -->
<g id="edge8" class="edge">
<title>Node2&#45;&gt;Node7</title>
<path fill="none" stroke="midnightblue" d="M202.49,-40C218.65,-28.74 242.51,-14.32 266,-8.17 306.25,2.38 353.48,0.54 388.8,-3.47"/>
<polygon fill="midnightblue" stroke="midnightblue" points="388.54,-6.97 398.9,-4.71 389.4,-0.02 388.54,-6.97"/>
</g>
<!-- Node4 -->
<g id="node4" class="node">
<title>Node4</title>
<g id="a_node4"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/string/byte/strlen.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="412.5,-43.67 412.5,-62.67 472.5,-62.67 472.5,-43.67 412.5,-43.67"/>
<text text-anchor="middle" x="442.5" y="-50.67" font-family="Helvetica,sans-Serif" font-size="10.00">std::strlen</text>
</a>
</g>
</g>
<!-- Node3&#45;&gt;Node4 -->
<g id="edge3" class="edge">
<title>Node3&#45;&gt;Node4</title>
<path fill="none" stroke="midnightblue" d="M344.43,-106.04C350.57,-102.8 357.01,-99.38 363,-96.17 380.46,-86.79 400,-76.08 415.22,-67.7"/>
<polygon fill="midnightblue" stroke="midnightblue" points="417.02,-70.71 424.09,-62.81 413.64,-64.58 417.02,-70.71"/>
</g>
<!-- Node6&#45;&gt;Node4 -->
<g id="edge7" class="edge">
<title>Node6&#45;&gt;Node4</title>
<path fill="none" stroke="midnightblue" d="M363.14,-40.73C376.09,-42.78 389.97,-44.99 402.4,-46.96"/>
<polygon fill="midnightblue" stroke="midnightblue" points="402.02,-50.44 412.44,-48.55 403.11,-43.53 402.02,-50.44"/>
</g>
<!-- Node6&#45;&gt;Node7 -->
<g id="edge6" class="edge">
<title>Node6&#45;&gt;Node7</title>
<path fill="none" stroke="midnightblue" d="M363.14,-25.23C371.55,-23.82 380.35,-22.36 388.9,-20.93"/>
<polygon fill="midnightblue" stroke="midnightblue" points="389.48,-24.38 398.77,-19.29 388.33,-17.48 389.48,-24.38"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 6.9 KiB

View File

@@ -0,0 +1,5 @@
<map id="ciphers::HillCipher::get_inverse" name="ciphers::HillCipher::get_inverse">
<area shape="rect" id="node1" title=" " alt="" coords="5,23,135,65"/>
<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="205,5,277,32"/>
<area shape="rect" id="node3" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/size.html#" title=" " alt="" coords="183,56,299,83"/>
</map>

View File

@@ -0,0 +1 @@
7bf6951e84aad97563852a2464f56660

View File

@@ -0,0 +1,53 @@
<?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: ciphers::HillCipher::get_inverse Pages: 1 -->
<svg width="228pt" height="66pt"
viewBox="0.00 0.00 228.00 66.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 62)">
<title>ciphers::HillCipher::get_inverse</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-62 224,-62 224,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,-14 0,-44 97,-44 97,-14 0,-14"/>
<text text-anchor="start" x="8" y="-32" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
<text text-anchor="middle" x="48.5" y="-21" font-family="Helvetica,sans-Serif" font-size="10.00">::get_inverse</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="149.5,-38.5 149.5,-57.5 203.5,-57.5 203.5,-38.5 149.5,-38.5"/>
<text text-anchor="middle" x="176.5" y="-45.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::endl</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<title>Node1&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M97.14,-36.18C111.1,-38.29 126.14,-40.56 139.28,-42.54"/>
<polygon fill="midnightblue" stroke="midnightblue" points="138.93,-46.03 149.34,-44.06 139.98,-39.1 138.93,-46.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/container/vector/size.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="133,-0.5 133,-19.5 220,-19.5 220,-0.5 133,-0.5"/>
<text text-anchor="middle" x="176.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::size</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<title>Node1&#45;&gt;Node3</title>
<path fill="none" stroke="midnightblue" d="M97.14,-21.82C105.46,-20.56 114.16,-19.25 122.62,-17.97"/>
<polygon fill="midnightblue" stroke="midnightblue" points="123.4,-21.4 132.77,-16.44 122.36,-14.47 123.4,-21.4"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

@@ -0,0 +1,4 @@
<map id="ciphers::HillCipher::rand_range" name="ciphers::HillCipher::rand_range">
<area shape="rect" id="node1" title="Function to generate a random integer in a given interval." alt="" coords="5,5,135,47"/>
<area shape="rect" id="node2" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/numeric/random/rand.html#" title=" " alt="" coords="183,13,256,39"/>
</map>

View File

@@ -0,0 +1 @@
72bad3ebb15bc908928df29234470433

View File

@@ -0,0 +1,38 @@
<?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: ciphers::HillCipher::rand_range Pages: 1 -->
<svg width="196pt" height="39pt"
viewBox="0.00 0.00 196.00 39.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 35)">
<title>ciphers::HillCipher::rand_range</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-35 192,-35 192,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="Function to generate a random integer in a given interval.">
<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-30.5 97,-30.5 97,-0.5 0,-0.5"/>
<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
<text text-anchor="middle" x="48.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">::rand_range</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/rand.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="133,-6 133,-25 188,-25 188,-6 133,-6"/>
<text text-anchor="middle" x="160.5" y="-13" font-family="Helvetica,sans-Serif" font-size="10.00">std::rand</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<title>Node1&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M97.11,-15.5C105.68,-15.5 114.5,-15.5 122.71,-15.5"/>
<polygon fill="midnightblue" stroke="midnightblue" points="122.71,-19 132.71,-15.5 122.71,-12 122.71,-19"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@@ -0,0 +1,6 @@
<map id="ciphers::HillCipher::rand_range" name="ciphers::HillCipher::rand_range">
<area shape="rect" id="node1" title="Function overload to fill a matrix with random integers in a given interval." alt="" coords="5,74,135,115"/>
<area shape="rect" id="node2" href="$d1/dbe/lu__decomposition_8h.html#a3108d43bd32c6fb3b3c158476c51ba7f" title=" " alt="" coords="183,56,289,83"/>
<area shape="rect" id="node4" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/size.html#" title=" " alt="" coords="508,56,624,83"/>
<area shape="rect" id="node3" href="$d1/dbe/lu__decomposition_8h.html#a75b8a228c6419ecda6077255d6d60509" title=" " alt="" coords="337,5,460,32"/>
</map>

View File

@@ -0,0 +1 @@
9968d3ed6544f54266edb1cb4ee6ebd7

View File

@@ -0,0 +1,80 @@
<?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: ciphers::HillCipher::rand_range Pages: 1 -->
<svg width="472pt" height="91pt"
viewBox="0.00 0.00 472.00 90.50" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 86.5)">
<title>ciphers::HillCipher::rand_range</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-86.5 468,-86.5 468,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="Function overload to fill a matrix with random integers in a given interval.">
<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-30.5 97,-30.5 97,-0.5 0,-0.5"/>
<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
<text text-anchor="middle" x="48.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">::rand_range</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a xlink:href="../../d1/dbe/lu__decomposition_8h.html#a3108d43bd32c6fb3b3c158476c51ba7f" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="133,-25 133,-44 213,-44 213,-25 133,-25"/>
<text text-anchor="middle" x="173" y="-32" font-family="Helvetica,sans-Serif" font-size="10.00">determinant_lu</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<title>Node1&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M97.21,-22.9C105.62,-24.2 114.38,-25.56 122.83,-26.87"/>
<polygon fill="midnightblue" stroke="midnightblue" points="122.51,-30.37 132.92,-28.44 123.58,-23.45 122.51,-30.37"/>
</g>
<!-- Node4 -->
<g id="node4" class="node">
<title>Node4</title>
<g id="a_node4"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/size.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="377,-25 377,-44 464,-44 464,-25 377,-25"/>
<text text-anchor="middle" x="420.5" y="-32" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::size</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node4 -->
<g id="edge5" class="edge">
<title>Node1&#45;&gt;Node4</title>
<path fill="none" stroke="midnightblue" d="M97.1,-14.35C129.74,-13.84 174.01,-13.71 213,-15.5 265.38,-17.9 325.01,-23.72 366.67,-28.29"/>
<polygon fill="midnightblue" stroke="midnightblue" points="366.54,-31.8 376.87,-29.43 367.31,-24.84 366.54,-31.8"/>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<title>Node3</title>
<g id="a_node3"><a xlink:href="../../d1/dbe/lu__decomposition_8h.html#a75b8a228c6419ecda6077255d6d60509" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="249,-63 249,-82 341,-82 341,-63 249,-63"/>
<text text-anchor="middle" x="295" y="-70" font-family="Helvetica,sans-Serif" font-size="10.00">lu_decomposition</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<title>Node2&#45;&gt;Node3</title>
<path fill="none" stroke="midnightblue" d="M204.28,-44.09C219.35,-48.86 237.75,-54.69 253.97,-59.82"/>
<polygon fill="midnightblue" stroke="midnightblue" points="253.14,-63.23 263.73,-62.91 255.25,-56.56 253.14,-63.23"/>
</g>
<!-- Node2&#45;&gt;Node4 -->
<g id="edge4" class="edge">
<title>Node2&#45;&gt;Node4</title>
<path fill="none" stroke="midnightblue" d="M213.17,-34.5C254.7,-34.5 320.55,-34.5 366.65,-34.5"/>
<polygon fill="midnightblue" stroke="midnightblue" points="366.76,-38 376.76,-34.5 366.76,-31 366.76,-38"/>
</g>
<!-- Node3&#45;&gt;Node4 -->
<g id="edge3" class="edge">
<title>Node3&#45;&gt;Node4</title>
<path fill="none" stroke="midnightblue" d="M327.16,-62.91C342.81,-58.1 361.97,-52.2 378.77,-47.03"/>
<polygon fill="midnightblue" stroke="midnightblue" points="379.82,-50.37 388.35,-44.09 377.76,-43.68 379.82,-50.37"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.9 KiB

View File

@@ -0,0 +1,4 @@
<map id="ciphers::HillCipher::gcd" name="ciphers::HillCipher::gcd">
<area shape="rect" id="node1" title="Compute GCD of two integers using Euler&#39;s algorithm." alt="" coords="5,5,164,32"/>
<area shape="rect" id="node2" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/algorithm/swap.html#" title=" " alt="" coords="212,5,291,32"/>
</map>

View File

@@ -0,0 +1 @@
9f57a473468bccdf869b893fb7369c2d

View File

@@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.44.0 (20200408.0750)
-->
<!-- Title: ciphers::HillCipher::gcd Pages: 1 -->
<svg width="222pt" height="28pt"
viewBox="0.00 0.00 222.00 28.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 24)">
<title>ciphers::HillCipher::gcd</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-24 218,-24 218,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="Compute GCD of two integers using Euler&#39;s algorithm.">
<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-19.5 119,-19.5 119,-0.5 0,-0.5"/>
<text text-anchor="middle" x="59.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher::gcd</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/algorithm/swap.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="155,-0.5 155,-19.5 214,-19.5 214,-0.5 155,-0.5"/>
<text text-anchor="middle" x="184.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::swap</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<title>Node1&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M119.12,-10C127.72,-10 136.4,-10 144.48,-10"/>
<polygon fill="midnightblue" stroke="midnightblue" points="144.7,-13.5 154.7,-10 144.7,-6.5 144.7,-13.5"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@@ -0,0 +1,9 @@
<map id="ciphers::HillCipher::generate_encryption_key" name="ciphers::HillCipher::generate_encryption_key">
<area shape="rect" id="node1" title="Generate encryption matrix of a given size. Larger size matrices are difficult to generate but provid..." alt="" coords="5,78,180,119"/>
<area shape="rect" id="node2" href="$d6/d26/classciphers_1_1_hill_cipher.html#a7760f3665651a0a37937c79c62f219c0" title="Compute GCD of two integers using Euler&#39;s algorithm." alt="" coords="228,5,387,32"/>
<area shape="rect" id="node4" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/numeric/math/isfinite.html#" title=" " alt="" coords="264,56,351,83"/>
<area shape="rect" id="node5" href="$d6/d26/classciphers_1_1_hill_cipher.html#a629be41c1ab78850963e4ce14e1d11d9" title="Function to generate a random integer in a given interval." alt="" coords="243,107,372,149"/>
<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="267,173,347,200"/>
<area shape="rect" id="node3" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/algorithm/swap.html#" title=" " alt="" coords="435,5,513,32"/>
<area shape="rect" id="node6" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/numeric/random/rand.html#" title=" " alt="" coords="437,115,511,141"/>
</map>

View File

@@ -0,0 +1 @@
a6ced2ff2420a81ad90fc98eaa8a5fee

View File

@@ -0,0 +1,114 @@
<?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: ciphers::HillCipher::generate_encryption_key Pages: 1 -->
<svg width="389pt" height="154pt"
viewBox="0.00 0.00 389.00 154.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 150)">
<title>ciphers::HillCipher::generate_encryption_key</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-150 385,-150 385,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="Generate encryption matrix of a given size. Larger size matrices are difficult to generate but provid...">
<polygon fill="#bfbfbf" stroke="black" points="0,-61 0,-91 131,-91 131,-61 0,-61"/>
<text text-anchor="start" x="8" y="-79" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
<text text-anchor="middle" x="65.5" y="-68" font-family="Helvetica,sans-Serif" font-size="10.00">::generate_encryption_key</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a xlink:href="../../d6/d26/classciphers_1_1_hill_cipher.html#a7760f3665651a0a37937c79c62f219c0" target="_top" xlink:title="Compute GCD of two integers using Euler&#39;s algorithm.">
<polygon fill="white" stroke="black" points="167,-126.5 167,-145.5 286,-145.5 286,-126.5 167,-126.5"/>
<text text-anchor="middle" x="226.5" y="-133.5" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher::gcd</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<title>Node1&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M101.6,-91.06C120.79,-99.1 145.06,-108.97 167,-117 172.72,-119.09 178.79,-121.19 184.78,-123.2"/>
<polygon fill="midnightblue" stroke="midnightblue" points="184.1,-126.66 194.69,-126.46 186.29,-120.01 184.1,-126.66"/>
</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/numeric/math/isfinite.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="194,-88.5 194,-107.5 259,-107.5 259,-88.5 194,-88.5"/>
<text text-anchor="middle" x="226.5" y="-95.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::isfinite</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node4 -->
<g id="edge3" class="edge">
<title>Node1&#45;&gt;Node4</title>
<path fill="none" stroke="midnightblue" d="M131.17,-84.95C148.94,-87.41 167.74,-90.01 183.84,-92.24"/>
<polygon fill="midnightblue" stroke="midnightblue" points="183.61,-95.74 193.99,-93.64 184.57,-88.8 183.61,-95.74"/>
</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#a629be41c1ab78850963e4ce14e1d11d9" target="_top" xlink:title="Function to generate a random integer in a given interval.">
<polygon fill="white" stroke="black" points="178,-39 178,-69 275,-69 275,-39 178,-39"/>
<text text-anchor="start" x="186" y="-57" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
<text text-anchor="middle" x="226.5" y="-46" font-family="Helvetica,sans-Serif" font-size="10.00">::rand_range</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node5 -->
<g id="edge4" class="edge">
<title>Node1&#45;&gt;Node5</title>
<path fill="none" stroke="midnightblue" d="M131.17,-67.05C143.27,-65.38 155.85,-63.64 167.73,-61.99"/>
<polygon fill="midnightblue" stroke="midnightblue" points="168.53,-65.42 177.96,-60.58 167.57,-58.48 168.53,-65.42"/>
</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="196.5,-0.5 196.5,-19.5 256.5,-19.5 256.5,-0.5 196.5,-0.5"/>
<text text-anchor="middle" x="226.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::strlen</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node7 -->
<g id="edge6" class="edge">
<title>Node1&#45;&gt;Node7</title>
<path fill="none" stroke="midnightblue" d="M96.42,-60.82C116.19,-51.09 142.81,-38.54 167,-29 173.34,-26.5 180.16,-24.06 186.82,-21.82"/>
<polygon fill="midnightblue" stroke="midnightblue" points="187.98,-25.12 196.39,-18.68 185.79,-18.47 187.98,-25.12"/>
</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/algorithm/swap.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="322,-126.5 322,-145.5 381,-145.5 381,-126.5 322,-126.5"/>
<text text-anchor="middle" x="351.5" y="-133.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::swap</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<title>Node2&#45;&gt;Node3</title>
<path fill="none" stroke="midnightblue" d="M286.12,-136C294.72,-136 303.4,-136 311.48,-136"/>
<polygon fill="midnightblue" stroke="midnightblue" points="311.7,-139.5 321.7,-136 311.7,-132.5 311.7,-139.5"/>
</g>
<!-- Node6 -->
<g id="node6" class="node">
<title>Node6</title>
<g id="a_node6"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/numeric/random/rand.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="324,-44.5 324,-63.5 379,-63.5 379,-44.5 324,-44.5"/>
<text text-anchor="middle" x="351.5" y="-51.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::rand</text>
</a>
</g>
</g>
<!-- Node5&#45;&gt;Node6 -->
<g id="edge5" class="edge">
<title>Node5&#45;&gt;Node6</title>
<path fill="none" stroke="midnightblue" d="M275.06,-54C287.81,-54 301.42,-54 313.51,-54"/>
<polygon fill="midnightblue" stroke="midnightblue" points="313.69,-57.5 323.69,-54 313.69,-50.5 313.69,-57.5"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.8 KiB

View File

@@ -0,0 +1,9 @@
<map id="ciphers::HillCipher::encrypt_text" name="ciphers::HillCipher::encrypt_text">
<area shape="rect" id="node1" title="Encrypt a given text using a given key." alt="" coords="5,93,135,135"/>
<area shape="rect" id="node2" 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="183,93,312,135"/>
<area shape="rect" id="node3" href="$d6/d26/classciphers_1_1_hill_cipher.html#ae77cad522fa44b8c985779a7188d2f41" title="Get the index of a character in the STRKEY." alt="" coords="360,5,489,47"/>
<area shape="rect" id="node5" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/string/basic_string/size.html#" title=" " alt="" coords="363,71,486,98"/>
<area shape="rect" id="node6" href="$d6/d26/classciphers_1_1_hill_cipher.html#a40efd842a5cc44c233641ac2df13b0c0" title="helper function to perform vector multiplication with encryption or decryption matrix" alt="" coords="360,123,489,164"/>
<area shape="rect" id="node7" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/size.html#" title=" " alt="" coords="537,158,653,185"/>
<area shape="rect" id="node4" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/string/byte/strlen.html#" title=" " alt="" coords="555,103,635,130"/>
</map>

View File

@@ -0,0 +1 @@
4919afd3b515b2fef6644a5ddbafdb3f

View File

@@ -0,0 +1,128 @@
<?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: ciphers::HillCipher::encrypt_text Pages: 1 -->
<svg width="494pt" height="145pt"
viewBox="0.00 0.00 494.00 144.67" 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 140.67)">
<title>ciphers::HillCipher::encrypt_text</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-140.67 490,-140.67 490,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="Encrypt a given text using a given key.">
<polygon fill="#bfbfbf" stroke="black" points="0,-40.17 0,-70.17 97,-70.17 97,-40.17 0,-40.17"/>
<text text-anchor="start" x="8" y="-58.17" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
<text text-anchor="middle" x="48.5" y="-47.17" font-family="Helvetica,sans-Serif" font-size="10.00">::encrypt_text</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><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="133,-40.17 133,-70.17 230,-70.17 230,-40.17 133,-40.17"/>
<text text-anchor="start" x="141" y="-58.17" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
<text text-anchor="middle" x="181.5" y="-47.17" font-family="Helvetica,sans-Serif" font-size="10.00">::codec</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<title>Node1&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M97.16,-55.17C105.38,-55.17 114.01,-55.17 122.46,-55.17"/>
<polygon fill="midnightblue" stroke="midnightblue" points="122.65,-58.67 132.65,-55.17 122.65,-51.67 122.65,-58.67"/>
</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#ae77cad522fa44b8c985779a7188d2f41" target="_top" xlink:title="Get the index of a character in the STRKEY.">
<polygon fill="white" stroke="black" points="266,-106.17 266,-136.17 363,-136.17 363,-106.17 266,-106.17"/>
<text text-anchor="start" x="274" y="-124.17" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
<text text-anchor="middle" x="314.5" y="-113.17" font-family="Helvetica,sans-Serif" font-size="10.00">::get_char_idx</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<title>Node2&#45;&gt;Node3</title>
<path fill="none" stroke="midnightblue" d="M212.55,-70.31C230.94,-79.57 254.67,-91.52 274.5,-101.51"/>
<polygon fill="midnightblue" stroke="midnightblue" points="273.08,-104.72 283.59,-106.09 276.23,-98.47 273.08,-104.72"/>
</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/string/basic_string/size.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="268.5,-67.67 268.5,-86.67 360.5,-86.67 360.5,-67.67 268.5,-67.67"/>
<text text-anchor="middle" x="314.5" y="-74.67" font-family="Helvetica,sans-Serif" font-size="10.00">std::string::length</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node5 -->
<g id="edge4" class="edge">
<title>Node2&#45;&gt;Node5</title>
<path fill="none" stroke="midnightblue" d="M230.16,-63.17C239.3,-64.7 248.93,-66.32 258.28,-67.89"/>
<polygon fill="midnightblue" stroke="midnightblue" points="257.83,-71.37 268.27,-69.57 258.99,-64.46 257.83,-71.37"/>
</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#a40efd842a5cc44c233641ac2df13b0c0" target="_top" xlink:title="helper function to perform vector multiplication with encryption or decryption matrix">
<polygon fill="white" stroke="black" points="266,-18.17 266,-48.17 363,-48.17 363,-18.17 266,-18.17"/>
<text text-anchor="start" x="274" y="-36.17" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
<text text-anchor="middle" x="314.5" y="-25.17" font-family="Helvetica,sans-Serif" font-size="10.00">::mat_mul</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node6 -->
<g id="edge5" class="edge">
<title>Node2&#45;&gt;Node6</title>
<path fill="none" stroke="midnightblue" d="M230.16,-47.16C238.47,-45.77 247.19,-44.3 255.74,-42.87"/>
<polygon fill="midnightblue" stroke="midnightblue" points="256.37,-46.31 265.65,-41.2 255.21,-39.41 256.37,-46.31"/>
</g>
<!-- Node7 -->
<g id="node7" class="node">
<title>Node7</title>
<g id="a_node7"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/size.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="399,-2.67 399,-21.67 486,-21.67 486,-2.67 399,-2.67"/>
<text text-anchor="middle" x="442.5" y="-9.67" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::size</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node7 -->
<g id="edge8" class="edge">
<title>Node2&#45;&gt;Node7</title>
<path fill="none" stroke="midnightblue" d="M202.49,-40C218.65,-28.74 242.51,-14.32 266,-8.17 306.25,2.38 353.48,0.54 388.8,-3.47"/>
<polygon fill="midnightblue" stroke="midnightblue" points="388.54,-6.97 398.9,-4.71 389.4,-0.02 388.54,-6.97"/>
</g>
<!-- Node4 -->
<g id="node4" class="node">
<title>Node4</title>
<g id="a_node4"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/string/byte/strlen.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="412.5,-43.67 412.5,-62.67 472.5,-62.67 472.5,-43.67 412.5,-43.67"/>
<text text-anchor="middle" x="442.5" y="-50.67" font-family="Helvetica,sans-Serif" font-size="10.00">std::strlen</text>
</a>
</g>
</g>
<!-- Node3&#45;&gt;Node4 -->
<g id="edge3" class="edge">
<title>Node3&#45;&gt;Node4</title>
<path fill="none" stroke="midnightblue" d="M344.43,-106.04C350.57,-102.8 357.01,-99.38 363,-96.17 380.46,-86.79 400,-76.08 415.22,-67.7"/>
<polygon fill="midnightblue" stroke="midnightblue" points="417.02,-70.71 424.09,-62.81 413.64,-64.58 417.02,-70.71"/>
</g>
<!-- Node6&#45;&gt;Node4 -->
<g id="edge7" class="edge">
<title>Node6&#45;&gt;Node4</title>
<path fill="none" stroke="midnightblue" d="M363.14,-40.73C376.09,-42.78 389.97,-44.99 402.4,-46.96"/>
<polygon fill="midnightblue" stroke="midnightblue" points="402.02,-50.44 412.44,-48.55 403.11,-43.53 402.02,-50.44"/>
</g>
<!-- Node6&#45;&gt;Node7 -->
<g id="edge6" class="edge">
<title>Node6&#45;&gt;Node7</title>
<path fill="none" stroke="midnightblue" d="M363.14,-25.23C371.55,-23.82 380.35,-22.36 388.9,-20.93"/>
<polygon fill="midnightblue" stroke="midnightblue" points="389.48,-24.38 398.77,-19.29 388.33,-17.48 389.48,-24.38"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 6.9 KiB

View File

@@ -0,0 +1,11 @@
<map id="ciphers::HillCipher::generate_decryption_key" name="ciphers::HillCipher::generate_decryption_key">
<area shape="rect" id="node1" title="Generate decryption matrix from an encryption matrix key." alt="" coords="5,179,180,221"/>
<area shape="rect" id="node2" href="$d1/dbe/lu__decomposition_8h.html#a3108d43bd32c6fb3b3c158476c51ba7f" title=" " alt="" coords="239,56,346,83"/>
<area shape="rect" id="node4" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/size.html#" title=" " alt="" coords="576,81,692,108"/>
<area shape="rect" id="node5" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/utility/program/exit.html#" title=" " alt="" coords="258,157,327,184"/>
<area shape="rect" id="node6" href="$d6/d26/classciphers_1_1_hill_cipher.html#a5a4cdbd4d4dad9efe2ed309bd466dd4b" title=" " alt="" coords="228,209,357,250"/>
<area shape="rect" id="node8" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/numeric/math/round.html#" title=" " alt="" coords="253,275,333,301"/>
<area shape="rect" id="node9" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/string/byte/strlen.html#" title=" " alt="" coords="253,325,333,352"/>
<area shape="rect" id="node3" href="$d1/dbe/lu__decomposition_8h.html#a75b8a228c6419ecda6077255d6d60509" title=" " alt="" coords="405,5,528,32"/>
<area shape="rect" id="node7" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/io/manip/endl.html#" title=" " alt="" coords="431,216,503,243"/>
</map>

View File

@@ -0,0 +1 @@
caed926b5285caf4aa15dd928b5c3fd1

View File

@@ -0,0 +1,250 @@
<?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: ciphers::HillCipher::generate_decryption_key Pages: 1 -->
<!--zoomable 268 -->
<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 = 523;
var viewHeight = 268;
var sectionId = 'dynsection-4';
</script>
<script xlink:href="../../svgpan.js"/>
<svg id="graph" class="graph">
<g id="viewport">
<title>ciphers::HillCipher::generate_decryption_key</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-264 519,-264 519,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="Generate decryption matrix from an encryption matrix key.">
<polygon fill="#bfbfbf" stroke="black" points="0,-99 0,-129 131,-129 131,-99 0,-99"/>
<text text-anchor="start" x="8" y="-117" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
<text text-anchor="middle" x="65.5" y="-106" font-family="Helvetica,sans-Serif" font-size="10.00">::generate_decryption_key</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a xlink:href="../../d1/dbe/lu__decomposition_8h.html#a3108d43bd32c6fb3b3c158476c51ba7f" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="175.5,-202.5 175.5,-221.5 255.5,-221.5 255.5,-202.5 175.5,-202.5"/>
<text text-anchor="middle" x="215.5" y="-209.5" font-family="Helvetica,sans-Serif" font-size="10.00">determinant_lu</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<title>Node1&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M85.1,-129.17C104.8,-144.87 137.1,-169.62 167,-188 172.58,-191.43 178.71,-194.8 184.66,-197.88"/>
<polygon fill="midnightblue" stroke="midnightblue" points="183.25,-201.09 193.75,-202.45 186.39,-194.83 183.25,-201.09"/>
</g>
<!-- Node4 -->
<g id="node4" class="node">
<title>Node4</title>
<g id="a_node4"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/size.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="428,-183.5 428,-202.5 515,-202.5 515,-183.5 428,-183.5"/>
<text text-anchor="middle" x="471.5" y="-190.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::size</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node4 -->
<g id="edge10" class="edge">
<title>Node1&#45;&gt;Node4</title>
<path fill="none" stroke="midnightblue" d="M97.46,-129.11C116.97,-138 142.94,-148.7 167,-155 253.08,-177.53 356.49,-186.84 417.68,-190.59"/>
<polygon fill="midnightblue" stroke="midnightblue" points="417.67,-194.1 427.86,-191.19 418.08,-187.11 417.67,-194.1"/>
</g>
<!-- Node5 -->
<g id="node5" class="node">
<title>Node5</title>
<g id="a_node5"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/utility/program/exit.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="189.5,-126.5 189.5,-145.5 241.5,-145.5 241.5,-126.5 189.5,-126.5"/>
<text text-anchor="middle" x="215.5" y="-133.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::exit</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node5 -->
<g id="edge5" class="edge">
<title>Node1&#45;&gt;Node5</title>
<path fill="none" stroke="midnightblue" d="M131.41,-123.65C147.91,-126.1 165.03,-128.65 179.4,-130.78"/>
<polygon fill="midnightblue" stroke="midnightblue" points="178.93,-134.25 189.34,-132.26 179.96,-127.33 178.93,-134.25"/>
</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#a5a4cdbd4d4dad9efe2ed309bd466dd4b" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="167,-77 167,-107 264,-107 264,-77 167,-77"/>
<text text-anchor="start" x="175" y="-95" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
<text text-anchor="middle" x="215.5" y="-84" font-family="Helvetica,sans-Serif" font-size="10.00">::get_inverse</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node6 -->
<g id="edge6" class="edge">
<title>Node1&#45;&gt;Node6</title>
<path fill="none" stroke="midnightblue" d="M131.41,-104.35C139.92,-103.09 148.58,-101.8 156.95,-100.55"/>
<polygon fill="midnightblue" stroke="midnightblue" points="157.61,-104 166.99,-99.06 156.58,-97.07 157.61,-104"/>
</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/numeric/math/round.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="185.5,-38.5 185.5,-57.5 245.5,-57.5 245.5,-38.5 185.5,-38.5"/>
<text text-anchor="middle" x="215.5" y="-45.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::round</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node8 -->
<g id="edge9" class="edge">
<title>Node1&#45;&gt;Node8</title>
<path fill="none" stroke="midnightblue" d="M97.53,-98.93C117.29,-89.48 143.49,-77.19 167,-67 171.24,-65.16 175.72,-63.29 180.16,-61.46"/>
<polygon fill="midnightblue" stroke="midnightblue" points="181.78,-64.59 189.74,-57.6 179.15,-58.1 181.78,-64.59"/>
</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/byte/strlen.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="185.5,-0.5 185.5,-19.5 245.5,-19.5 245.5,-0.5 185.5,-0.5"/>
<text text-anchor="middle" x="215.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::strlen</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node9 -->
<g id="edge11" class="edge">
<title>Node1&#45;&gt;Node9</title>
<path fill="none" stroke="midnightblue" d="M81.3,-98.77C99.92,-80.3 133.51,-49.13 167,-29 170.15,-27.1 173.53,-25.32 176.98,-23.67"/>
<polygon fill="midnightblue" stroke="midnightblue" points="178.43,-26.86 186.15,-19.61 175.59,-20.46 178.43,-26.86"/>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<title>Node3</title>
<g id="a_node3"><a xlink:href="../../d1/dbe/lu__decomposition_8h.html#a75b8a228c6419ecda6077255d6d60509" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="300,-240.5 300,-259.5 392,-259.5 392,-240.5 300,-240.5"/>
<text text-anchor="middle" x="346" y="-247.5" font-family="Helvetica,sans-Serif" font-size="10.00">lu_decomposition</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<title>Node2&#45;&gt;Node3</title>
<path fill="none" stroke="midnightblue" d="M248.93,-221.59C265.21,-226.4 285.14,-232.3 302.62,-237.47"/>
<polygon fill="midnightblue" stroke="midnightblue" points="302,-240.93 312.58,-240.41 303.99,-234.22 302,-240.93"/>
</g>
<!-- Node2&#45;&gt;Node4 -->
<g id="edge4" class="edge">
<title>Node2&#45;&gt;Node4</title>
<path fill="none" stroke="midnightblue" d="M255.63,-209.07C299.06,-205.82 369.38,-200.56 417.68,-196.95"/>
<polygon fill="midnightblue" stroke="midnightblue" points="418.22,-200.42 427.93,-196.18 417.7,-193.44 418.22,-200.42"/>
</g>
<!-- Node3&#45;&gt;Node4 -->
<g id="edge3" class="edge">
<title>Node3&#45;&gt;Node4</title>
<path fill="none" stroke="midnightblue" d="M367.67,-240.46C387.62,-231.25 418.03,-217.22 440.62,-206.79"/>
<polygon fill="midnightblue" stroke="midnightblue" points="442.15,-209.94 449.76,-202.57 439.22,-203.58 442.15,-209.94"/>
</g>
<!-- Node6&#45;&gt;Node4 -->
<g id="edge8" class="edge">
<title>Node6&#45;&gt;Node4</title>
<path fill="none" stroke="midnightblue" d="M256.36,-107.07C292.01,-120.65 345.64,-141.28 392,-160 407.48,-166.25 424.58,-173.41 438.86,-179.46"/>
<polygon fill="midnightblue" stroke="midnightblue" points="437.66,-182.75 448.24,-183.44 440.4,-176.31 437.66,-182.75"/>
</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/io/manip/endl.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="319,-82.5 319,-101.5 373,-101.5 373,-82.5 319,-82.5"/>
<text text-anchor="middle" x="346" y="-89.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::endl</text>
</a>
</g>
</g>
<!-- Node6&#45;&gt;Node7 -->
<g id="edge7" class="edge">
<title>Node6&#45;&gt;Node7</title>
<path fill="none" stroke="midnightblue" d="M264.35,-92C279.02,-92 294.91,-92 308.68,-92"/>
<polygon fill="midnightblue" stroke="midnightblue" points="308.74,-95.5 318.74,-92 308.74,-88.5 308.74,-95.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="classciphers_1_1_hill_cipher_abb2c4dc2b8a59d3dfe0fa22c2adc086b_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: 13 KiB

View File

@@ -0,0 +1,162 @@
<?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: ciphers::HillCipher::generate_decryption_key Pages: 1 -->
<svg width="523pt" height="268pt"
viewBox="0.00 0.00 523.00 268.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 264)">
<title>ciphers::HillCipher::generate_decryption_key</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-264 519,-264 519,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="Generate decryption matrix from an encryption matrix key.">
<polygon fill="#bfbfbf" stroke="black" points="0,-99 0,-129 131,-129 131,-99 0,-99"/>
<text text-anchor="start" x="8" y="-117" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
<text text-anchor="middle" x="65.5" y="-106" font-family="Helvetica,sans-Serif" font-size="10.00">::generate_decryption_key</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a xlink:href="../../d1/dbe/lu__decomposition_8h.html#a3108d43bd32c6fb3b3c158476c51ba7f" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="175.5,-202.5 175.5,-221.5 255.5,-221.5 255.5,-202.5 175.5,-202.5"/>
<text text-anchor="middle" x="215.5" y="-209.5" font-family="Helvetica,sans-Serif" font-size="10.00">determinant_lu</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<title>Node1&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M85.1,-129.17C104.8,-144.87 137.1,-169.62 167,-188 172.58,-191.43 178.71,-194.8 184.66,-197.88"/>
<polygon fill="midnightblue" stroke="midnightblue" points="183.25,-201.09 193.75,-202.45 186.39,-194.83 183.25,-201.09"/>
</g>
<!-- Node4 -->
<g id="node4" class="node">
<title>Node4</title>
<g id="a_node4"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/size.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="428,-183.5 428,-202.5 515,-202.5 515,-183.5 428,-183.5"/>
<text text-anchor="middle" x="471.5" y="-190.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::size</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node4 -->
<g id="edge10" class="edge">
<title>Node1&#45;&gt;Node4</title>
<path fill="none" stroke="midnightblue" d="M97.46,-129.11C116.97,-138 142.94,-148.7 167,-155 253.08,-177.53 356.49,-186.84 417.68,-190.59"/>
<polygon fill="midnightblue" stroke="midnightblue" points="417.67,-194.1 427.86,-191.19 418.08,-187.11 417.67,-194.1"/>
</g>
<!-- Node5 -->
<g id="node5" class="node">
<title>Node5</title>
<g id="a_node5"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/utility/program/exit.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="189.5,-126.5 189.5,-145.5 241.5,-145.5 241.5,-126.5 189.5,-126.5"/>
<text text-anchor="middle" x="215.5" y="-133.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::exit</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node5 -->
<g id="edge5" class="edge">
<title>Node1&#45;&gt;Node5</title>
<path fill="none" stroke="midnightblue" d="M131.41,-123.65C147.91,-126.1 165.03,-128.65 179.4,-130.78"/>
<polygon fill="midnightblue" stroke="midnightblue" points="178.93,-134.25 189.34,-132.26 179.96,-127.33 178.93,-134.25"/>
</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#a5a4cdbd4d4dad9efe2ed309bd466dd4b" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="167,-77 167,-107 264,-107 264,-77 167,-77"/>
<text text-anchor="start" x="175" y="-95" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
<text text-anchor="middle" x="215.5" y="-84" font-family="Helvetica,sans-Serif" font-size="10.00">::get_inverse</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node6 -->
<g id="edge6" class="edge">
<title>Node1&#45;&gt;Node6</title>
<path fill="none" stroke="midnightblue" d="M131.41,-104.35C139.92,-103.09 148.58,-101.8 156.95,-100.55"/>
<polygon fill="midnightblue" stroke="midnightblue" points="157.61,-104 166.99,-99.06 156.58,-97.07 157.61,-104"/>
</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/numeric/math/round.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="185.5,-38.5 185.5,-57.5 245.5,-57.5 245.5,-38.5 185.5,-38.5"/>
<text text-anchor="middle" x="215.5" y="-45.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::round</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node8 -->
<g id="edge9" class="edge">
<title>Node1&#45;&gt;Node8</title>
<path fill="none" stroke="midnightblue" d="M97.53,-98.93C117.29,-89.48 143.49,-77.19 167,-67 171.24,-65.16 175.72,-63.29 180.16,-61.46"/>
<polygon fill="midnightblue" stroke="midnightblue" points="181.78,-64.59 189.74,-57.6 179.15,-58.1 181.78,-64.59"/>
</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/byte/strlen.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="185.5,-0.5 185.5,-19.5 245.5,-19.5 245.5,-0.5 185.5,-0.5"/>
<text text-anchor="middle" x="215.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::strlen</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node9 -->
<g id="edge11" class="edge">
<title>Node1&#45;&gt;Node9</title>
<path fill="none" stroke="midnightblue" d="M81.3,-98.77C99.92,-80.3 133.51,-49.13 167,-29 170.15,-27.1 173.53,-25.32 176.98,-23.67"/>
<polygon fill="midnightblue" stroke="midnightblue" points="178.43,-26.86 186.15,-19.61 175.59,-20.46 178.43,-26.86"/>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<title>Node3</title>
<g id="a_node3"><a xlink:href="../../d1/dbe/lu__decomposition_8h.html#a75b8a228c6419ecda6077255d6d60509" target="_top" xlink:title=" ">
<polygon fill="white" stroke="black" points="300,-240.5 300,-259.5 392,-259.5 392,-240.5 300,-240.5"/>
<text text-anchor="middle" x="346" y="-247.5" font-family="Helvetica,sans-Serif" font-size="10.00">lu_decomposition</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<title>Node2&#45;&gt;Node3</title>
<path fill="none" stroke="midnightblue" d="M248.93,-221.59C265.21,-226.4 285.14,-232.3 302.62,-237.47"/>
<polygon fill="midnightblue" stroke="midnightblue" points="302,-240.93 312.58,-240.41 303.99,-234.22 302,-240.93"/>
</g>
<!-- Node2&#45;&gt;Node4 -->
<g id="edge4" class="edge">
<title>Node2&#45;&gt;Node4</title>
<path fill="none" stroke="midnightblue" d="M255.63,-209.07C299.06,-205.82 369.38,-200.56 417.68,-196.95"/>
<polygon fill="midnightblue" stroke="midnightblue" points="418.22,-200.42 427.93,-196.18 417.7,-193.44 418.22,-200.42"/>
</g>
<!-- Node3&#45;&gt;Node4 -->
<g id="edge3" class="edge">
<title>Node3&#45;&gt;Node4</title>
<path fill="none" stroke="midnightblue" d="M367.67,-240.46C387.62,-231.25 418.03,-217.22 440.62,-206.79"/>
<polygon fill="midnightblue" stroke="midnightblue" points="442.15,-209.94 449.76,-202.57 439.22,-203.58 442.15,-209.94"/>
</g>
<!-- Node6&#45;&gt;Node4 -->
<g id="edge8" class="edge">
<title>Node6&#45;&gt;Node4</title>
<path fill="none" stroke="midnightblue" d="M256.36,-107.07C292.01,-120.65 345.64,-141.28 392,-160 407.48,-166.25 424.58,-173.41 438.86,-179.46"/>
<polygon fill="midnightblue" stroke="midnightblue" points="437.66,-182.75 448.24,-183.44 440.4,-176.31 437.66,-182.75"/>
</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/io/manip/endl.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="319,-82.5 319,-101.5 373,-101.5 373,-82.5 319,-82.5"/>
<text text-anchor="middle" x="346" y="-89.5" font-family="Helvetica,sans-Serif" font-size="10.00">std::endl</text>
</a>
</g>
</g>
<!-- Node6&#45;&gt;Node7 -->
<g id="edge7" class="edge">
<title>Node6&#45;&gt;Node7</title>
<path fill="none" stroke="midnightblue" d="M264.35,-92C279.02,-92 294.91,-92 308.68,-92"/>
<polygon fill="midnightblue" stroke="midnightblue" points="308.74,-95.5 318.74,-92 308.74,-88.5 308.74,-95.5"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 8.3 KiB

View File

@@ -0,0 +1,8 @@
<map id="ciphers::HillCipher::codec" name="ciphers::HillCipher::codec">
<area shape="rect" id="node1" title="Convenience function to perform block cipher operations. The operations are identical for both encryp..." alt="" coords="5,93,135,135"/>
<area shape="rect" id="node2" href="$d6/d26/classciphers_1_1_hill_cipher.html#ae77cad522fa44b8c985779a7188d2f41" title="Get the index of a character in the STRKEY." alt="" coords="183,5,312,47"/>
<area shape="rect" id="node4" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/string/basic_string/size.html#" title=" " alt="" coords="186,71,309,98"/>
<area shape="rect" id="node5" href="$d6/d26/classciphers_1_1_hill_cipher.html#a40efd842a5cc44c233641ac2df13b0c0" title="helper function to perform vector multiplication with encryption or decryption matrix" alt="" coords="183,123,312,164"/>
<area shape="rect" id="node6" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/container/vector/size.html#" title=" " alt="" coords="360,158,476,185"/>
<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="378,103,458,130"/>
</map>

View File

@@ -0,0 +1 @@
35fef77fb23db5b708418a70400952e6

View File

@@ -0,0 +1,112 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.44.0 (20200408.0750)
-->
<!-- Title: ciphers::HillCipher::codec Pages: 1 -->
<svg width="361pt" height="145pt"
viewBox="0.00 0.00 361.00 144.67" 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 140.67)">
<title>ciphers::HillCipher::codec</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-140.67 357,-140.67 357,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="Convenience function to perform block cipher operations. The operations are identical for both encryp...">
<polygon fill="#bfbfbf" stroke="black" points="0,-40.17 0,-70.17 97,-70.17 97,-40.17 0,-40.17"/>
<text text-anchor="start" x="8" y="-58.17" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
<text text-anchor="middle" x="48.5" y="-47.17" font-family="Helvetica,sans-Serif" font-size="10.00">::codec</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><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="133,-106.17 133,-136.17 230,-136.17 230,-106.17 133,-106.17"/>
<text text-anchor="start" x="141" y="-124.17" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
<text text-anchor="middle" x="181.5" y="-113.17" font-family="Helvetica,sans-Serif" font-size="10.00">::get_char_idx</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<title>Node1&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M79.55,-70.31C97.94,-79.57 121.67,-91.52 141.5,-101.51"/>
<polygon fill="midnightblue" stroke="midnightblue" points="140.08,-104.72 150.59,-106.09 143.23,-98.47 140.08,-104.72"/>
</g>
<!-- Node4 -->
<g id="node4" class="node">
<title>Node4</title>
<g id="a_node4"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/string/basic_string/size.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="135.5,-67.67 135.5,-86.67 227.5,-86.67 227.5,-67.67 135.5,-67.67"/>
<text text-anchor="middle" x="181.5" y="-74.67" font-family="Helvetica,sans-Serif" font-size="10.00">std::string::length</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node4 -->
<g id="edge3" class="edge">
<title>Node1&#45;&gt;Node4</title>
<path fill="none" stroke="midnightblue" d="M97.16,-63.17C106.3,-64.7 115.93,-66.32 125.28,-67.89"/>
<polygon fill="midnightblue" stroke="midnightblue" points="124.83,-71.37 135.27,-69.57 125.99,-64.46 124.83,-71.37"/>
</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#a40efd842a5cc44c233641ac2df13b0c0" target="_top" xlink:title="helper function to perform vector multiplication with encryption or decryption matrix">
<polygon fill="white" stroke="black" points="133,-18.17 133,-48.17 230,-48.17 230,-18.17 133,-18.17"/>
<text text-anchor="start" x="141" y="-36.17" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
<text text-anchor="middle" x="181.5" y="-25.17" font-family="Helvetica,sans-Serif" font-size="10.00">::mat_mul</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node5 -->
<g id="edge4" class="edge">
<title>Node1&#45;&gt;Node5</title>
<path fill="none" stroke="midnightblue" d="M97.16,-47.16C105.47,-45.77 114.19,-44.3 122.74,-42.87"/>
<polygon fill="midnightblue" stroke="midnightblue" points="123.37,-46.31 132.65,-41.2 122.21,-39.41 123.37,-46.31"/>
</g>
<!-- Node6 -->
<g id="node6" class="node">
<title>Node6</title>
<g id="a_node6"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/container/vector/size.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="266,-2.67 266,-21.67 353,-21.67 353,-2.67 266,-2.67"/>
<text text-anchor="middle" x="309.5" y="-9.67" font-family="Helvetica,sans-Serif" font-size="10.00">std::vector::size</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node6 -->
<g id="edge7" class="edge">
<title>Node1&#45;&gt;Node6</title>
<path fill="none" stroke="midnightblue" d="M69.49,-40C85.65,-28.74 109.51,-14.32 133,-8.17 173.25,2.38 220.48,0.54 255.8,-3.47"/>
<polygon fill="midnightblue" stroke="midnightblue" points="255.54,-6.97 265.9,-4.71 256.4,-0.02 255.54,-6.97"/>
</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="279.5,-43.67 279.5,-62.67 339.5,-62.67 339.5,-43.67 279.5,-43.67"/>
<text text-anchor="middle" x="309.5" y="-50.67" font-family="Helvetica,sans-Serif" font-size="10.00">std::strlen</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<title>Node2&#45;&gt;Node3</title>
<path fill="none" stroke="midnightblue" d="M211.43,-106.04C217.57,-102.8 224.01,-99.38 230,-96.17 247.46,-86.79 267,-76.08 282.22,-67.7"/>
<polygon fill="midnightblue" stroke="midnightblue" points="284.02,-70.71 291.09,-62.81 280.64,-64.58 284.02,-70.71"/>
</g>
<!-- Node5&#45;&gt;Node3 -->
<g id="edge6" class="edge">
<title>Node5&#45;&gt;Node3</title>
<path fill="none" stroke="midnightblue" d="M230.14,-40.73C243.09,-42.78 256.97,-44.99 269.4,-46.96"/>
<polygon fill="midnightblue" stroke="midnightblue" points="269.02,-50.44 279.44,-48.55 270.11,-43.53 269.02,-50.44"/>
</g>
<!-- Node5&#45;&gt;Node6 -->
<g id="edge5" class="edge">
<title>Node5&#45;&gt;Node6</title>
<path fill="none" stroke="midnightblue" d="M230.14,-25.23C238.55,-23.82 247.35,-22.36 255.9,-20.93"/>
<polygon fill="midnightblue" stroke="midnightblue" points="256.48,-24.38 265.77,-19.29 255.33,-17.48 256.48,-24.38"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.9 KiB

View File

@@ -0,0 +1,4 @@
<map id="ciphers::HillCipher::get_char_idx" name="ciphers::HillCipher::get_char_idx">
<area shape="rect" id="node1" title="Get the index of a character in the STRKEY." alt="" coords="5,5,135,47"/>
<area shape="rect" id="node2" href="/Users/runner/work/C-Plus-Plus/C-Plus-Plus/doc/cppreference-doxygen-web.tag.xml$cpp/string/byte/strlen.html#" title=" " alt="" coords="183,13,263,39"/>
</map>

View File

@@ -0,0 +1 @@
9c258c62cd44b02f697a6bf114861aeb

View File

@@ -0,0 +1,38 @@
<?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: ciphers::HillCipher::get_char_idx Pages: 1 -->
<svg width="201pt" height="39pt"
viewBox="0.00 0.00 201.00 39.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 35)">
<title>ciphers::HillCipher::get_char_idx</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-35 197,-35 197,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="Get the index of a character in the STRKEY.">
<polygon fill="#bfbfbf" stroke="black" points="0,-0.5 0,-30.5 97,-30.5 97,-0.5 0,-0.5"/>
<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers::HillCipher</text>
<text text-anchor="middle" x="48.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">::get_char_idx</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a target="_blank" xlink:href="http://en.cppreference.com/w/cpp/string/byte/strlen.html#" xlink:title=" ">
<polygon fill="white" stroke="black" points="133,-6 133,-25 193,-25 193,-6 133,-6"/>
<text text-anchor="middle" x="163" y="-13" font-family="Helvetica,sans-Serif" font-size="10.00">std::strlen</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<title>Node1&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M97.21,-15.5C105.72,-15.5 114.49,-15.5 122.73,-15.5"/>
<polygon fill="midnightblue" stroke="midnightblue" points="122.81,-19 132.81,-15.5 122.81,-12 122.81,-19"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@@ -0,0 +1,156 @@
<!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 Namespace 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++
&#160;<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&amp;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&amp;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&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('d6/d4e/namespaceciphers.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> &#124;
<a href="#var-members">Variables</a> </div>
<div class="headertitle">
<div class="title">ciphers Namespace Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Algorithms for encryption and decryption.
<a href="../../d6/d4e/namespaceciphers.html#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d26/classciphers_1_1_hill_cipher.html">HillCipher</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</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">&#160;</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 *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d6/d4e/namespaceciphers.html#ab9aec0ccf4b6809f652bb540be87c216">STRKEY</a></td></tr>
<tr class="separator:ab9aec0ccf4b6809f652bb540be87c216"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Algorithms for encryption and decryption. </p>
</div><h2 class="groupheader">Variable Documentation</h2>
<a id="ab9aec0ccf4b6809f652bb540be87c216"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab9aec0ccf4b6809f652bb540be87c216">&#9670;&nbsp;</a></span>STRKEY</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const char* ciphers::STRKEY</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">=</div>
<div class="line"> <span class="stringliteral">&quot;ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789~!@#$%^&amp;&quot;</span></div>
<div class="line"> <span class="stringliteral">&quot;*()_+`-=[]{}|;&#39;:\&quot;,./&lt;&gt;?\\\r\n \0&quot;</span></div>
</div><!-- fragment --><p>dictionary of characters that can be encrypted and decrypted </p>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="../../d6/d4e/namespaceciphers.html">ciphers</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>

View File

@@ -0,0 +1,4 @@
var namespaceciphers =
[
[ "HillCipher", "d6/d26/classciphers_1_1_hill_cipher.html", "d6/d26/classciphers_1_1_hill_cipher" ]
];

View File

@@ -176,7 +176,7 @@ Documentation</h3>
<h3><a class="anchor" id="autotoc_md10"></a>
Test</h3>
<ul>
<li>Make sure to add examples and test cases in your <a class="el" href="../../d8/dee/avltree_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main()</a> function.</li>
<li>Make sure to add examples and test cases in your <a class="el" href="../../d7/db9/hill__cipher_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main()</a> function.</li>
<li>If you find any algorithm or document without tests, please feel free to create a pull request or issue describing suggested changes.</li>
</ul>
<h2><a class="anchor" id="autotoc_md11"></a>

View File

@@ -117,7 +117,7 @@ int&#160;</td><td class="memItemRight" valign="bottom"><b>main</b> ()</td></tr>
<tr class="separator:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><dl class="todo"><dt><b><a class="el" href="../../dd/da0/todo.html#_todo000003">Todo:</a></b></dt><dd>Add documentation </dd></dl>
<div class="textblock"><dl class="todo"><dt><b><a class="el" href="../../dd/da0/todo.html#_todo000004">Todo:</a></b></dt><dd>Add documentation </dd></dl>
<dl class="section warning"><dt>Warning</dt><dd>The sorting algorithm is erroneous </dd></dl>
</div></div><!-- contents -->
</div><!-- doc-content -->

View File

@@ -420,7 +420,7 @@ Here is the call graph for this function:</div>
</tr>
</table>
</div><div class="memdoc">
<p>global vector variables used in the <a class="el" href="../../d7/d35/matrix__exponentiation_8cpp.html#ad8389ed58fd0ec66df248014775ad1fa">ans</a> function. </p><dl class="todo"><dt><b><a class="el" href="../../dd/da0/todo.html#_todo000006">Todo:</a></b></dt><dd>@stepfencurryxiao add documetnation </dd></dl>
<p>global vector variables used in the <a class="el" href="../../d7/d35/matrix__exponentiation_8cpp.html#ad8389ed58fd0ec66df248014775ad1fa">ans</a> function. </p><dl class="todo"><dt><b><a class="el" href="../../dd/da0/todo.html#_todo000007">Todo:</a></b></dt><dd>@stepfencurryxiao add documetnation </dd></dl>
</div>
</div>
@@ -435,7 +435,7 @@ Here is the call graph for this function:</div>
</tr>
</table>
</div><div class="memdoc">
<p>global variable mat_size </p><dl class="todo"><dt><b><a class="el" href="../../dd/da0/todo.html#_todo000005">Todo:</a></b></dt><dd>@stepfencurryxiao add documetnation </dd></dl>
<p>global variable mat_size </p><dl class="todo"><dt><b><a class="el" href="../../dd/da0/todo.html#_todo000006">Todo:</a></b></dt><dd>@stepfencurryxiao add documetnation </dd></dl>
</div>
</div>

View File

@@ -1,4 +1,5 @@
<map id="numerical_methods/lu_decomposition.h" name="numerical_methods/lu_decomposition.h">
<area shape="rect" id="node1" title="Functions associated with LU Decomposition of a square matrix." alt="" coords="5,5,155,47"/>
<area shape="rect" id="node2" href="$dd/d65/lu__decompose_8cpp.html" title="LU decomposition of a square matrix" alt="" coords="5,95,155,136"/>
<area shape="rect" id="node1" title="Functions associated with LU Decomposition of a square matrix." alt="" coords="93,5,242,47"/>
<area shape="rect" id="node2" href="$d7/db9/hill__cipher_8cpp.html" title="Implementation of Hill cipher algorithm." alt="" coords="5,102,156,129"/>
<area shape="rect" id="node3" href="$dd/d65/lu__decompose_8cpp.html" title="LU decomposition of a square matrix" alt="" coords="181,95,330,136"/>
</map>

View File

@@ -1 +1 @@
2313f24130ed2a5ca7a822b076b6579c
fba027800d31084d8f80078484bb10cd

View File

@@ -4,36 +4,51 @@
<!-- Generated by graphviz version 2.44.0 (20200408.0750)
-->
<!-- Title: numerical_methods/lu_decomposition.h Pages: 1 -->
<svg width="120pt" height="106pt"
viewBox="0.00 0.00 120.00 106.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<svg width="252pt" height="106pt"
viewBox="0.00 0.00 251.50 106.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 102)">
<title>numerical_methods/lu_decomposition.h</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-102 116,-102 116,4 -4,4"/>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-102 247.5,-102 247.5,4 -4,4"/>
<!-- Node1 -->
<g id="node1" class="node">
<title>Node1</title>
<g id="a_node1"><a xlink:title="Functions associated with LU Decomposition of a square matrix.">
<polygon fill="#bfbfbf" stroke="black" points="0,-67.5 0,-97.5 112,-97.5 112,-67.5 0,-67.5"/>
<text text-anchor="start" x="8" y="-85.5" font-family="Helvetica,sans-Serif" font-size="10.00">numerical_methods/lu</text>
<text text-anchor="middle" x="56" y="-74.5" font-family="Helvetica,sans-Serif" font-size="10.00">_decomposition.h</text>
<polygon fill="#bfbfbf" stroke="black" points="65.5,-67.5 65.5,-97.5 177.5,-97.5 177.5,-67.5 65.5,-67.5"/>
<text text-anchor="start" x="73.5" y="-85.5" font-family="Helvetica,sans-Serif" font-size="10.00">numerical_methods/lu</text>
<text text-anchor="middle" x="121.5" y="-74.5" font-family="Helvetica,sans-Serif" font-size="10.00">_decomposition.h</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="node2" class="node">
<title>Node2</title>
<g id="a_node2"><a xlink:href="../../dd/d65/lu__decompose_8cpp.html" target="_top" xlink:title="LU decomposition of a square matrix">
<polygon fill="white" stroke="black" points="0,-0.5 0,-30.5 112,-30.5 112,-0.5 0,-0.5"/>
<text text-anchor="start" x="8" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">numerical_methods/lu</text>
<text text-anchor="middle" x="56" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">_decompose.cpp</text>
<g id="a_node2"><a xlink:href="../../d7/db9/hill__cipher_8cpp.html" target="_top" xlink:title="Implementation of Hill cipher algorithm.">
<polygon fill="white" stroke="black" points="0,-6 0,-25 113,-25 113,-6 0,-6"/>
<text text-anchor="middle" x="56.5" y="-13" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers/hill_cipher.cpp</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<title>Node1&#45;&gt;Node2</title>
<path fill="none" stroke="midnightblue" d="M56,-57.11C56,-48.15 56,-38.32 56,-30.58"/>
<polygon fill="midnightblue" stroke="midnightblue" points="52.5,-57.4 56,-67.4 59.5,-57.4 52.5,-57.4"/>
<path fill="none" stroke="midnightblue" d="M100,-60C88.13,-48.13 74.05,-34.05 65.19,-25.19"/>
<polygon fill="midnightblue" stroke="midnightblue" points="97.85,-62.8 107.4,-67.4 102.8,-57.85 97.85,-62.8"/>
</g>
<!-- Node3 -->
<g id="node3" class="node">
<title>Node3</title>
<g id="a_node3"><a xlink:href="../../dd/d65/lu__decompose_8cpp.html" target="_top" xlink:title="LU decomposition of a square matrix">
<polygon fill="white" stroke="black" points="131.5,-0.5 131.5,-30.5 243.5,-30.5 243.5,-0.5 131.5,-0.5"/>
<text text-anchor="start" x="139.5" y="-18.5" font-family="Helvetica,sans-Serif" font-size="10.00">numerical_methods/lu</text>
<text text-anchor="middle" x="187.5" y="-7.5" font-family="Helvetica,sans-Serif" font-size="10.00">_decompose.cpp</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<title>Node1&#45;&gt;Node3</title>
<path fill="none" stroke="midnightblue" d="M143.01,-60.31C152.91,-50.56 164.39,-39.26 173.21,-30.58"/>
<polygon fill="midnightblue" stroke="midnightblue" points="140.49,-57.89 135.82,-67.4 145.4,-62.87 140.49,-57.89"/>
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

View 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++
&#160;<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&amp;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&amp;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&amp;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> &#124;
<a href="#namespaces">Namespaces</a> &#124;
<a href="#func-members">Functions</a> &#124;
<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 &lt;cassert&gt;</code><br />
<code>#include &lt;cmath&gt;</code><br />
<code>#include &lt;cstring&gt;</code><br />
<code>#include &lt;ctime&gt;</code><br />
<code>#include &lt;fstream&gt;</code><br />
<code>#include &lt;iomanip&gt;</code><br />
<code>#include &lt;iostream&gt;</code><br />
<code>#include &lt;string&gt;</code><br />
<code>#include &quot;<a class="el" href="../../d1/dbe/lu__decomposition_8h_source.html">../numerical_methods/lu_decomposition.h</a>&quot;</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 &#160;</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">&#160;</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">&#160;</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"> &#160;</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">&#160;</td><td class="mdescRight">Algorithms for encryption and decryption. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:aeff09ac6b8f060c828354394a3189519"><td class="memTemplParams" colspan="2">template&lt;typename T &gt; </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> &amp;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="../../d7/db9/hill__cipher_8cpp.html#aeff09ac6b8f060c828354394a3189519">operator&lt;&lt;</a> (<a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::ostream</a> &amp;out, <a class="el" href="../../d1/dbe/lu__decomposition_8h.html#aed8766713ee9b561a4acdcdff5f90ea5">matrix</a>&lt; T &gt; const &amp;v)</td></tr>
<tr class="separator:aeff09ac6b8f060c828354394a3189519"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3147ad576f8a94a2a6b66948672b452b"><td class="memItemLeft" align="right" valign="top">void&#160;</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> &amp;text)</td></tr>
<tr class="memdesc:a3147ad576f8a94a2a6b66948672b452b"><td class="mdescLeft">&#160;</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">&#160;</td></tr>
<tr class="memitem:a04391124480d2a49f2dec900237b0712"><td class="memItemLeft" align="right" valign="top">void&#160;</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> &amp;text)</td></tr>
<tr class="memdesc:a04391124480d2a49f2dec900237b0712"><td class="mdescLeft">&#160;</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">&#160;</td></tr>
<tr class="memitem:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../../d7/db9/hill__cipher_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a> ()</td></tr>
<tr class="separator:ae66f6b31b5ad750f1fe042a706a4e3d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:ab9aec0ccf4b6809f652bb540be87c216"><td class="memItemLeft" align="right" valign="top">static const char *&#160;</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">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Implementation of <a href="https://en.wikipedia.org/wiki/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">&#9670;&nbsp;</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>&#160; {</div>
<div class="line"><a name="l00533"></a><span class="lineno"> 533</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/numeric/random/srand.html">std::srand</a>(<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/chrono/c/time.html">std::time</a>(<span class="keyword">nullptr</span>));</div>
<div class="line"><a name="l00534"></a><span class="lineno"> 534</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Key dictionary: (&quot;</span> &lt;&lt; <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>) &lt;&lt; <span class="stringliteral">&quot;)\n\t&quot;</span></div>
<div class="line"><a name="l00535"></a><span class="lineno"> 535</span>&#160; &lt;&lt; <a class="code" href="../../d6/d4e/namespaceciphers.html#ab9aec0ccf4b6809f652bb540be87c216">ciphers::STRKEY</a> &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line"><a name="l00536"></a><span class="lineno"> 536</span>&#160; </div>
<div class="line"><a name="l00537"></a><span class="lineno"> 537</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/string/basic_string.html">std::string</a> text = <span class="stringliteral">&quot;This is a simple text with numb3r5 and exclamat!0n.&quot;</span>;</div>
<div class="line"><a name="l00538"></a><span class="lineno"> 538</span>&#160; </div>
<div class="line"><a name="l00539"></a><span class="lineno"> 539</span>&#160; <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>&#160; <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>&#160; </div>
<div class="line"><a name="l00542"></a><span class="lineno"> 542</span>&#160; <span class="keywordflow">return</span> 0;</div>
<div class="line"><a name="l00543"></a><span class="lineno"> 543</span>&#160;}</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">&#9670;&nbsp;</a></span>operator&lt;&lt;()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename T &gt; </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>&amp; operator&lt;&lt; </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> &amp;&#160;</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>&lt; T &gt; const &amp;&#160;</td>
<td class="paramname"><em>v</em>&#160;</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>&#160; {</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; <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>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span> separator = <span class="charliteral">&#39; &#39;</span>;</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; </div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> row = 0; row &lt; v.size(); row++) {</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keywordflow">for</span> (<span class="keywordtype">size_t</span> col = 0; col &lt; v[row].size(); col++)</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; out &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/left.html">std::left</a> &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/setw.html">std::setw</a>(width) &lt;&lt; <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>&#160; &lt;&lt; v[row][col];</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; out &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; }</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160; </div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="keywordflow">return</span> out;</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;}</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">&#9670;&nbsp;</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> &amp;&#160;</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>&#160; {</div>
<div class="line"><a name="l00471"></a><span class="lineno"> 471</span>&#160; <span class="comment">// std::string text = &quot;Hello world!&quot;;</span></div>
<div class="line"><a name="l00472"></a><span class="lineno"> 472</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;======Test 1 (3x3 key) ======\nOriginal text:\n\t&quot;</span> &lt;&lt; text</div>
<div class="line"><a name="l00473"></a><span class="lineno"> 473</span>&#160; &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00474"></a><span class="lineno"> 474</span>&#160; </div>
<div class="line"><a name="l00475"></a><span class="lineno"> 475</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair&lt;matrix&lt;int&gt;</a>, <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">matrix&lt;int&gt;</a>&gt; p =</div>
<div class="line"><a name="l00476"></a><span class="lineno"> 476</span>&#160; <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>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">matrix&lt;int&gt;</a> ekey = p.first;</div>
<div class="line"><a name="l00478"></a><span class="lineno"> 478</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">matrix&lt;int&gt;</a> dkey = p.second;</div>
<div class="line"><a name="l00479"></a><span class="lineno"> 479</span>&#160; </div>
<div class="line"><a name="l00480"></a><span class="lineno"> 480</span>&#160; <span class="comment">// matrix&lt;int&gt; ekey = {{22, 28, 25}, {5, 26, 15}, {14, 18, 9}};</span></div>
<div class="line"><a name="l00481"></a><span class="lineno"> 481</span>&#160; <span class="comment">// std::cout &lt;&lt; &quot;Encryption key: \n&quot; &lt;&lt; ekey;</span></div>
<div class="line"><a name="l00482"></a><span class="lineno"> 482</span>&#160; <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>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Encrypted text:\n\t&quot;</span> &lt;&lt; gibberish &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00484"></a><span class="lineno"> 484</span>&#160; </div>
<div class="line"><a name="l00485"></a><span class="lineno"> 485</span>&#160; <span class="comment">// matrix&lt;int&gt; dkey = ciphers::HillCipher::generate_decryption_key(ekey);</span></div>
<div class="line"><a name="l00486"></a><span class="lineno"> 486</span>&#160; <span class="comment">// std::cout &lt;&lt; &quot;Decryption key: \n&quot; &lt;&lt; dkey;</span></div>
<div class="line"><a name="l00487"></a><span class="lineno"> 487</span>&#160; <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>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Reconstruct text:\n\t&quot;</span> &lt;&lt; txt_back &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00489"></a><span class="lineno"> 489</span>&#160; </div>
<div class="line"><a name="l00490"></a><span class="lineno"> 490</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ofstream.html">std::ofstream</a> out_file(<span class="stringliteral">&quot;hill_cipher_test1.txt&quot;</span>);</div>
<div class="line"><a name="l00491"></a><span class="lineno"> 491</span>&#160; out_file &lt;&lt; <span class="stringliteral">&quot;Block size: &quot;</span> &lt;&lt; ekey.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line"><a name="l00492"></a><span class="lineno"> 492</span>&#160; out_file &lt;&lt; <span class="stringliteral">&quot;Encryption Key:\n&quot;</span> &lt;&lt; ekey;</div>
<div class="line"><a name="l00493"></a><span class="lineno"> 493</span>&#160; out_file &lt;&lt; <span class="stringliteral">&quot;\nDecryption Key:\n&quot;</span> &lt;&lt; dkey;</div>
<div class="line"><a name="l00494"></a><span class="lineno"> 494</span>&#160; out_file.close();</div>
<div class="line"><a name="l00495"></a><span class="lineno"> 495</span>&#160; </div>
<div class="line"><a name="l00496"></a><span class="lineno"> 496</span>&#160; assert(txt_back == text);</div>
<div class="line"><a name="l00497"></a><span class="lineno"> 497</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Passed :)\n&quot;</span>;</div>
<div class="line"><a name="l00498"></a><span class="lineno"> 498</span>&#160;}</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">&#9670;&nbsp;</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> &amp;&#160;</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>&#160; {</div>
<div class="line"><a name="l00506"></a><span class="lineno"> 506</span>&#160; <span class="comment">// std::string text = &quot;Hello world!&quot;;</span></div>
<div class="line"><a name="l00507"></a><span class="lineno"> 507</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;======Test 2 (8x8 key) ======\nOriginal text:\n\t&quot;</span> &lt;&lt; text</div>
<div class="line"><a name="l00508"></a><span class="lineno"> 508</span>&#160; &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00509"></a><span class="lineno"> 509</span>&#160; </div>
<div class="line"><a name="l00510"></a><span class="lineno"> 510</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/utility/pair.html">std::pair&lt;matrix&lt;int&gt;</a>, <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">matrix&lt;int&gt;</a>&gt; p =</div>
<div class="line"><a name="l00511"></a><span class="lineno"> 511</span>&#160; <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>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">matrix&lt;int&gt;</a> ekey = p.first;</div>
<div class="line"><a name="l00513"></a><span class="lineno"> 513</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector.html">matrix&lt;int&gt;</a> dkey = p.second;</div>
<div class="line"><a name="l00514"></a><span class="lineno"> 514</span>&#160; </div>
<div class="line"><a name="l00515"></a><span class="lineno"> 515</span>&#160; <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>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Encrypted text:\n\t&quot;</span> &lt;&lt; gibberish &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00517"></a><span class="lineno"> 517</span>&#160; </div>
<div class="line"><a name="l00518"></a><span class="lineno"> 518</span>&#160; <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>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Reconstruct text:\n\t&quot;</span> &lt;&lt; txt_back &lt;&lt; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/manip/endl.html">std::endl</a>;</div>
<div class="line"><a name="l00520"></a><span class="lineno"> 520</span>&#160; </div>
<div class="line"><a name="l00521"></a><span class="lineno"> 521</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ofstream.html">std::ofstream</a> out_file(<span class="stringliteral">&quot;hill_cipher_test2.txt&quot;</span>);</div>
<div class="line"><a name="l00522"></a><span class="lineno"> 522</span>&#160; out_file &lt;&lt; <span class="stringliteral">&quot;Block size: &quot;</span> &lt;&lt; ekey.<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>() &lt;&lt; <span class="stringliteral">&quot;\n&quot;</span>;</div>
<div class="line"><a name="l00523"></a><span class="lineno"> 523</span>&#160; out_file &lt;&lt; <span class="stringliteral">&quot;Encryption Key:\n&quot;</span> &lt;&lt; ekey;</div>
<div class="line"><a name="l00524"></a><span class="lineno"> 524</span>&#160; out_file &lt;&lt; <span class="stringliteral">&quot;\nDecryption Key:\n&quot;</span> &lt;&lt; dkey;</div>
<div class="line"><a name="l00525"></a><span class="lineno"> 525</span>&#160; out_file.close();</div>
<div class="line"><a name="l00526"></a><span class="lineno"> 526</span>&#160; </div>
<div class="line"><a name="l00527"></a><span class="lineno"> 527</span>&#160; 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>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; <span class="stringliteral">&quot;Passed :)\n&quot;</span>;</div>
<div class="line"><a name="l00529"></a><span class="lineno"> 529</span>&#160;}</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&lt; vector&lt; ll &gt; &gt; multiply(const vector&lt; vector&lt; ll &gt;&gt; &amp;A, const vector&lt; vector&lt; ll &gt;&gt; &amp;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 &amp;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&lt; std::valarray&lt; double &gt;&gt; &amp;A, const std::valarray&lt; std::valarray&lt; double &gt;&gt; &amp;B, std::valarray&lt; std::valarray&lt; double &gt;&gt; *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 &amp;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 &amp;text, const std::string &amp;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&lt; std::valarray&lt; double &gt;&gt; *A)</div><div class="ttdef"><b>Definition:</b> qr_eigen_values.cpp:28</div></div>
<div class="ttc" id="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&lt; std::vector&lt; std::string &gt; &gt; 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&lt; double &gt; eigen_values(std::valarray&lt; std::valarray&lt; double &gt;&gt; *A, bool print_intermediates=false)</div><div class="ttdef"><b>Definition:</b> qr_eigen_values.cpp:98</div></div>
<div class="ttc" id="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 &amp;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&lt; int &gt; &amp;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 &amp;str1, const std::string &amp;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 &amp;A, const Point &amp;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 &amp;text, const matrix&lt; int &gt; &amp;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 &amp;text, const matrix&lt; int &gt; &amp;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 &amp;pattern, const std::string &amp;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 &amp;A, const Point &amp;B, const Point &amp;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&lt; int &gt; *s1, std::vector&lt; int &gt; *s2, std::vector&lt; int &gt; *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&lt; ll &gt; 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&lt; Point &gt; &amp;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 &amp;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&lt; matrix&lt; int &gt;, matrix&lt; int &gt; &gt; 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&lt; vector&lt; ll &gt; &gt; power(const vector&lt; vector&lt; ll &gt;&gt; &amp;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&lt; std::valarray&lt; T &gt;&gt; &amp;A, std::valarray&lt; std::valarray&lt; T &gt;&gt; *Q, std::valarray&lt; std::valarray&lt; T &gt;&gt; *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&lt; int &gt; getFailureArray(const std::string &amp;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 &amp;str, const std::string &amp;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&lt; Point &gt; &amp;P, const Point &amp;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&lt; T &gt; *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>

View 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 ]
];

View File

@@ -0,0 +1,28 @@
<map id="test2" name="test2">
<area shape="rect" id="node1" title="Self test 2 &#45; 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&#39;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>

View File

@@ -0,0 +1 @@
3a02a91d1033a360ffc54da6154b006a

View File

@@ -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 &#45; 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&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<title>Node1&#45;&gt;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&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<title>Node1&#45;&gt;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&#45;&gt;Node4 -->
<g id="edge3" class="edge">
<title>Node1&#45;&gt;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&#45;&gt;Node8 -->
<g id="edge37" class="edge">
<title>Node1&#45;&gt;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&#45;&gt;Node10 -->
<g id="edge38" class="edge">
<title>Node1&#45;&gt;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&#45;&gt;Node11 -->
<g id="edge12" class="edge">
<title>Node1&#45;&gt;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&#45;&gt;Node12 -->
<g id="edge14" class="edge">
<title>Node1&#45;&gt;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&#45;&gt;Node13 -->
<g id="edge15" class="edge">
<title>Node1&#45;&gt;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&#45;&gt;Node5 -->
<g id="edge4" class="edge">
<title>Node4&#45;&gt;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&#45;&gt;Node6 -->
<g id="edge5" class="edge">
<title>Node5&#45;&gt;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&#45;&gt;Node8 -->
<g id="edge7" class="edge">
<title>Node5&#45;&gt;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&#45;&gt;Node9 -->
<g id="edge8" class="edge">
<title>Node5&#45;&gt;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&#45;&gt;Node10 -->
<g id="edge11" class="edge">
<title>Node5&#45;&gt;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&#45;&gt;Node7 -->
<g id="edge6" class="edge">
<title>Node6&#45;&gt;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&#45;&gt;Node7 -->
<g id="edge10" class="edge">
<title>Node9&#45;&gt;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&#45;&gt;Node10 -->
<g id="edge9" class="edge">
<title>Node9&#45;&gt;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&#45;&gt;Node5 -->
<g id="edge13" class="edge">
<title>Node11&#45;&gt;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&#45;&gt;Node14 -->
<g id="edge16" class="edge">
<title>Node13&#45;&gt;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&#45;&gt;Node16 -->
<g id="edge20" class="edge">
<title>Node13&#45;&gt;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&#45;&gt;Node20 -->
<g id="edge29" class="edge">
<title>Node13&#45;&gt;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&#45;&gt;Node26 -->
<g id="edge36" class="edge">
<title>Node13&#45;&gt;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&#45;&gt;Node10 -->
<g id="edge19" class="edge">
<title>Node14&#45;&gt;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&#45;&gt;Node15 -->
<g id="edge17" class="edge">
<title>Node14&#45;&gt;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&#45;&gt;Node10 -->
<g id="edge18" class="edge">
<title>Node15&#45;&gt;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&#45;&gt;Node7 -->
<g id="edge28" class="edge">
<title>Node16&#45;&gt;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&#45;&gt;Node10 -->
<g id="edge27" class="edge">
<title>Node16&#45;&gt;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&#45;&gt;Node14 -->
<g id="edge21" class="edge">
<title>Node16&#45;&gt;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&#45;&gt;Node17 -->
<g id="edge22" class="edge">
<title>Node16&#45;&gt;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&#45;&gt;Node18 -->
<g id="edge23" class="edge">
<title>Node16&#45;&gt;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&#45;&gt;Node19 -->
<g id="edge26" class="edge">
<title>Node16&#45;&gt;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&#45;&gt;Node10 -->
<g id="edge25" class="edge">
<title>Node18&#45;&gt;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&#45;&gt;Node12 -->
<g id="edge24" class="edge">
<title>Node18&#45;&gt;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&#45;&gt;Node7 -->
<g id="edge35" class="edge">
<title>Node20&#45;&gt;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&#39;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&#45;&gt;Node21 -->
<g id="edge30" class="edge">
<title>Node20&#45;&gt;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&#45;&gt;Node23 -->
<g id="edge32" class="edge">
<title>Node20&#45;&gt;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&#45;&gt;Node24 -->
<g id="edge33" class="edge">
<title>Node20&#45;&gt;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&#45;&gt;Node22 -->
<g id="edge31" class="edge">
<title>Node21&#45;&gt;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&#45;&gt;Node25 -->
<g id="edge34" class="edge">
<title>Node24&#45;&gt;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

View File

@@ -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 &#45; 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&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<title>Node1&#45;&gt;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&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<title>Node1&#45;&gt;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&#45;&gt;Node4 -->
<g id="edge3" class="edge">
<title>Node1&#45;&gt;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&#45;&gt;Node8 -->
<g id="edge37" class="edge">
<title>Node1&#45;&gt;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&#45;&gt;Node10 -->
<g id="edge38" class="edge">
<title>Node1&#45;&gt;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&#45;&gt;Node11 -->
<g id="edge12" class="edge">
<title>Node1&#45;&gt;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&#45;&gt;Node12 -->
<g id="edge14" class="edge">
<title>Node1&#45;&gt;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&#45;&gt;Node13 -->
<g id="edge15" class="edge">
<title>Node1&#45;&gt;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&#45;&gt;Node5 -->
<g id="edge4" class="edge">
<title>Node4&#45;&gt;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&#45;&gt;Node6 -->
<g id="edge5" class="edge">
<title>Node5&#45;&gt;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&#45;&gt;Node8 -->
<g id="edge7" class="edge">
<title>Node5&#45;&gt;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&#45;&gt;Node9 -->
<g id="edge8" class="edge">
<title>Node5&#45;&gt;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&#45;&gt;Node10 -->
<g id="edge11" class="edge">
<title>Node5&#45;&gt;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&#45;&gt;Node7 -->
<g id="edge6" class="edge">
<title>Node6&#45;&gt;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&#45;&gt;Node7 -->
<g id="edge10" class="edge">
<title>Node9&#45;&gt;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&#45;&gt;Node10 -->
<g id="edge9" class="edge">
<title>Node9&#45;&gt;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&#45;&gt;Node5 -->
<g id="edge13" class="edge">
<title>Node11&#45;&gt;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&#45;&gt;Node14 -->
<g id="edge16" class="edge">
<title>Node13&#45;&gt;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&#45;&gt;Node16 -->
<g id="edge20" class="edge">
<title>Node13&#45;&gt;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&#45;&gt;Node20 -->
<g id="edge29" class="edge">
<title>Node13&#45;&gt;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&#45;&gt;Node26 -->
<g id="edge36" class="edge">
<title>Node13&#45;&gt;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&#45;&gt;Node10 -->
<g id="edge19" class="edge">
<title>Node14&#45;&gt;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&#45;&gt;Node15 -->
<g id="edge17" class="edge">
<title>Node14&#45;&gt;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&#45;&gt;Node10 -->
<g id="edge18" class="edge">
<title>Node15&#45;&gt;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&#45;&gt;Node7 -->
<g id="edge28" class="edge">
<title>Node16&#45;&gt;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&#45;&gt;Node10 -->
<g id="edge27" class="edge">
<title>Node16&#45;&gt;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&#45;&gt;Node14 -->
<g id="edge21" class="edge">
<title>Node16&#45;&gt;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&#45;&gt;Node17 -->
<g id="edge22" class="edge">
<title>Node16&#45;&gt;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&#45;&gt;Node18 -->
<g id="edge23" class="edge">
<title>Node16&#45;&gt;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&#45;&gt;Node19 -->
<g id="edge26" class="edge">
<title>Node16&#45;&gt;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&#45;&gt;Node10 -->
<g id="edge25" class="edge">
<title>Node18&#45;&gt;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&#45;&gt;Node12 -->
<g id="edge24" class="edge">
<title>Node18&#45;&gt;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&#45;&gt;Node7 -->
<g id="edge35" class="edge">
<title>Node20&#45;&gt;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&#39;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&#45;&gt;Node21 -->
<g id="edge30" class="edge">
<title>Node20&#45;&gt;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&#45;&gt;Node23 -->
<g id="edge32" class="edge">
<title>Node20&#45;&gt;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&#45;&gt;Node24 -->
<g id="edge33" class="edge">
<title>Node20&#45;&gt;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&#45;&gt;Node22 -->
<g id="edge31" class="edge">
<title>Node21&#45;&gt;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&#45;&gt;Node25 -->
<g id="edge34" class="edge">
<title>Node24&#45;&gt;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

View File

@@ -0,0 +1,27 @@
<map id="test1" name="test1">
<area shape="rect" id="node1" title="Self test 1 &#45; 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&#39;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>

View File

@@ -0,0 +1 @@
8f9dd8ce391293fefd1587b05d3daf05

View File

@@ -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 &#45; 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&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<title>Node1&#45;&gt;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&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<title>Node1&#45;&gt;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&#45;&gt;Node9 -->
<g id="edge36" class="edge">
<title>Node1&#45;&gt;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&#45;&gt;Node10 -->
<g id="edge11" class="edge">
<title>Node1&#45;&gt;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&#45;&gt;Node11 -->
<g id="edge13" class="edge">
<title>Node1&#45;&gt;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&#45;&gt;Node12 -->
<g id="edge14" class="edge">
<title>Node1&#45;&gt;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&#45;&gt;Node4 -->
<g id="edge3" class="edge">
<title>Node3&#45;&gt;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&#45;&gt;Node5 -->
<g id="edge4" class="edge">
<title>Node4&#45;&gt;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&#45;&gt;Node7 -->
<g id="edge6" class="edge">
<title>Node4&#45;&gt;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&#45;&gt;Node8 -->
<g id="edge7" class="edge">
<title>Node4&#45;&gt;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&#45;&gt;Node9 -->
<g id="edge10" class="edge">
<title>Node4&#45;&gt;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&#45;&gt;Node6 -->
<g id="edge5" class="edge">
<title>Node5&#45;&gt;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&#45;&gt;Node6 -->
<g id="edge9" class="edge">
<title>Node8&#45;&gt;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&#45;&gt;Node9 -->
<g id="edge8" class="edge">
<title>Node8&#45;&gt;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&#45;&gt;Node4 -->
<g id="edge12" class="edge">
<title>Node10&#45;&gt;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&#45;&gt;Node13 -->
<g id="edge15" class="edge">
<title>Node12&#45;&gt;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&#45;&gt;Node15 -->
<g id="edge19" class="edge">
<title>Node12&#45;&gt;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&#45;&gt;Node19 -->
<g id="edge28" class="edge">
<title>Node12&#45;&gt;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&#45;&gt;Node25 -->
<g id="edge35" class="edge">
<title>Node12&#45;&gt;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&#45;&gt;Node9 -->
<g id="edge18" class="edge">
<title>Node13&#45;&gt;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&#45;&gt;Node14 -->
<g id="edge16" class="edge">
<title>Node13&#45;&gt;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&#45;&gt;Node9 -->
<g id="edge17" class="edge">
<title>Node14&#45;&gt;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&#45;&gt;Node6 -->
<g id="edge27" class="edge">
<title>Node15&#45;&gt;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&#45;&gt;Node9 -->
<g id="edge26" class="edge">
<title>Node15&#45;&gt;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&#45;&gt;Node13 -->
<g id="edge20" class="edge">
<title>Node15&#45;&gt;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&#45;&gt;Node16 -->
<g id="edge21" class="edge">
<title>Node15&#45;&gt;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&#45;&gt;Node17 -->
<g id="edge22" class="edge">
<title>Node15&#45;&gt;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&#45;&gt;Node18 -->
<g id="edge25" class="edge">
<title>Node15&#45;&gt;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&#45;&gt;Node9 -->
<g id="edge24" class="edge">
<title>Node17&#45;&gt;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&#45;&gt;Node11 -->
<g id="edge23" class="edge">
<title>Node17&#45;&gt;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&#45;&gt;Node6 -->
<g id="edge34" class="edge">
<title>Node19&#45;&gt;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&#39;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&#45;&gt;Node20 -->
<g id="edge29" class="edge">
<title>Node19&#45;&gt;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&#45;&gt;Node22 -->
<g id="edge31" class="edge">
<title>Node19&#45;&gt;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&#45;&gt;Node23 -->
<g id="edge32" class="edge">
<title>Node19&#45;&gt;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&#45;&gt;Node21 -->
<g id="edge30" class="edge">
<title>Node20&#45;&gt;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&#45;&gt;Node24 -->
<g id="edge33" class="edge">
<title>Node23&#45;&gt;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

View File

@@ -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 &#45; 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&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<title>Node1&#45;&gt;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&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<title>Node1&#45;&gt;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&#45;&gt;Node9 -->
<g id="edge36" class="edge">
<title>Node1&#45;&gt;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&#45;&gt;Node10 -->
<g id="edge11" class="edge">
<title>Node1&#45;&gt;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&#45;&gt;Node11 -->
<g id="edge13" class="edge">
<title>Node1&#45;&gt;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&#45;&gt;Node12 -->
<g id="edge14" class="edge">
<title>Node1&#45;&gt;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&#45;&gt;Node4 -->
<g id="edge3" class="edge">
<title>Node3&#45;&gt;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&#45;&gt;Node5 -->
<g id="edge4" class="edge">
<title>Node4&#45;&gt;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&#45;&gt;Node7 -->
<g id="edge6" class="edge">
<title>Node4&#45;&gt;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&#45;&gt;Node8 -->
<g id="edge7" class="edge">
<title>Node4&#45;&gt;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&#45;&gt;Node9 -->
<g id="edge10" class="edge">
<title>Node4&#45;&gt;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&#45;&gt;Node6 -->
<g id="edge5" class="edge">
<title>Node5&#45;&gt;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&#45;&gt;Node6 -->
<g id="edge9" class="edge">
<title>Node8&#45;&gt;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&#45;&gt;Node9 -->
<g id="edge8" class="edge">
<title>Node8&#45;&gt;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&#45;&gt;Node4 -->
<g id="edge12" class="edge">
<title>Node10&#45;&gt;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&#45;&gt;Node13 -->
<g id="edge15" class="edge">
<title>Node12&#45;&gt;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&#45;&gt;Node15 -->
<g id="edge19" class="edge">
<title>Node12&#45;&gt;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&#45;&gt;Node19 -->
<g id="edge28" class="edge">
<title>Node12&#45;&gt;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&#45;&gt;Node25 -->
<g id="edge35" class="edge">
<title>Node12&#45;&gt;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&#45;&gt;Node9 -->
<g id="edge18" class="edge">
<title>Node13&#45;&gt;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&#45;&gt;Node14 -->
<g id="edge16" class="edge">
<title>Node13&#45;&gt;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&#45;&gt;Node9 -->
<g id="edge17" class="edge">
<title>Node14&#45;&gt;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&#45;&gt;Node6 -->
<g id="edge27" class="edge">
<title>Node15&#45;&gt;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&#45;&gt;Node9 -->
<g id="edge26" class="edge">
<title>Node15&#45;&gt;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&#45;&gt;Node13 -->
<g id="edge20" class="edge">
<title>Node15&#45;&gt;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&#45;&gt;Node16 -->
<g id="edge21" class="edge">
<title>Node15&#45;&gt;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&#45;&gt;Node17 -->
<g id="edge22" class="edge">
<title>Node15&#45;&gt;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&#45;&gt;Node18 -->
<g id="edge25" class="edge">
<title>Node15&#45;&gt;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&#45;&gt;Node9 -->
<g id="edge24" class="edge">
<title>Node17&#45;&gt;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&#45;&gt;Node11 -->
<g id="edge23" class="edge">
<title>Node17&#45;&gt;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&#45;&gt;Node6 -->
<g id="edge34" class="edge">
<title>Node19&#45;&gt;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&#39;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&#45;&gt;Node20 -->
<g id="edge29" class="edge">
<title>Node19&#45;&gt;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&#45;&gt;Node22 -->
<g id="edge31" class="edge">
<title>Node19&#45;&gt;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&#45;&gt;Node23 -->
<g id="edge32" class="edge">
<title>Node19&#45;&gt;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&#45;&gt;Node21 -->
<g id="edge30" class="edge">
<title>Node20&#45;&gt;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&#45;&gt;Node24 -->
<g id="edge33" class="edge">
<title>Node23&#45;&gt;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

View File

@@ -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 &#45; 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 &#45; 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&#39;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>

View File

@@ -0,0 +1 @@
81d7566d0b642c0502da0173e8e9e615

View File

@@ -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&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<title>Node1&#45;&gt;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&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<title>Node1&#45;&gt;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 &#45; 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&#45;&gt;Node4 -->
<g id="edge3" class="edge">
<title>Node1&#45;&gt;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 &#45; 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&#45;&gt;Node28 -->
<g id="edge40" class="edge">
<title>Node1&#45;&gt;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&#45;&gt;Node30 -->
<g id="edge49" class="edge">
<title>Node1&#45;&gt;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&#45;&gt;Node5 -->
<g id="edge4" class="edge">
<title>Node4&#45;&gt;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&#45;&gt;Node6 -->
<g id="edge5" class="edge">
<title>Node4&#45;&gt;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&#45;&gt;Node11 -->
<g id="edge39" class="edge">
<title>Node4&#45;&gt;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&#45;&gt;Node12 -->
<g id="edge14" class="edge">
<title>Node4&#45;&gt;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&#45;&gt;Node13 -->
<g id="edge16" class="edge">
<title>Node4&#45;&gt;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&#45;&gt;Node14 -->
<g id="edge17" class="edge">
<title>Node4&#45;&gt;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&#45;&gt;Node7 -->
<g id="edge6" class="edge">
<title>Node6&#45;&gt;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&#45;&gt;Node8 -->
<g id="edge7" class="edge">
<title>Node7&#45;&gt;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&#45;&gt;Node9 -->
<g id="edge9" class="edge">
<title>Node7&#45;&gt;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&#45;&gt;Node10 -->
<g id="edge10" class="edge">
<title>Node7&#45;&gt;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&#45;&gt;Node11 -->
<g id="edge13" class="edge">
<title>Node7&#45;&gt;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&#45;&gt;Node3 -->
<g id="edge8" class="edge">
<title>Node8&#45;&gt;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&#45;&gt;Node3 -->
<g id="edge12" class="edge">
<title>Node10&#45;&gt;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&#45;&gt;Node11 -->
<g id="edge11" class="edge">
<title>Node10&#45;&gt;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&#45;&gt;Node7 -->
<g id="edge15" class="edge">
<title>Node12&#45;&gt;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&#45;&gt;Node15 -->
<g id="edge18" class="edge">
<title>Node14&#45;&gt;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&#45;&gt;Node17 -->
<g id="edge22" class="edge">
<title>Node14&#45;&gt;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&#45;&gt;Node21 -->
<g id="edge31" class="edge">
<title>Node14&#45;&gt;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&#45;&gt;Node27 -->
<g id="edge38" class="edge">
<title>Node14&#45;&gt;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&#45;&gt;Node11 -->
<g id="edge21" class="edge">
<title>Node15&#45;&gt;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&#45;&gt;Node16 -->
<g id="edge19" class="edge">
<title>Node15&#45;&gt;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&#45;&gt;Node11 -->
<g id="edge20" class="edge">
<title>Node16&#45;&gt;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&#45;&gt;Node3 -->
<g id="edge30" class="edge">
<title>Node17&#45;&gt;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&#45;&gt;Node11 -->
<g id="edge29" class="edge">
<title>Node17&#45;&gt;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&#45;&gt;Node15 -->
<g id="edge23" class="edge">
<title>Node17&#45;&gt;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&#45;&gt;Node18 -->
<g id="edge24" class="edge">
<title>Node17&#45;&gt;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&#45;&gt;Node19 -->
<g id="edge25" class="edge">
<title>Node17&#45;&gt;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&#45;&gt;Node20 -->
<g id="edge28" class="edge">
<title>Node17&#45;&gt;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&#45;&gt;Node11 -->
<g id="edge27" class="edge">
<title>Node19&#45;&gt;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&#45;&gt;Node13 -->
<g id="edge26" class="edge">
<title>Node19&#45;&gt;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&#45;&gt;Node3 -->
<g id="edge37" class="edge">
<title>Node21&#45;&gt;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&#39;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&#45;&gt;Node22 -->
<g id="edge32" class="edge">
<title>Node21&#45;&gt;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&#45;&gt;Node24 -->
<g id="edge34" class="edge">
<title>Node21&#45;&gt;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&#45;&gt;Node25 -->
<g id="edge35" class="edge">
<title>Node21&#45;&gt;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&#45;&gt;Node23 -->
<g id="edge33" class="edge">
<title>Node22&#45;&gt;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&#45;&gt;Node26 -->
<g id="edge36" class="edge">
<title>Node25&#45;&gt;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&#45;&gt;Node5 -->
<g id="edge41" class="edge">
<title>Node28&#45;&gt;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&#45;&gt;Node6 -->
<g id="edge43" class="edge">
<title>Node28&#45;&gt;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&#45;&gt;Node9 -->
<g id="edge48" class="edge">
<title>Node28&#45;&gt;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&#45;&gt;Node11 -->
<g id="edge47" class="edge">
<title>Node28&#45;&gt;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&#45;&gt;Node12 -->
<g id="edge44" class="edge">
<title>Node28&#45;&gt;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&#45;&gt;Node13 -->
<g id="edge45" class="edge">
<title>Node28&#45;&gt;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&#45;&gt;Node14 -->
<g id="edge46" class="edge">
<title>Node28&#45;&gt;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&#45;&gt;Node29 -->
<g id="edge42" class="edge">
<title>Node28&#45;&gt;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

View File

@@ -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&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<title>Node1&#45;&gt;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&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<title>Node1&#45;&gt;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 &#45; 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&#45;&gt;Node4 -->
<g id="edge3" class="edge">
<title>Node1&#45;&gt;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 &#45; 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&#45;&gt;Node28 -->
<g id="edge40" class="edge">
<title>Node1&#45;&gt;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&#45;&gt;Node30 -->
<g id="edge49" class="edge">
<title>Node1&#45;&gt;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&#45;&gt;Node5 -->
<g id="edge4" class="edge">
<title>Node4&#45;&gt;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&#45;&gt;Node6 -->
<g id="edge5" class="edge">
<title>Node4&#45;&gt;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&#45;&gt;Node11 -->
<g id="edge39" class="edge">
<title>Node4&#45;&gt;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&#45;&gt;Node12 -->
<g id="edge14" class="edge">
<title>Node4&#45;&gt;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&#45;&gt;Node13 -->
<g id="edge16" class="edge">
<title>Node4&#45;&gt;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&#45;&gt;Node14 -->
<g id="edge17" class="edge">
<title>Node4&#45;&gt;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&#45;&gt;Node7 -->
<g id="edge6" class="edge">
<title>Node6&#45;&gt;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&#45;&gt;Node8 -->
<g id="edge7" class="edge">
<title>Node7&#45;&gt;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&#45;&gt;Node9 -->
<g id="edge9" class="edge">
<title>Node7&#45;&gt;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&#45;&gt;Node10 -->
<g id="edge10" class="edge">
<title>Node7&#45;&gt;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&#45;&gt;Node11 -->
<g id="edge13" class="edge">
<title>Node7&#45;&gt;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&#45;&gt;Node3 -->
<g id="edge8" class="edge">
<title>Node8&#45;&gt;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&#45;&gt;Node3 -->
<g id="edge12" class="edge">
<title>Node10&#45;&gt;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&#45;&gt;Node11 -->
<g id="edge11" class="edge">
<title>Node10&#45;&gt;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&#45;&gt;Node7 -->
<g id="edge15" class="edge">
<title>Node12&#45;&gt;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&#45;&gt;Node15 -->
<g id="edge18" class="edge">
<title>Node14&#45;&gt;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&#45;&gt;Node17 -->
<g id="edge22" class="edge">
<title>Node14&#45;&gt;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&#45;&gt;Node21 -->
<g id="edge31" class="edge">
<title>Node14&#45;&gt;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&#45;&gt;Node27 -->
<g id="edge38" class="edge">
<title>Node14&#45;&gt;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&#45;&gt;Node11 -->
<g id="edge21" class="edge">
<title>Node15&#45;&gt;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&#45;&gt;Node16 -->
<g id="edge19" class="edge">
<title>Node15&#45;&gt;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&#45;&gt;Node11 -->
<g id="edge20" class="edge">
<title>Node16&#45;&gt;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&#45;&gt;Node3 -->
<g id="edge30" class="edge">
<title>Node17&#45;&gt;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&#45;&gt;Node11 -->
<g id="edge29" class="edge">
<title>Node17&#45;&gt;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&#45;&gt;Node15 -->
<g id="edge23" class="edge">
<title>Node17&#45;&gt;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&#45;&gt;Node18 -->
<g id="edge24" class="edge">
<title>Node17&#45;&gt;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&#45;&gt;Node19 -->
<g id="edge25" class="edge">
<title>Node17&#45;&gt;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&#45;&gt;Node20 -->
<g id="edge28" class="edge">
<title>Node17&#45;&gt;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&#45;&gt;Node11 -->
<g id="edge27" class="edge">
<title>Node19&#45;&gt;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&#45;&gt;Node13 -->
<g id="edge26" class="edge">
<title>Node19&#45;&gt;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&#45;&gt;Node3 -->
<g id="edge37" class="edge">
<title>Node21&#45;&gt;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&#39;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&#45;&gt;Node22 -->
<g id="edge32" class="edge">
<title>Node21&#45;&gt;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&#45;&gt;Node24 -->
<g id="edge34" class="edge">
<title>Node21&#45;&gt;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&#45;&gt;Node25 -->
<g id="edge35" class="edge">
<title>Node21&#45;&gt;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&#45;&gt;Node23 -->
<g id="edge33" class="edge">
<title>Node22&#45;&gt;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&#45;&gt;Node26 -->
<g id="edge36" class="edge">
<title>Node25&#45;&gt;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&#45;&gt;Node5 -->
<g id="edge41" class="edge">
<title>Node28&#45;&gt;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&#45;&gt;Node6 -->
<g id="edge43" class="edge">
<title>Node28&#45;&gt;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&#45;&gt;Node9 -->
<g id="edge48" class="edge">
<title>Node28&#45;&gt;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&#45;&gt;Node11 -->
<g id="edge47" class="edge">
<title>Node28&#45;&gt;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&#45;&gt;Node12 -->
<g id="edge44" class="edge">
<title>Node28&#45;&gt;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&#45;&gt;Node13 -->
<g id="edge45" class="edge">
<title>Node28&#45;&gt;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&#45;&gt;Node14 -->
<g id="edge46" class="edge">
<title>Node28&#45;&gt;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&#45;&gt;Node29 -->
<g id="edge42" class="edge">
<title>Node28&#45;&gt;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

View File

@@ -0,0 +1,7 @@
<map id="operator&lt;&lt;" name="operator&lt;&lt;">
<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>

View File

@@ -0,0 +1 @@
54e66f6e545d0faf1069c1cc73397c39

View File

@@ -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&lt;&lt; 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&lt;&lt;</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&lt;&lt;</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&#45;&gt;Node2 -->
<g id="edge1" class="edge">
<title>Node1&#45;&gt;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&#45;&gt;Node3 -->
<g id="edge2" class="edge">
<title>Node1&#45;&gt;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&#45;&gt;Node4 -->
<g id="edge3" class="edge">
<title>Node1&#45;&gt;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&#45;&gt;Node5 -->
<g id="edge4" class="edge">
<title>Node1&#45;&gt;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

View File

@@ -140,7 +140,15 @@ $(document).ready(function(){initNavTree('d7/dba/cll_8h_source.html','../../');
</div><!-- fragment --></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="aclassciphers_1_1_hill_cipher_html_a12f727cca9e21f9539cd74b6603adf0c"><div class="ttname"><a href="../../d6/d26/classciphers_1_1_hill_cipher.html#a12f727cca9e21f9539cd74b6603adf0c">ciphers::HillCipher::get_idx_char</a></div><div class="ttdeci">static char get_idx_char(const uint8_t idx)</div><div class="ttdoc">Get the character at a given index in the STRKEY.</div><div class="ttdef"><b>Definition:</b> hill_cipher.cpp:182</div></div>
<div class="ttc" id="aclassciphers_1_1_hill_cipher_html_ad667fa0860977f6d6d443fa1dbcd80aa"><div class="ttname"><a href="../../d6/d26/classciphers_1_1_hill_cipher.html#ad667fa0860977f6d6d443fa1dbcd80aa">ciphers::HillCipher::codec</a></div><div class="ttdeci">static const std::string codec(const std::string &amp;text, const matrix&lt; int &gt; &amp;key)</div><div class="ttdoc">Convenience function to perform block cipher operations. The operations are identical for both encryp...</div><div class="ttdef"><b>Definition:</b> hill_cipher.cpp:210</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="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="aclassciphers_1_1_hill_cipher_html_a7ca10cd1a0e8e3732391e0427d2d0213"><div class="ttname"><a href="../../d6/d26/classciphers_1_1_hill_cipher.html#a7ca10cd1a0e8e3732391e0427d2d0213">ciphers::HillCipher::generate_encryption_key</a></div><div class="ttdeci">static matrix&lt; int &gt; generate_encryption_key(size_t size, int limit1=0, int limit2=10)</div><div class="ttdoc">Generate encryption matrix of a given size. Larger size matrices are difficult to generate but provid...</div><div class="ttdef"><b>Definition:</b> hill_cipher.cpp:339</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="aclassgraph_html"><div class="ttname"><a href="../../dd/d9b/classgraph.html">graph</a></div><div class="ttdef"><b>Definition:</b> bfs.cpp:3</div></div>
<div class="ttc" id="aclassciphers_1_1_hill_cipher_html"><div class="ttname"><a href="../../d6/d26/classciphers_1_1_hill_cipher.html">ciphers::HillCipher</a></div><div class="ttdoc">Implementation of Hill Cipher algorithm.</div><div class="ttdef"><b>Definition:</b> hill_cipher.cpp:81</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="aavltree_8cpp_html_a8286388b0743a716145639df3a33e541"><div class="ttname"><a href="../../d8/dee/avltree_8cpp.html#a8286388b0743a716145639df3a33e541">deleteNode</a></div><div class="ttdeci">node * deleteNode(node *root, int key)</div><div class="ttdef"><b>Definition:</b> avltree.cpp:88</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>
@@ -149,38 +157,68 @@ $(document).ready(function(){initNavTree('d7/dba/cll_8h_source.html','../../');
<div class="ttc" id="aclass_min_heap_html_ae4d358bf063bb196a1945b3fb99b4913"><div class="ttname"><a href="../../d2/d05/class_min_heap.html#ae4d358bf063bb196a1945b3fb99b4913">MinHeap::heap_size</a></div><div class="ttdeci">int heap_size</div><div class="ttdoc">Current number of elements in min heap.</div><div class="ttdef"><b>Definition:</b> binaryheap.cpp:13</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="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="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 &amp;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="aclass_min_heap_html_aa7f726cc6327955d22871592227432f5"><div class="ttname"><a href="../../d2/d05/class_min_heap.html#aa7f726cc6327955d22871592227432f5">MinHeap::decreaseKey</a></div><div class="ttdeci">void decreaseKey(int i, int new_val)</div><div class="ttdef"><b>Definition:</b> binaryheap.cpp:76</div></div>
<div class="ttc" id="aavltree_8cpp_html_ae197eb50188fb761346952b9b5f6be59"><div class="ttname"><a href="../../d8/dee/avltree_8cpp.html#ae197eb50188fb761346952b9b5f6be59">levelOrder</a></div><div class="ttdeci">void levelOrder(node *root)</div><div class="ttdef"><b>Definition:</b> avltree.cpp:119</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="anamespaceciphers_html"><div class="ttname"><a href="../../d6/d4e/namespaceciphers.html">ciphers</a></div><div class="ttdoc">Algorithms for encryption and decryption.</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="aclassciphers_1_1_hill_cipher_html_a7760f3665651a0a37937c79c62f219c0"><div class="ttname"><a href="../../d6/d26/classciphers_1_1_hill_cipher.html#a7760f3665651a0a37937c79c62f219c0">ciphers::HillCipher::gcd</a></div><div class="ttdeci">static const T gcd(T a, T b)</div><div class="ttdoc">Compute GCD of two integers using Euler's algorithm.</div><div class="ttdef"><b>Definition:</b> hill_cipher.cpp:138</div></div>
<div class="ttc" id="aclass_min_heap_html_aef78f3384f5a0ae880ad0883d2d44b82"><div class="ttname"><a href="../../d2/d05/class_min_heap.html#aef78f3384f5a0ae880ad0883d2d44b82">MinHeap::insertKey</a></div><div class="ttdeci">void insertKey(int k)</div><div class="ttdef"><b>Definition:</b> binaryheap.cpp:55</div></div>
<div class="ttc" id="aavltree_8cpp_html_a1ecfaaea49d452772dbb2b28133e36e0"><div class="ttname"><a href="../../d8/dee/avltree_8cpp.html#a1ecfaaea49d452772dbb2b28133e36e0">createNode</a></div><div class="ttdeci">node * createNode(int data)</div><div class="ttdef"><b>Definition:</b> avltree.cpp:21</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="aisfinite_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/numeric/math/isfinite.html">std::isfinite</a></div><div class="ttdeci">T isfinite(T... args)</div></div>
<div class="ttc" id="aclasscll_html"><div class="ttname"><a href="../../d5/d15/classcll.html">cll</a></div><div class="ttdef"><b>Definition:</b> cll.h:17</div></div>
<div class="ttc" id="aclass_min_heap_html_a88b4aa3e66392a3eabbf2517a9a79a02"><div class="ttname"><a href="../../d2/d05/class_min_heap.html#a88b4aa3e66392a3eabbf2517a9a79a02">MinHeap::capacity</a></div><div class="ttdeci">int capacity</div><div class="ttdoc">maximum possible size of min heap</div><div class="ttdef"><b>Definition:</b> binaryheap.cpp:12</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="aclassciphers_1_1_hill_cipher_html_a5a4cdbd4d4dad9efe2ed309bd466dd4b"><div class="ttname"><a href="../../d6/d26/classciphers_1_1_hill_cipher.html#a5a4cdbd4d4dad9efe2ed309bd466dd4b">ciphers::HillCipher::get_inverse</a></div><div class="ttdeci">static matrix&lt; double &gt; get_inverse(matrix&lt; T &gt; const &amp;A)</div><div class="ttdef"><b>Definition:</b> hill_cipher.cpp:250</div></div>
<div class="ttc" id="aclassciphers_1_1_hill_cipher_html_abb2c4dc2b8a59d3dfe0fa22c2adc086b"><div class="ttname"><a href="../../d6/d26/classciphers_1_1_hill_cipher.html#abb2c4dc2b8a59d3dfe0fa22c2adc086b">ciphers::HillCipher::generate_decryption_key</a></div><div class="ttdeci">static matrix&lt; int &gt; generate_decryption_key(matrix&lt; int &gt; const &amp;encrypt_key)</div><div class="ttdoc">Generate decryption matrix from an encryption matrix key.</div><div class="ttdef"><b>Definition:</b> hill_cipher.cpp:371</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="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="aclass_min_heap_html_a34a93a87967308eb516328c0aca3c48e"><div class="ttname"><a href="../../d2/d05/class_min_heap.html#a34a93a87967308eb516328c0aca3c48e">MinHeap::harr</a></div><div class="ttdeci">int * harr</div><div class="ttdoc">pointer to array of elements in heap</div><div class="ttdef"><b>Definition:</b> binaryheap.cpp:11</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="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 &amp;text, const matrix&lt; int &gt; &amp;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="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 &amp;text, const matrix&lt; int &gt; &amp;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="aclose_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/io/basic_ofstream/close.html">std::ofstream::close</a></div><div class="ttdeci">T close(T... args)</div></div>
<div class="ttc" id="aclass_min_heap_html_aaef438c1056492cb62c4a4d9035b5cad"><div class="ttname"><a href="../../d2/d05/class_min_heap.html#aaef438c1056492cb62c4a4d9035b5cad">MinHeap::MinHeapify</a></div><div class="ttdeci">void MinHeapify(int)</div><div class="ttdef"><b>Definition:</b> binaryheap.cpp:113</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="aavltree_8cpp_html_ae4a66d8b0c2b0d626aea45977e358c83"><div class="ttname"><a href="../../d8/dee/avltree_8cpp.html#ae4a66d8b0c2b0d626aea45977e358c83">height</a></div><div class="ttdeci">int height(node *root)</div><div class="ttdef"><b>Definition:</b> avltree.cpp:31</div></div>
<div class="ttc" id="aavltree_8cpp_html_a4d93589966920b2756b84f8b92c54d1c"><div class="ttname"><a href="../../d8/dee/avltree_8cpp.html#a4d93589966920b2756b84f8b92c54d1c">rightRotate</a></div><div class="ttdeci">node * rightRotate(node *root)</div><div class="ttdef"><b>Definition:</b> avltree.cpp:41</div></div>
<div class="ttc" id="aclassciphers_1_1_hill_cipher_html_ae77cad522fa44b8c985779a7188d2f41"><div class="ttname"><a href="../../d6/d26/classciphers_1_1_hill_cipher.html#ae77cad522fa44b8c985779a7188d2f41">ciphers::HillCipher::get_char_idx</a></div><div class="ttdeci">static uint8_t get_char_idx(const char ch)</div><div class="ttdoc">Get the index of a character in the STRKEY.</div><div class="ttdef"><b>Definition:</b> hill_cipher.cpp:190</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="aclass_min_heap_html_aa8c6c141e3de664819686aa637e1afca"><div class="ttname"><a href="../../d2/d05/class_min_heap.html#aa8c6c141e3de664819686aa637e1afca">MinHeap::left</a></div><div class="ttdeci">int left(int i)</div><div class="ttdef"><b>Definition:</b> binaryheap.cpp:31</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="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 &amp;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&lt; matrix&lt; int &gt;, matrix&lt; int &gt; &gt; 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="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="aavltree_8cpp_html_adb8e952bf1c266bae84111b9d6a12015"><div class="ttname"><a href="../../d8/dee/avltree_8cpp.html#adb8e952bf1c266bae84111b9d6a12015">minValue</a></div><div class="ttdeci">node * minValue(node *root)</div><div class="ttdef"><b>Definition:</b> avltree.cpp:59</div></div>
<div class="ttc" id="aclassciphers_1_1_hill_cipher_html_a716d0313141499d16f57c0c107f04395"><div class="ttname"><a href="../../d6/d26/classciphers_1_1_hill_cipher.html#a716d0313141499d16f57c0c107f04395">ciphers::HillCipher::rand_range</a></div><div class="ttdeci">static double rand_range(matrix&lt; T2 &gt; *M, T1 a, T1 b)</div><div class="ttdoc">Function overload to fill a matrix with random integers in a given interval.</div><div class="ttdef"><b>Definition:</b> hill_cipher.cpp:118</div></div>
<div class="ttc" id="around_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/numeric/math/round.html">std::round</a></div><div class="ttdeci">T round(T... args)</div></div>
<div class="ttc" id="aclassqueue_html_a36d47fdbedc199609818385110d9f922"><div class="ttname"><a href="../../db/da9/classqueue.html#a36d47fdbedc199609818385110d9f922">queue::front</a></div><div class="ttdeci">Kind front()</div><div class="ttdef"><b>Definition:</b> queue.h:61</div></div>
<div class="ttc" id="aclassqueue_html"><div class="ttname"><a href="../../db/da9/classqueue.html">queue</a></div><div class="ttdef"><b>Definition:</b> queue.h:17</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="aclass_min_heap_html_a078cb888e642bb1f95dd0e03f0a35820"><div class="ttname"><a href="../../d2/d05/class_min_heap.html#a078cb888e642bb1f95dd0e03f0a35820">MinHeap::MinHeap</a></div><div class="ttdeci">MinHeap(int cap)</div><div class="ttdef"><b>Definition:</b> binaryheap.cpp:19</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="aavltree_8cpp_html_ae66f6b31b5ad750f1fe042a706a4e3d4"><div class="ttname"><a href="../../d8/dee/avltree_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a></div><div class="ttdeci">int main()</div><div class="ttdef"><b>Definition:</b> avltree.cpp:134</div></div>
<div class="ttc" id="alu__decomposition_8h_html_a3108d43bd32c6fb3b3c158476c51ba7f"><div class="ttname"><a href="../../d1/dbe/lu__decomposition_8h.html#a3108d43bd32c6fb3b3c158476c51ba7f">determinant_lu</a></div><div class="ttdeci">double determinant_lu(const matrix&lt; T &gt; &amp;A)</div><div class="ttdef"><b>Definition:</b> lu_decomposition.h:90</div></div>
<div class="ttc" id="aclassciphers_1_1_hill_cipher_html_a629be41c1ab78850963e4ce14e1d11d9"><div class="ttname"><a href="../../d6/d26/classciphers_1_1_hill_cipher.html#a629be41c1ab78850963e4ce14e1d11d9">ciphers::HillCipher::rand_range</a></div><div class="ttdeci">static const T2 rand_range(T1 a, T1 b)</div><div class="ttdoc">Function to generate a random integer in a given interval.</div><div class="ttdef"><b>Definition:</b> hill_cipher.cpp:92</div></div>
<div class="ttc" id="ahill__cipher_8cpp_html_aeff09ac6b8f060c828354394a3189519"><div class="ttname"><a href="../../d7/db9/hill__cipher_8cpp.html#aeff09ac6b8f060c828354394a3189519">operator&lt;&lt;</a></div><div class="ttdeci">static std::ostream &amp; operator&lt;&lt;(std::ostream &amp;out, matrix&lt; T &gt; const &amp;v)</div><div class="ttdef"><b>Definition:</b> hill_cipher.cpp:54</div></div>
<div class="ttc" id="amake_pair_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/utility/pair/make_pair.html">std::make_pair</a></div><div class="ttdeci">T make_pair(T... args)</div></div>
<div class="ttc" id="atime_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/chrono/c/time.html">std::time</a></div><div class="ttdeci">T time(T... args)</div></div>
<div class="ttc" id="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="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="aavltree_8cpp_html_aed58f3cea338a9d7bdcb9a4cfc6c7a78"><div class="ttname"><a href="../../d8/dee/avltree_8cpp.html#aed58f3cea338a9d7bdcb9a4cfc6c7a78">leftRotate</a></div><div class="ttdeci">node * leftRotate(node *root)</div><div class="ttdef"><b>Definition:</b> avltree.cpp:50</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="aclassciphers_1_1_hill_cipher_html_a40efd842a5cc44c233641ac2df13b0c0"><div class="ttname"><a href="../../d6/d26/classciphers_1_1_hill_cipher.html#a40efd842a5cc44c233641ac2df13b0c0">ciphers::HillCipher::mat_mul</a></div><div class="ttdeci">static const std::valarray&lt; uint8_t &gt; mat_mul(const std::valarray&lt; uint8_t &gt; &amp;vector, const matrix&lt; int &gt; &amp;key)</div><div class="ttdoc">helper function to perform vector multiplication with encryption or decryption matrix</div><div class="ttdef"><b>Definition:</b> hill_cipher.cpp:159</div></div>
<div class="ttc" id="aclass_min_heap_html_a336ac71f0d857269fe9a98058a3cd130"><div class="ttname"><a href="../../d2/d05/class_min_heap.html#a336ac71f0d857269fe9a98058a3cd130">MinHeap::getMin</a></div><div class="ttdeci">int getMin()</div><div class="ttdef"><b>Definition:</b> binaryheap.cpp:43</div></div>
<div class="ttc" id="adata_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/data.html">std::vector::data</a></div><div class="ttdeci">T data(T... args)</div></div>
<div class="ttc" id="aexit_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/utility/program/exit.html">std::exit</a></div><div class="ttdeci">T exit(T... args)</div></div>
<div class="ttc" id="aavltree_8cpp_html_aaa457ffec24c9643f2768e7a65e96546"><div class="ttname"><a href="../../d8/dee/avltree_8cpp.html#aaa457ffec24c9643f2768e7a65e96546">getBalance</a></div><div class="ttdeci">int getBalance(node *root)</div><div class="ttdef"><b>Definition:</b> avltree.cpp:38</div></div>
<div class="ttc" id="astruct_queue_html"><div class="ttname"><a href="../../dc/db5/struct_queue.html">Queue</a></div><div class="ttdef"><b>Definition:</b> binary_search_tree.cpp:17</div></div>
<div class="ttc" id="aclass_min_heap_html_a4014f1edaed0bd7db0c0d2ca53228980"><div class="ttname"><a href="../../d2/d05/class_min_heap.html#a4014f1edaed0bd7db0c0d2ca53228980">MinHeap::extractMin</a></div><div class="ttdeci">int extractMin()</div><div class="ttdef"><b>Definition:</b> binaryheap.cpp:85</div></div>

View File

@@ -251,6 +251,7 @@ $(document).ready(function(){initNavTree('d7/de0/stack_8h_source.html','../../')
<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="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="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="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="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="aclassstack__linked_list_html"><div class="ttname"><a href="../../d2/dc4/classstack__linked_list.html">stack_linkedList</a></div><div class="ttdef"><b>Definition:</b> queue_using_linkedlist.cpp:10</div></div>
<div class="ttc" id="astructlinkedlist_html"><div class="ttname"><a href="../../d0/dff/structlinkedlist.html">linkedlist</a></div><div class="ttdef"><b>Definition:</b> queue_using_linkedlist.cpp:6</div></div>
@@ -264,7 +265,6 @@ $(document).ready(function(){initNavTree('d7/de0/stack_8h_source.html','../../')
<div class="ttc" id="aclassstack_html_a61370d5fbaf9ec6bca4a8c114c1058e1"><div class="ttname"><a href="../../d1/dc2/classstack.html#a61370d5fbaf9ec6bca4a8c114c1058e1">stack::operator=</a></div><div class="ttdeci">stack&lt; Type &gt; &amp; operator=(const stack&lt; Type &gt; &amp;otherStack)</div><div class="ttdef"><b>Definition:</b> stack.h:115</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="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="aavltree_8cpp_html_ae66f6b31b5ad750f1fe042a706a4e3d4"><div class="ttname"><a href="../../d8/dee/avltree_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a></div><div class="ttdeci">int main()</div><div class="ttdef"><b>Definition:</b> avltree.cpp:134</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="aclass_queue___array_html"><div class="ttname"><a href="../../d0/dd2/class_queue___array.html">Queue_Array</a></div><div class="ttdef"><b>Definition:</b> queue_using_array.cpp:13</div></div>
<div class="ttc" id="aclassstack_html_a67f65710c376f67d1ba3bde45a9cb628"><div class="ttname"><a href="../../d1/dc2/classstack.html#a67f65710c376f67d1ba3bde45a9cb628">stack::display</a></div><div class="ttdeci">void display()</div><div class="ttdef"><b>Definition:</b> stack.h:29</div></div>

View File

@@ -200,6 +200,7 @@ $(document).ready(function(){initNavTree('d8/d38/queue_8h_source.html','../../')
<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="aclassqueue_html_a592c0580551ec0d3b4d43e8198d8a377"><div class="ttname"><a href="../../db/da9/classqueue.html#a592c0580551ec0d3b4d43e8198d8a377">queue::enQueue</a></div><div class="ttdeci">void enQueue(Kind item)</div><div class="ttdef"><b>Definition:</b> queue.h:45</div></div>
<div class="ttc" id="aclassqueue_html_ac2fff88dce4d7d2eb7134af382bd1b31"><div class="ttname"><a href="../../db/da9/classqueue.html#ac2fff88dce4d7d2eb7134af382bd1b31">queue::isEmptyQueue</a></div><div class="ttdeci">bool isEmptyQueue()</div><div class="ttdef"><b>Definition:</b> queue.h:42</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="aclasscll_html"><div class="ttname"><a href="../../d5/d15/classcll.html">cll</a></div><div class="ttdef"><b>Definition:</b> cll.h:17</div></div>
<div class="ttc" id="aclassqueue_html_ab2019d91e28c06de325fb3076b93a930"><div class="ttname"><a href="../../db/da9/classqueue.html#ab2019d91e28c06de325fb3076b93a930">queue::clear</a></div><div class="ttdeci">void clear()</div><div class="ttdef"><b>Definition:</b> queue.h:80</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>
@@ -217,7 +218,6 @@ $(document).ready(function(){initNavTree('d8/d38/queue_8h_source.html','../../')
<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="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="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="aavltree_8cpp_html_ae66f6b31b5ad750f1fe042a706a4e3d4"><div class="ttname"><a href="../../d8/dee/avltree_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a></div><div class="ttdeci">int main()</div><div class="ttdef"><b>Definition:</b> avltree.cpp:134</div></div>
<div class="ttc" id="alinkedlist__implentation__usingarray_8cpp_html_a08ba214242a900e7251cec556b592f02"><div class="ttname"><a href="../../d3/dce/linkedlist__implentation__usingarray_8cpp.html#a08ba214242a900e7251cec556b592f02">freeNode</a></div><div class="ttdeci">void freeNode(int nodeToBeDeleted)</div><div class="ttdef"><b>Definition:</b> linkedlist_implentation_usingarray.cpp:42</div></div>
<div class="ttc" id="adisjoint__set_8cpp_html_a44481bb75386fbb0f958a388d4b9f757"><div class="ttname"><a href="../../de/d23/disjoint__set_8cpp.html#a44481bb75386fbb0f958a388d4b9f757">Union</a></div><div class="ttdeci">void Union(int x, int y)</div><div class="ttdef"><b>Definition:</b> disjoint_set.cpp:78</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>

View File

@@ -147,7 +147,7 @@ Functions</h2></td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>A simple tree implementation using nodes. </p>
<dl class="todo"><dt><b><a class="el" href="../../dd/da0/todo.html#_todo000001">Todo:</a></b></dt><dd>update code to use C++ STL library features and OO structure </dd></dl>
<dl class="todo"><dt><b><a class="el" href="../../dd/da0/todo.html#_todo000002">Todo:</a></b></dt><dd>update code to use C++ STL library features and OO structure </dd></dl>
<dl class="section warning"><dt>Warning</dt><dd>This program is a poor implementation and does not utilize any of the C++ STL features. </dd></dl>
</div><h2 class="groupheader">Function Documentation</h2>
<a id="a1ecfaaea49d452772dbb2b28133e36e0"></a>
@@ -471,247 +471,22 @@ Functions</h2></td></tr>
</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="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="aavltree_8cpp_html_a8286388b0743a716145639df3a33e541"><div class="ttname"><a href="../../d8/dee/avltree_8cpp.html#a8286388b0743a716145639df3a33e541">deleteNode</a></div><div class="ttdeci">node * deleteNode(node *root, int key)</div><div class="ttdef"><b>Definition:</b> avltree.cpp:88</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&lt; vector&lt; ll &gt; &gt; multiply(const vector&lt; vector&lt; ll &gt;&gt; &amp;A, const vector&lt; vector&lt; ll &gt;&gt; &amp;B)</div><div class="ttdef"><b>Definition:</b> matrix_exponentiation.cpp:57</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="aavltree_8cpp_html_ae197eb50188fb761346952b9b5f6be59"><div class="ttname"><a href="../../d8/dee/avltree_8cpp.html#ae197eb50188fb761346952b9b5f6be59">levelOrder</a></div><div class="ttdeci">void levelOrder(node *root)</div><div class="ttdef"><b>Definition:</b> avltree.cpp:119</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&lt; std::valarray&lt; double &gt;&gt; &amp;A, const std::valarray&lt; std::valarray&lt; double &gt;&gt; &amp;B, std::valarray&lt; std::valarray&lt; double &gt;&gt; *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 &amp;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 &amp;text, const std::string &amp;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&lt; std::valarray&lt; double &gt;&gt; *A)</div><div class="ttdef"><b>Definition:</b> qr_eigen_values.cpp:28</div></div>
<div class="ttc" id="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&lt; std::vector&lt; std::string &gt; &gt; 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&lt; double &gt; eigen_values(std::valarray&lt; std::valarray&lt; double &gt;&gt; *A, bool print_intermediates=false)</div><div class="ttdef"><b>Definition:</b> qr_eigen_values.cpp:98</div></div>
<div class="ttc" id="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 &amp;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="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="aavltree_8cpp_html_a1ecfaaea49d452772dbb2b28133e36e0"><div class="ttname"><a href="../../d8/dee/avltree_8cpp.html#a1ecfaaea49d452772dbb2b28133e36e0">createNode</a></div><div class="ttdeci">node * createNode(int data)</div><div class="ttdef"><b>Definition:</b> avltree.cpp:21</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="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&lt; int &gt; &amp;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="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="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 &amp;str1, const std::string &amp;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 &amp;A, const Point &amp;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="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="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 &amp;pattern, const std::string &amp;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="aavltree_8cpp_html_ae4a66d8b0c2b0d626aea45977e358c83"><div class="ttname"><a href="../../d8/dee/avltree_8cpp.html#ae4a66d8b0c2b0d626aea45977e358c83">height</a></div><div class="ttdeci">int height(node *root)</div><div class="ttdef"><b>Definition:</b> avltree.cpp:31</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 &amp;A, const Point &amp;B, const Point &amp;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="aavltree_8cpp_html_a4d93589966920b2756b84f8b92c54d1c"><div class="ttname"><a href="../../d8/dee/avltree_8cpp.html#a4d93589966920b2756b84f8b92c54d1c">rightRotate</a></div><div class="ttdeci">node * rightRotate(node *root)</div><div class="ttdef"><b>Definition:</b> avltree.cpp:41</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&lt; int &gt; *s1, std::vector&lt; int &gt; *s2, std::vector&lt; int &gt; *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&lt; ll &gt; 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&lt; Point &gt; &amp;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="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="aavltree_8cpp_html_adb8e952bf1c266bae84111b9d6a12015"><div class="ttname"><a href="../../d8/dee/avltree_8cpp.html#adb8e952bf1c266bae84111b9d6a12015">minValue</a></div><div class="ttdeci">node * minValue(node *root)</div><div class="ttdef"><b>Definition:</b> avltree.cpp:59</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="aavltree_8cpp_html_ae66f6b31b5ad750f1fe042a706a4e3d4"><div class="ttname"><a href="../../d8/dee/avltree_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">main</a></div><div class="ttdeci">int main()</div><div class="ttdef"><b>Definition:</b> avltree.cpp:134</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&lt; vector&lt; ll &gt; &gt; power(const vector&lt; vector&lt; ll &gt;&gt; &amp;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&lt; std::valarray&lt; T &gt;&gt; &amp;A, std::valarray&lt; std::valarray&lt; T &gt;&gt; *Q, std::valarray&lt; std::valarray&lt; T &gt;&gt; *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="aavltree_8cpp_html_aed58f3cea338a9d7bdcb9a4cfc6c7a78"><div class="ttname"><a href="../../d8/dee/avltree_8cpp.html#aed58f3cea338a9d7bdcb9a4cfc6c7a78">leftRotate</a></div><div class="ttdeci">node * leftRotate(node *root)</div><div class="ttdef"><b>Definition:</b> avltree.cpp:50</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="adata_html"><div class="ttname"><a href="http://en.cppreference.com/w/cpp/container/vector/data.html">std::vector::data</a></div><div class="ttdeci">T data(T... args)</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&lt; int &gt; getFailureArray(const std::string &amp;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 &amp;str, const std::string &amp;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&lt; Point &gt; &amp;P, const Point &amp;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="aavltree_8cpp_html_aaa457ffec24c9643f2768e7a65e96546"><div class="ttname"><a href="../../d8/dee/avltree_8cpp.html#aaa457ffec24c9643f2768e7a65e96546">getBalance</a></div><div class="ttdeci">int getBalance(node *root)</div><div class="ttdef"><b>Definition:</b> avltree.cpp:38</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&lt; T &gt; *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>

View File

@@ -160,7 +160,7 @@ template&lt;class X &gt; </div>
</tr>
</table>
</div><div class="memdoc">
<dl class="todo"><dt><b><a class="el" href="../../dd/da0/todo.html#_todo000011">Todo:</a></b></dt><dd>add documentation </dd></dl>
<dl class="todo"><dt><b><a class="el" href="../../dd/da0/todo.html#_todo000012">Todo:</a></b></dt><dd>add documentation </dd></dl>
<div class="fragment"><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; {</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160; <span class="keywordflow">if</span> (s1-&gt;<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>() &gt;= x &amp;&amp; s1-&gt;<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>() + s2-&gt;<a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/container/vector/size.html">size</a>() &lt; x) {</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; <a class="codeRef" target="_blank" href="http://en.cppreference.com/w/cpp/io/basic_ostream.html">std::cout</a> &lt;&lt; (*s2)[0] &lt;&lt; <span class="stringliteral">&quot; is the &quot;</span> &lt;&lt; x + 1 &lt;&lt; <span class="stringliteral">&quot;th element from front&quot;</span>;</div>

View File

@@ -141,7 +141,7 @@ char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="../.
<dl class="section note"><dt>Note</dt><dd>Do not know the application of this, however. </dd>
<dd>
Implementation is C-type and does not utilize the C++ constructs </dd></dl>
<dl class="todo"><dt><b><a class="el" href="../../dd/da0/todo.html#_todo000007">Todo:</a></b></dt><dd>implement as a C++ class </dd></dl>
<dl class="todo"><dt><b><a class="el" href="../../dd/da0/todo.html#_todo000008">Todo:</a></b></dt><dd>implement as a C++ class </dd></dl>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a id="a392fb874e547e582e9c66a08a1f23326"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a392fb874e547e582e9c66a08a1f23326">&#9670;&nbsp;</a></span>MAX</h2>

View File

@@ -185,7 +185,7 @@ Functions</h2></td></tr>
</tr>
</table>
</div><div class="memdoc">
<p>get_input function is to receive input from standard IO </p><dl class="todo"><dt><b><a class="el" href="../../dd/da0/todo.html#_todo000012">Todo:</a></b></dt><dd>@christianbender Get input from STDIO or write input to memory as done above. </dd></dl>
<p>get_input function is to receive input from standard IO </p><dl class="todo"><dt><b><a class="el" href="../../dd/da0/todo.html#_todo000013">Todo:</a></b></dt><dd>@christianbender Get input from STDIO or write input to memory as done above. </dd></dl>
<div class="fragment"><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;{}</div>
</div><!-- fragment -->
</div>

View File

@@ -233,7 +233,7 @@ Here is the call graph for this function:</div>
</tr>
</table>
</div><div class="memdoc">
<p>Test LU decomposition </p><dl class="todo"><dt><b><a class="el" href="../../dd/da0/todo.html#_todo000004">Todo:</a></b></dt><dd>better ways to self-check a matrix output? </dd></dl>
<p>Test LU decomposition </p><dl class="todo"><dt><b><a class="el" href="../../dd/da0/todo.html#_todo000005">Todo:</a></b></dt><dd>better ways to self-check a matrix output? </dd></dl>
<div class="fragment"><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; {</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <span class="keywordtype">int</span> <a class="code" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a> = 3; <span class="comment">// default matrix size</span></div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; <span class="keyword">const</span> <span class="keywordtype">int</span> range = 50;</div>

View File

@@ -95,30 +95,32 @@ $(document).ready(function(){initNavTree('dd/da0/todo.html','../../'); initResiz
</div><!--header-->
<div class="contents">
<div class="textblock"><dl class="reflist">
<dt>File <a class="el" href="../../d7/db9/hill__cipher_8cpp.html">hill_cipher.cpp</a> </dt>
<dd><a class="anchor" id="_todo000001"></a>Better matrix generation algorithm. </dd>
<dt>File <a class="el" href="../../d8/dee/avltree_8cpp.html">avltree.cpp</a> </dt>
<dd><a class="anchor" id="_todo000001"></a>update code to use C++ STL library features and OO structure </dd>
<dt>File <a class="el" href="../../d3/d26/binary__search__tree_8cpp.html">binary_search_tree.cpp</a> </dt>
<dd><a class="anchor" id="_todo000002"></a>update code to use C++ STL library features and OO structure </dd>
<dt>File <a class="el" href="../../d3/d26/binary__search__tree_8cpp.html">binary_search_tree.cpp</a> </dt>
<dd><a class="anchor" id="_todo000003"></a>update code to use C++ STL library features and OO structure </dd>
<dt>File <a class="el" href="../../d7/d00/list__array_8cpp.html">list_array.cpp</a> </dt>
<dd><a class="anchor" id="_todo000003"></a>Add documentation </dd>
<dd><a class="anchor" id="_todo000004"></a>Add documentation </dd>
<dt>Member <a class="el" href="../../dd/d65/lu__decompose_8cpp.html#a1440a7779ac56f47a3f355ce4a8c7da0">test1</a> ()</dt>
<dd><a class="anchor" id="_todo000004"></a>better ways to self-check a matrix output? </dd>
<dd><a class="anchor" id="_todo000005"></a>better ways to self-check a matrix output? </dd>
<dt>Member <a class="el" href="../../d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54">mat_size</a> </dt>
<dd><a class="anchor" id="_todo000005"></a>@stepfencurryxiao add documetnation </dd>
<dt>Member <a class="el" href="../../d7/d35/matrix__exponentiation_8cpp.html#a35b7c98af53ad2ec18658679ad7d43de">fib_b</a> </dt>
<dd><a class="anchor" id="_todo000006"></a>@stepfencurryxiao add documetnation </dd>
<dt>Member <a class="el" href="../../d7/d35/matrix__exponentiation_8cpp.html#a35b7c98af53ad2ec18658679ad7d43de">fib_b</a> </dt>
<dd><a class="anchor" id="_todo000007"></a>@stepfencurryxiao add documetnation </dd>
<dt>File <a class="el" href="../../dc/dc5/paranthesis__matching_8cpp.html">paranthesis_matching.cpp</a> </dt>
<dd><a class="anchor" id="_todo000007"></a>implement as a C++ class </dd>
<dd><a class="anchor" id="_todo000008"></a>implement as a C++ class </dd>
<dt>Member <a class="el" href="../../d0/d01/smallest__circle_8cpp.html#a6d0455dd5c30adda100e95f0423c786e">test3</a> ()</dt>
<dd><a class="anchor" id="_todo000008"></a>This test fails </dd>
<dd><a class="anchor" id="_todo000009"></a>This test fails </dd>
<dt>File <a class="el" href="../../d1/df3/hash__search_8cpp.html">hash_search.cpp</a> </dt>
<dd><a class="anchor" id="_todo000009"></a>fix the program for memory leaks and better structure in C++ and not C fashion </dd>
<dd><a class="anchor" id="_todo000010"></a>fix the program for memory leaks and better structure in C++ and not C fashion </dd>
<dt>Member <a class="el" href="../../d1/df3/hash__search_8cpp.html#ad0831425f1389166a9518f422d0c6ec5">create_list</a> (int key)</dt>
<dd><a class="anchor" id="_todo000010"></a>fix memory leak </dd>
<dd><a class="anchor" id="_todo000011"></a>fix memory leak </dd>
<dt>Member <a class="el" href="../../d9/d69/median__search_8cpp.html#a3a66390d0e407dce4fcbf63a169c6c8f">comp</a> (X x, std::vector&lt; int &gt; *s1, std::vector&lt; int &gt; *s2, std::vector&lt; int &gt; *s3)</dt>
<dd><a class="anchor" id="_todo000011"></a>add documentation </dd>
<dd><a class="anchor" id="_todo000012"></a>add documentation </dd>
<dt>Member <a class="el" href="../../dc/dfe/ternary__search_8cpp.html#a7f7d866eccdabe51bb16818a792618b1">get_input</a> ()</dt>
<dd><a class="anchor" id="_todo000012"></a>@christianbender Get input from STDIO or write input to memory as done above. </dd>
<dd><a class="anchor" id="_todo000013"></a>@christianbender Get input from STDIO or write input to memory as done above. </dd>
</dl>
</div></div><!-- contents -->
</div><!-- PageDoc -->

105
dir_000001_000011.html Normal file
View File

@@ -0,0 +1,105 @@
<!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 -&gt; numerical_methods Relation</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++
&#160;<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&amp;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&amp;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&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('dir_4d6e05837bf820fb089a8a8cdf2f42b7.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="contents">
<h3>ciphers &rarr; numerical_methods Relation</h3><table class="dirtab"><tr class="dirtab"><th class="dirtab">File in ciphers</th><th class="dirtab">Includes file in numerical_methods</th></tr><tr class="dirtab"><td class="dirtab"><a class="el" href="d7/db9/hill__cipher_8cpp.html">hill_cipher.cpp</a></td><td class="dirtab"><a class="el" href="d1/dbe/lu__decomposition_8h.html">lu_decomposition.h</a></td></tr></table></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_4d6e05837bf820fb089a8a8cdf2f42b7.html">ciphers</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>

View File

@@ -0,0 +1,122 @@
<!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 Directory 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++
&#160;<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&amp;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&amp;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&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('dir_4d6e05837bf820fb089a8a8cdf2f42b7.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">ciphers Directory Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="dynheader">
Directory dependency graph for ciphers:</div>
<div class="dyncontent">
<div class="center"><iframe scrolling="no" frameborder="0" src="dir_4d6e05837bf820fb089a8a8cdf2f42b7_dep.svg" width="146" height="155"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="files"></a>
Files</h2></td></tr>
<tr class="memitem:d7/db9/hill__cipher_8cpp"><td class="memItemLeft" align="right" valign="top">file &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="d7/db9/hill__cipher_8cpp.html">hill_cipher.cpp</a></td></tr>
<tr class="memdesc:d7/db9/hill__cipher_8cpp"><td class="mdescLeft">&#160;</td><td class="mdescRight">Implementation of <a href="https://en.wikipedia.org/wiki/Hill_cipher">Hill cipher</a> algorithm. <br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_4d6e05837bf820fb089a8a8cdf2f42b7.html">ciphers</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>

View File

@@ -0,0 +1,4 @@
var dir_4d6e05837bf820fb089a8a8cdf2f42b7 =
[
[ "hill_cipher.cpp", "d7/db9/hill__cipher_8cpp.html", "d7/db9/hill__cipher_8cpp" ]
];

View File

@@ -0,0 +1,5 @@
<map id="ciphers" name="ciphers">
<area shape="rect" id="node1" href="dir_4d6e05837bf820fb089a8a8cdf2f42b7.html" title="ciphers" alt="" coords="37,5,109,53"/>
<area shape="rect" id="node2" href="dir_9c6faab82c22511b50177aa2e38e2780.html" title="numerical_methods" alt="" coords="5,101,140,149"/>
<area shape="rect" id="edge1-headlabel" href="dir_000001_000011.html" title="1" alt="" coords="77,76,85,90"/>
</map>

View File

@@ -0,0 +1 @@
097333ece10592d8158df635ae864b2f

View File

@@ -0,0 +1,41 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.44.0 (20200408.0750)
-->
<!-- Title: ciphers Pages: 1 -->
<svg width="109pt" height="116pt"
viewBox="0.00 0.00 109.00 116.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 112)">
<title>ciphers</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-112 105,-112 105,4 -4,4"/>
<!-- dir_4d6e05837bf820fb089a8a8cdf2f42b7 -->
<g id="node1" class="node">
<title>dir_4d6e05837bf820fb089a8a8cdf2f42b7</title>
<g id="a_node1"><a xlink:href="dir_4d6e05837bf820fb089a8a8cdf2f42b7.html" target="_top" xlink:title="ciphers">
<polygon fill="#eeeeff" stroke="black" points="77.5,-108 23.5,-108 23.5,-72 77.5,-72 77.5,-108"/>
<text text-anchor="middle" x="50.5" y="-87.5" font-family="Helvetica,sans-Serif" font-size="10.00">ciphers</text>
</a>
</g>
</g>
<!-- dir_9c6faab82c22511b50177aa2e38e2780 -->
<g id="node2" class="node">
<title>dir_9c6faab82c22511b50177aa2e38e2780</title>
<g id="a_node2"><a xlink:href="dir_9c6faab82c22511b50177aa2e38e2780.html" target="_top" xlink:title="numerical_methods">
<polygon fill="none" stroke="black" points="101,-36 0,-36 0,0 101,0 101,-36"/>
<text text-anchor="middle" x="50.5" y="-15.5" font-family="Helvetica,sans-Serif" font-size="10.00">numerical_methods</text>
</a>
</g>
</g>
<!-- dir_4d6e05837bf820fb089a8a8cdf2f42b7&#45;&gt;dir_9c6faab82c22511b50177aa2e38e2780 -->
<g id="edge1" class="edge">
<title>dir_4d6e05837bf820fb089a8a8cdf2f42b7&#45;&gt;dir_9c6faab82c22511b50177aa2e38e2780</title>
<path fill="none" stroke="black" d="M50.5,-71.7C50.5,-63.98 50.5,-54.71 50.5,-46.11"/>
<polygon fill="black" stroke="black" points="54,-46.1 50.5,-36.1 47,-46.1 54,-46.1"/>
<g id="a_edge1&#45;headlabel"><a xlink:href="dir_000001_000011.html" target="_top" xlink:title="1">
<text text-anchor="middle" x="56.84" y="-47.2" font-family="Helvetica,sans-Serif" font-size="10.00">1</text>
</a>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

View File

@@ -96,124 +96,126 @@ $(document).ready(function(){initNavTree('files.html',''); initResizable(); });
<div class="contents">
<div class="textblock">Here is a list of all documented files with brief descriptions:</div><div class="directory">
<div class="levels">[detail level <span onclick="javascript:toggleLevel(1);">1</span><span onclick="javascript:toggleLevel(2);">2</span><span onclick="javascript:toggleLevel(3);">3</span>]</div><table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">&#9658;</span><span id="img_0_" class="iconfclosed" onclick="toggleFolder('0_')">&#160;</span><a class="el" href="dir_2e746e9d06bf2d8ff842208bcc6ebcfc.html" target="_self">data_structures</a></td><td class="desc"></td></tr>
<tr id="row_0_0_" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_0_0_" class="arrow" onclick="toggleFolder('0_0_')">&#9658;</span><span id="img_0_0_" class="iconfclosed" onclick="toggleFolder('0_0_')">&#160;</span><a class="el" href="dir_f1797d0c2a0a12033e7d74efffeb14e1.html" target="_self">cll</a></td><td class="desc"></td></tr>
<tr id="row_0_0_0_" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="d7/dba/cll_8h_source.html"><span class="icondoc"></span></a><b>cll.h</b></td><td class="desc"></td></tr>
<tr id="row_0_1_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d8/dee/avltree_8cpp.html" target="_self">avltree.cpp</a></td><td class="desc">A simple tree implementation using nodes </td></tr>
<tr id="row_0_2_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d3/d26/binary__search__tree_8cpp.html" target="_self">binary_search_tree.cpp</a></td><td class="desc">A simple tree implementation using structured nodes </td></tr>
<tr id="row_0_3_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="de/dc3/binaryheap_8cpp.html" target="_self">binaryheap.cpp</a></td><td class="desc">A C++ program to demonstrate common Binary Heap Operations </td></tr>
<tr id="row_0_4_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="de/d23/disjoint__set_8cpp.html" target="_self">disjoint_set.cpp</a></td><td class="desc"><a href="https://en.wikipedia.org/wiki/Disjoint-set_data_structure">Disjoint Sets Data Structure (Disjoint Sets)</a> </td></tr>
<tr id="row_0_5_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d3/dce/linkedlist__implentation__usingarray_8cpp.html" target="_self">linkedlist_implentation_usingarray.cpp</a></td><td class="desc">Linked list implementation using Arrays </td></tr>
<tr id="row_0_6_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d7/d00/list__array_8cpp.html" target="_self">list_array.cpp</a></td><td class="desc"></td></tr>
<tr id="row_0_7_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="d8/d38/queue_8h_source.html"><span class="icondoc"></span></a><b>queue.h</b></td><td class="desc"></td></tr>
<tr id="row_0_8_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="d7/de0/stack_8h_source.html"><span class="icondoc"></span></a><a class="el" href="d7/de0/stack_8h.html" target="_self">stack.h</a></td><td class="desc">This class specifies the basic operation on a stack as a linked list </td></tr>
<tr id="row_0_9_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="dc/d93/trie__modern_8cpp.html" target="_self">trie_modern.cpp</a></td><td class="desc">A basic implementation of trie class to store only lower-case strings </td></tr>
<tr id="row_1_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_1_" class="arrow" onclick="toggleFolder('1_')">&#9658;</span><span id="img_1_" class="iconfclosed" onclick="toggleFolder('1_')">&#160;</span><a class="el" href="dir_e3380d2178455503f266746fb14246a5.html" target="_self">geometry</a></td><td class="desc"></td></tr>
<tr id="row_1_0_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d8/d6c/line__segment__intersection_8cpp.html" target="_self">line_segment_intersection.cpp</a></td><td class="desc">Check whether two line segments intersect each other or not </td></tr>
<tr id="row_2_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_2_" class="arrow" onclick="toggleFolder('2_')">&#9658;</span><span id="img_2_" class="iconfclosed" onclick="toggleFolder('2_')">&#160;</span><a class="el" href="dir_12552d7fa429bf94a2e32e5cf39f7e69.html" target="_self">graph</a></td><td class="desc"></td></tr>
<tr id="row_2_0_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="df/ddd/connected__components_8cpp.html" target="_self">connected_components.cpp</a></td><td class="desc"><a href="https://en.wikipedia.org/wiki/Component_(graph_theory)">Graph Connected Components (Connected Components)</a> </td></tr>
<tr id="row_3_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_3_" class="arrow" onclick="toggleFolder('3_')">&#9658;</span><span id="img_3_" class="iconfclosed" onclick="toggleFolder('3_')">&#160;</span><a class="el" href="dir_3343723ae086de42ee4ca9774da3a13f.html" target="_self">machine_learning</a></td><td class="desc"></td></tr>
<tr id="row_3_0_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d5/db0/adaline__learning_8cpp.html" target="_self">adaline_learning.cpp</a></td><td class="desc"><a href="https://en.wikipedia.org/wiki/ADALINE">Adaptive Linear Neuron (ADALINE)</a> implementation </td></tr>
<tr id="row_3_1_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d4/def/kohonen__som__topology_8cpp.html" target="_self">kohonen_som_topology.cpp</a></td><td class="desc"><a href="https://en.wikipedia.org/wiki/Self-organizing_map">Kohonen self organizing map</a> (topological map) </td></tr>
<tr id="row_3_2_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d9/d49/kohonen__som__trace_8cpp.html" target="_self">kohonen_som_trace.cpp</a></td><td class="desc"><a href="https://en.wikipedia.org/wiki/Self-organizing_map">Kohonen self organizing map</a> (data tracing) </td></tr>
<tr id="row_3_3_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="dc/d38/ordinary__least__squares__regressor_8cpp.html" target="_self">ordinary_least_squares_regressor.cpp</a></td><td class="desc">Linear regression example using <a href="https://en.wikipedia.org/wiki/Ordinary_least_squares">Ordinary least squares</a> </td></tr>
<tr id="row_4_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_4_" class="arrow" onclick="toggleFolder('4_')">&#9658;</span><span id="img_4_" class="iconfclosed" onclick="toggleFolder('4_')">&#160;</span><a class="el" href="dir_296d53ceaeaa7e099814a6def439fe8a.html" target="_self">math</a></td><td class="desc"></td></tr>
<tr id="row_4_0_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d4/d5d/math_2armstrong__number_8cpp.html" target="_self">armstrong_number.cpp</a></td><td class="desc">Program to check if a number is an <a href="https://en.wikipedia.org/wiki/Narcissistic_number">Armstrong/Narcissistic number</a> in decimal system </td></tr>
<tr id="row_4_1_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="de/dcf/binary__exponent_8cpp.html" target="_self">binary_exponent.cpp</a></td><td class="desc">C++ Program to find Binary Exponent Iteratively and Recursively </td></tr>
<tr id="row_4_2_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d5/df6/check__amicable__pair_8cpp.html" target="_self">check_amicable_pair.cpp</a></td><td class="desc">A C++ Program to check whether a pair of number is <a href="https://en.wikipedia.org/wiki/Amicable_numbers">amicable pair</a> or not </td></tr>
<tr id="row_4_3_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="db/d93/check__prime_8cpp.html" target="_self">check_prime.cpp</a></td><td class="desc">Reduced all possibilities of a number which cannot be prime. Eg: No even number, except 2 can be a prime number, hence we will increment our loop with i+2 jumping on all odd numbers only. If number is &lt;= 1 or if it is even except 2, break the loop and return false telling number is not prime </td></tr>
<tr id="row_4_4_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d5/d67/complex__numbers_8cpp.html" target="_self">complex_numbers.cpp</a></td><td class="desc"></td></tr>
<tr id="row_4_5_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d7/d89/double__factorial_8cpp.html" target="_self">double_factorial.cpp</a></td><td class="desc">Compute <a href="https://en.wikipedia.org/wiki/Double_factorial">double factorial</a>: \(n!!\) </td></tr>
<tr id="row_4_6_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="da/d23/eulers__totient__function_8cpp.html" target="_self">eulers_totient_function.cpp</a></td><td class="desc">C++ Program to find <a href="https://en.wikipedia.org/wiki/Euler%27s_totient_function">Euler's Totient</a> function </td></tr>
<tr id="row_4_7_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d9/d5d/extended__euclid__algorithm_8cpp.html" target="_self">extended_euclid_algorithm.cpp</a></td><td class="desc">GCD using <a href="https://en.wikipedia.org/wiki/Extended_Euclidean_algorithm">extended Euclid's algorithm</a> </td></tr>
<tr id="row_4_8_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d9/d00/factorial_8cpp.html" target="_self">factorial.cpp</a></td><td class="desc">C++ program to find factorial of given number </td></tr>
<tr id="row_4_9_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d2/d0b/fast__power_8cpp.html" target="_self">fast_power.cpp</a></td><td class="desc">Faster computation for \(a^b\) </td></tr>
<tr id="row_4_10_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d9/d89/fibonacci_8cpp.html" target="_self">fibonacci.cpp</a></td><td class="desc">Generate fibonacci sequence </td></tr>
<tr id="row_4_11_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d4/d32/fibonacci__fast_8cpp.html" target="_self">fibonacci_fast.cpp</a></td><td class="desc">Faster computation of Fibonacci series </td></tr>
<tr id="row_4_12_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="de/de4/fibonacci__large_8cpp.html" target="_self">fibonacci_large.cpp</a></td><td class="desc">Computes N^th Fibonacci number given as input argument. Uses custom build arbitrary integers library to perform additions and other operations </td></tr>
<tr id="row_4_13_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d4/da0/gcd__iterative__euclidean_8cpp.html" target="_self">gcd_iterative_euclidean.cpp</a></td><td class="desc">Compute the greatest common denominator of two integers using <em>iterative form</em> of <a href="https://en.wikipedia.org/wiki/Euclidean_algorithm">Euclidean algorithm</a> </td></tr>
<tr id="row_4_14_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d1/d11/gcd__of__n__numbers_8cpp.html" target="_self">gcd_of_n_numbers.cpp</a></td><td class="desc">This program aims at calculating the GCD of n numbers by division method </td></tr>
<tr id="row_4_15_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d4/d45/gcd__recursive__euclidean_8cpp.html" target="_self">gcd_recursive_euclidean.cpp</a></td><td class="desc">Compute the greatest common denominator of two integers using <em>recursive form</em> of <a href="https://en.wikipedia.org/wiki/Euclidean_algorithm">Euclidean algorithm</a> </td></tr>
<tr id="row_4_16_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d6/d9d/large__factorial_8cpp.html" target="_self">large_factorial.cpp</a></td><td class="desc">Compute factorial of any arbitratily large number/ </td></tr>
<tr id="row_4_17_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="d4/d86/large__number_8h_source.html"><span class="icondoc"></span></a><a class="el" href="d4/d86/large__number_8h.html" target="_self">large_number.h</a></td><td class="desc">Library to perform arithmatic operations on arbitrarily large numbers </td></tr>
<tr id="row_4_18_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d4/d21/least__common__multiple_8cpp.html" target="_self">least_common_multiple.cpp</a></td><td class="desc"></td></tr>
<tr id="row_4_19_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d6/d42/miller__rabin_8cpp.html" target="_self">miller_rabin.cpp</a></td><td class="desc"></td></tr>
<tr id="row_4_20_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d8/d53/modular__inverse__fermat__little__theorem_8cpp.html" target="_self">modular_inverse_fermat_little_theorem.cpp</a></td><td class="desc">C++ Program to find the modular inverse using <a href="https://en.wikipedia.org/wiki/Fermat%27s_little_theorem">Fermat's Little Theorem</a> </td></tr>
<tr id="row_4_21_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d0/da2/number__of__positive__divisors_8cpp.html" target="_self">number_of_positive_divisors.cpp</a></td><td class="desc">C++ Program to calculate number of divisors </td></tr>
<tr id="row_4_22_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="df/def/power__for__huge__numbers_8cpp.html" target="_self">power_for_huge_numbers.cpp</a></td><td class="desc">Compute powers of large numbers </td></tr>
<tr id="row_4_23_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="db/d0d/prime__factorization_8cpp.html" target="_self">prime_factorization.cpp</a></td><td class="desc">Prime factorization of positive integers </td></tr>
<tr id="row_4_24_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="de/d9b/prime__numbers_8cpp.html" target="_self">prime_numbers.cpp</a></td><td class="desc">Get list of prime numbers </td></tr>
<tr id="row_4_25_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d4/d9c/primes__up__to__billion_8cpp.html" target="_self">primes_up_to_billion.cpp</a></td><td class="desc">Compute prime numbers upto 1 billion </td></tr>
<tr id="row_4_26_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d0/d08/realtime__stats_8cpp.html" target="_self">realtime_stats.cpp</a></td><td class="desc">Compute statistics for data entered in rreal-time </td></tr>
<tr id="row_4_27_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d8/ddf/sieve__of__eratosthenes_8cpp.html" target="_self">sieve_of_eratosthenes.cpp</a></td><td class="desc">Get list of prime numbers using Sieve of Eratosthenes Sieve of Eratosthenes is an algorithm to find the primes that is between 2 to N (as defined in main) </td></tr>
<tr id="row_4_28_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="da/d24/sqrt__double_8cpp.html" target="_self">sqrt_double.cpp</a></td><td class="desc">Calculate the square root of any positive real number in \(O(\log N)\) time, with precision fixed using <a href="https://en.wikipedia.org/wiki/Bisection_method">bisection method</a> of root-finding </td></tr>
<tr id="row_4_29_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="de/d47/string__fibonacci_8cpp.html" target="_self">string_fibonacci.cpp</a></td><td class="desc">This Programme returns the Nth fibonacci as a string </td></tr>
<tr id="row_4_30_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d4/d83/sum__of__digits_8cpp.html" target="_self">sum_of_digits.cpp</a></td><td class="desc">A C++ Program to find the Sum of Digits of input integer </td></tr>
<tr id="row_5_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_5_" class="arrow" onclick="toggleFolder('5_')">&#9658;</span><span id="img_5_" class="iconfclosed" onclick="toggleFolder('5_')">&#160;</span><a class="el" href="dir_9c6faab82c22511b50177aa2e38e2780.html" target="_self">numerical_methods</a></td><td class="desc"></td></tr>
<tr id="row_5_0_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d7/d6a/bisection__method_8cpp.html" target="_self">bisection_method.cpp</a></td><td class="desc">Solve the equation \(f(x)=0\) using <a href="https://en.wikipedia.org/wiki/Bisection_method">bisection method</a> </td></tr>
<tr id="row_5_1_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="db/d01/brent__method__extrema_8cpp.html" target="_self">brent_method_extrema.cpp</a></td><td class="desc">Find real extrema of a univariate real function in a given interval using <a href="https://en.wikipedia.org/wiki/Brent%27s_method">Brent's method</a> </td></tr>
<tr id="row_5_2_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="da/df2/durand__kerner__roots_8cpp.html" target="_self">durand_kerner_roots.cpp</a></td><td class="desc">Compute all possible approximate roots of any given polynomial using <a href="https://en.wikipedia.org/wiki/Durand%E2%80%93Kerner_method">Durand Kerner algorithm</a> </td></tr>
<tr id="row_5_3_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="dd/d29/false__position_8cpp.html" target="_self">false_position.cpp</a></td><td class="desc">Solve the equation \(f(x)=0\) using <a href="https://en.wikipedia.org/wiki/Regula_falsi">false position method</a>, also known as the Secant method </td></tr>
<tr id="row_5_4_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d0/de2/gaussian__elimination_8cpp.html" target="_self">gaussian_elimination.cpp</a></td><td class="desc"><a href="https://en.wikipedia.org/wiki/Gaussian_elimination">Gaussian elimination method</a> </td></tr>
<tr id="row_5_5_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d6/d7a/golden__search__extrema_8cpp.html" target="_self">golden_search_extrema.cpp</a></td><td class="desc">Find extrema of a univariate real function in a given interval using <a href="https://en.wikipedia.org/wiki/Golden-section_search">golden section search algorithm</a> </td></tr>
<tr id="row_5_6_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="dd/d65/lu__decompose_8cpp.html" target="_self">lu_decompose.cpp</a></td><td class="desc"><a href="https://en.wikipedia.org/wiki/LU_decompositon">LU decomposition</a> of a square matrix </td></tr>
<tr id="row_5_7_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="d1/dbe/lu__decomposition_8h_source.html"><span class="icondoc"></span></a><a class="el" href="d1/dbe/lu__decomposition_8h.html" target="_self">lu_decomposition.h</a></td><td class="desc">Functions associated with <a href="https://en.wikipedia.org/wiki/LU_decomposition">LU Decomposition</a> of a square matrix </td></tr>
<tr id="row_5_8_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="de/dd3/newton__raphson__method_8cpp.html" target="_self">newton_raphson_method.cpp</a></td><td class="desc">Solve the equation \(f(x)=0\) using <a href="https://en.wikipedia.org/wiki/Newton%27s_method">Newton-Raphson method</a> for both real and complex solutions </td></tr>
<tr id="row_5_9_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="db/dd3/ode__forward__euler_8cpp.html" target="_self">ode_forward_euler.cpp</a></td><td class="desc">Solve a multivariable first order <a href="https://en.wikipedia.org/wiki/Ordinary_differential_equation">ordinary differential equation (ODEs)</a> using <a href="https://en.wikipedia.org/wiki/Numerical_methods_for_ordinary_differential_equations#Euler_method">forward Euler method</a> </td></tr>
<tr id="row_5_10_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d6/dd3/ode__midpoint__euler_8cpp.html" target="_self">ode_midpoint_euler.cpp</a></td><td class="desc">Solve a multivariable first order <a href="https://en.wikipedia.org/wiki/Ordinary_differential_equation">ordinary differential equation (ODEs)</a> using <a href="https://en.wikipedia.org/wiki/Midpoint_method">midpoint Euler method</a> </td></tr>
<tr id="row_5_11_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d3/d06/ode__semi__implicit__euler_8cpp.html" target="_self">ode_semi_implicit_euler.cpp</a></td><td class="desc">Solve a multivariable first order <a href="https://en.wikipedia.org/wiki/Ordinary_differential_equation">ordinary differential equation (ODEs)</a> using <a href="https://en.wikipedia.org/wiki/Semi-implicit_Euler_method">semi implicit Euler method</a> </td></tr>
<tr id="row_5_12_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="d4/d68/qr__decompose_8h_source.html"><span class="icondoc"></span></a><a class="el" href="d4/d68/qr__decompose_8h.html" target="_self">qr_decompose.h</a></td><td class="desc">Library functions to compute <a href="https://en.wikipedia.org/wiki/QR_decomposition">QR decomposition</a> of a given matrix </td></tr>
<tr id="row_5_13_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d3/d24/qr__decomposition_8cpp.html" target="_self">qr_decomposition.cpp</a></td><td class="desc">Program to compute the <a href="https://en.wikipedia.org/wiki/QR_decomposition">QR decomposition</a> of a given matrix </td></tr>
<tr id="row_5_14_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="de/d75/qr__eigen__values_8cpp.html" target="_self">qr_eigen_values.cpp</a></td><td class="desc">Compute real eigen values and eigen vectors of a symmetric matrix using <a href="https://en.wikipedia.org/wiki/QR_decomposition">QR decomposition</a> method </td></tr>
<tr id="row_5_15_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="df/dc8/successive__approximation_8cpp.html" target="_self">successive_approximation.cpp</a></td><td class="desc">Method of successive approximations using <a href="https://en.wikipedia.org/wiki/Fixed-point_iteration">fixed-point iteration</a> method </td></tr>
<tr id="row_6_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_6_" class="arrow" onclick="toggleFolder('6_')">&#9658;</span><span id="img_6_" class="iconfclosed" onclick="toggleFolder('6_')">&#160;</span><a class="el" href="dir_9510827d0b234b3cc54b29892f217477.html" target="_self">others</a></td><td class="desc"></td></tr>
<tr id="row_6_0_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d1/d76/buzz__number_8cpp.html" target="_self">buzz_number.cpp</a></td><td class="desc">A buzz number is a number that is either divisible by 7 or has last digit as 7 </td></tr>
<tr id="row_6_1_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="df/d06/decimal__to__binary_8cpp.html" target="_self">decimal_to_binary.cpp</a></td><td class="desc">Function to convert decimal number to binary representation </td></tr>
<tr id="row_6_2_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="da/de7/decimal__to__hexadecimal_8cpp.html" target="_self">decimal_to_hexadecimal.cpp</a></td><td class="desc">Convert decimal number to hexadecimal representation </td></tr>
<tr id="row_6_3_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="de/d85/decimal__to__roman__numeral_8cpp.html" target="_self">decimal_to_roman_numeral.cpp</a></td><td class="desc">This Programme Converts a given decimal number in the range [0,4000) to both Lower case and Upper case Roman Numeral </td></tr>
<tr id="row_6_4_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d4/de8/fast__interger__input_8cpp.html" target="_self">fast_interger_input.cpp</a></td><td class="desc">Read integers from stdin continuously as they are entered without waiting for the <code>\n</code> character </td></tr>
<tr id="row_6_5_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="db/df3/happy__number_8cpp.html" target="_self">happy_number.cpp</a></td><td class="desc">A happy number is a number whose sum of digits is calculated until the sum is a single digit, and this sum turns out to be 1 </td></tr>
<tr id="row_6_6_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d7/d35/matrix__exponentiation_8cpp.html" target="_self">matrix_exponentiation.cpp</a></td><td class="desc">Matrix Exponentiation </td></tr>
<tr id="row_6_7_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="da/d9a/palindrome__of__number_8cpp.html" target="_self">palindrome_of_number.cpp</a></td><td class="desc">Check if a number is <a href="https://en.wikipedia.org/wiki/Palindrome">palindrome</a> or not </td></tr>
<tr id="row_6_8_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="dc/dc5/paranthesis__matching_8cpp.html" target="_self">paranthesis_matching.cpp</a></td><td class="desc">Perform paranthesis matching </td></tr>
<tr id="row_6_9_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="dc/d1a/pascal__triangle_8cpp.html" target="_self">pascal_triangle.cpp</a></td><td class="desc">Pascal's triangle implementation </td></tr>
<tr id="row_6_10_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="da/d7b/primality__test_8cpp.html" target="_self">primality_test.cpp</a></td><td class="desc"><a href="https://en.wikipedia.org/wiki/Primality_test">Primality test</a> implementation </td></tr>
<tr id="row_6_11_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d0/d01/smallest__circle_8cpp.html" target="_self">smallest_circle.cpp</a></td><td class="desc">Get centre and radius of the <a href="https://en.wikipedia.org/wiki/Smallest-circle_problem">smallest circle</a> that circumscribes given set of points </td></tr>
<tr id="row_6_12_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d3/d19/sparse__matrix_8cpp.html" target="_self">sparse_matrix.cpp</a></td><td class="desc"></td></tr>
<tr id="row_6_13_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="db/d07/spiral__print_8cpp.html" target="_self">spiral_print.cpp</a></td><td class="desc">Print the elements of a matrix traversing it spirally </td></tr>
<tr id="row_6_14_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d5/def/stairs__pattern_8cpp.html" target="_self">stairs_pattern.cpp</a></td><td class="desc">This program is use to print the following pattern </td></tr>
<tr id="row_6_15_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="db/d3c/tower__of__hanoi_8cpp.html" target="_self">tower_of_hanoi.cpp</a></td><td class="desc">Solve the <a href="https://en.wikipedia.org/wiki/Tower_of_Hanoi">Tower of Hanoi</a> problem </td></tr>
<tr id="row_6_16_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d3/d61/vector__important__functions_8cpp.html" target="_self">vector_important_functions.cpp</a></td><td class="desc">A C++ program to demonstrate working of <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/sort.html">std::sort()</a>, <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/reverse.html">std::reverse()</a> </td></tr>
<tr id="row_7_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_7_" class="arrow" onclick="toggleFolder('7_')">&#9658;</span><span id="img_7_" class="iconfclosed" onclick="toggleFolder('7_')">&#160;</span><a class="el" href="dir_82e494173a87936756866de2fa774307.html" target="_self">probability</a></td><td class="desc"></td></tr>
<tr id="row_7_0_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d6/d4a/addition__rule_8cpp.html" target="_self">addition_rule.cpp</a></td><td class="desc">Addition rule of probabilities </td></tr>
<tr id="row_7_1_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d5/d67/bayes__theorem_8cpp.html" target="_self">bayes_theorem.cpp</a></td><td class="desc"><a href="https://en.wikipedia.org/wiki/Bayes%27_theorem">Bayes' theorem</a> </td></tr>
<tr id="row_7_2_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d6/db0/binomial__dist_8cpp.html" target="_self">binomial_dist.cpp</a></td><td class="desc"><a href="https://en.wikipedia.org/wiki/Binomial_distribution">Binomial distribution</a> example </td></tr>
<tr id="row_7_3_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d9/d24/poisson__dist_8cpp.html" target="_self">poisson_dist.cpp</a></td><td class="desc"><a href="https://en.wikipedia.org/wiki/Poisson_distribution">Poisson statistics</a> </td></tr>
<tr id="row_8_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_8_" class="arrow" onclick="toggleFolder('8_')">&#9658;</span><span id="img_8_" class="iconfclosed" onclick="toggleFolder('8_')">&#160;</span><a class="el" href="dir_074119ce3a874b57120c49a0cc4bb5ad.html" target="_self">range_queries</a></td><td class="desc"></td></tr>
<tr id="row_8_0_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d6/d2e/fenwick__tree_8cpp.html" target="_self">fenwick_tree.cpp</a></td><td class="desc">Fenwick tree </td></tr>
<tr id="row_9_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_9_" class="arrow" onclick="toggleFolder('9_')">&#9658;</span><span id="img_9_" class="iconfclosed" onclick="toggleFolder('9_')">&#160;</span><a class="el" href="dir_19b2bf9199a15c634a08b1ede1dd896a.html" target="_self">search</a></td><td class="desc"></td></tr>
<tr id="row_9_0_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="df/dd5/binary__search_8cpp.html" target="_self">binary_search.cpp</a></td><td class="desc"><a href="https://en.wikipedia.org/wiki/Binary_search_algorithm">Binary search algorithm</a> </td></tr>
<tr id="row_9_1_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d8/d8a/exponential__search_8cpp.html" target="_self">exponential_search.cpp</a></td><td class="desc"><a href="https://en.wikipedia.org/wiki/Exponential_search">Exponential search algorithm</a> </td></tr>
<tr id="row_9_2_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d1/df3/hash__search_8cpp.html" target="_self">hash_search.cpp</a></td><td class="desc">Hash Search Algorithm - Best Time Complexity Ω(1) </td></tr>
<tr id="row_9_3_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d9/dd7/interpolation__search_8cpp.html" target="_self">interpolation_search.cpp</a></td><td class="desc"><a href="https://en.wikipedia.org/wiki/Interpolation_search">Interpolation search</a> algorithm </td></tr>
<tr id="row_9_4_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="df/d39/interpolation__search2_8cpp.html" target="_self">interpolation_search2.cpp</a></td><td class="desc"><a href="https://en.wikipedia.org/wiki/Interpolation_search">Interpolation search</a> algorithm </td></tr>
<tr id="row_9_5_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d2/d22/jump__search_8cpp.html" target="_self">jump_search.cpp</a></td><td class="desc">C++ program to implement <a href="https://en.wikipedia.org/wiki/Jump_search">Jump Search</a> </td></tr>
<tr id="row_9_6_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d9/d02/linear__search_8cpp.html" target="_self">linear_search.cpp</a></td><td class="desc"><a href="https://en.wikipedia.org/wiki/Linear_search">Linear search algorithm</a> </td></tr>
<tr id="row_9_7_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d9/d69/median__search_8cpp.html" target="_self">median_search.cpp</a></td><td class="desc"><a href="https://en.wikipedia.org/wiki/Median_search">Median search</a> algorithm </td></tr>
<tr id="row_9_8_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="dc/dfe/ternary__search_8cpp.html" target="_self">ternary_search.cpp</a></td><td class="desc"><a href="https://en.wikipedia.org/wiki/Ternary_search">Ternary search</a> algorithm </td></tr>
<tr id="row_9_9_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="dc/db5/text__search_8cpp.html" target="_self">text_search.cpp</a></td><td class="desc">Search for words in a long textual paragraph </td></tr>
<tr id="row_10_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_10_" class="arrow" onclick="toggleFolder('10_')">&#9658;</span><span id="img_10_" class="iconfclosed" onclick="toggleFolder('10_')">&#160;</span><a class="el" href="dir_bb1b521853a9c46347182a9d10420771.html" target="_self">sorting</a></td><td class="desc"></td></tr>
<tr id="row_10_0_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d8/d13/bubble__sort_8cpp.html" target="_self">bubble_sort.cpp</a></td><td class="desc">Bubble sort algorithm </td></tr>
<tr id="row_10_1_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d9/dfd/comb__sort_8cpp.html" target="_self">comb_sort.cpp</a></td><td class="desc"><a href="https://en.wikipedia.org/wiki/Comb_sort">Comb Sort Algorithm (Comb Sort)</a> </td></tr>
<tr id="row_10_2_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d2/d52/heap__sort_8cpp.html" target="_self">heap_sort.cpp</a></td><td class="desc"><a href="https://en.wikipedia.org/wiki/Heapsort">Heap Sort Algorithm (heap sort)</a> implementation </td></tr>
<tr id="row_10_3_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d5/df4/merge__sort_8cpp.html" target="_self">merge_sort.cpp</a></td><td class="desc"><a href="https://en.wikipedia.org/wiki/Merge_sort">Merege Sort Algorithm (MEREGE SORT)</a> implementation </td></tr>
<tr id="row_10_4_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d0/db6/non__recursive__merge__sort_8cpp.html" target="_self">non_recursive_merge_sort.cpp</a></td><td class="desc"></td></tr>
<tr id="row_10_5_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d1/d21/quick__sort_8cpp.html" target="_self">quick_sort.cpp</a></td><td class="desc">Quick sort algorithm </td></tr>
<tr id="row_10_6_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d4/d7a/shell__sort2_8cpp.html" target="_self">shell_sort2.cpp</a></td><td class="desc"><a href="https://en.wikipedia.org/wiki/Shell_sort">Shell sort</a> algorithm </td></tr>
<tr id="row_11_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_11_" class="arrow" onclick="toggleFolder('11_')">&#9658;</span><span id="img_11_" class="iconfclosed" onclick="toggleFolder('11_')">&#160;</span><a class="el" href="dir_73a3cc5065b223eb41b02873c0e19f0e.html" target="_self">strings</a></td><td class="desc"></td></tr>
<tr id="row_11_0_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d3/d7d/brute__force__string__searching_8cpp.html" target="_self">brute_force_string_searching.cpp</a></td><td class="desc">String pattern search - brute force </td></tr>
<tr id="row_11_1_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="de/d6a/knuth__morris__pratt_8cpp.html" target="_self">knuth_morris_pratt.cpp</a></td><td class="desc">The <a href="https://en.wikipedia.org/wiki/KnuthMorrisPratt_algorithm">Knuth-Morris-Pratt Algorithm</a> for finding a pattern within a piece of text with complexity O(n + m) </td></tr>
<tr id="row_11_2_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d6/dce/rabin__karp_8cpp.html" target="_self">rabin_karp.cpp</a></td><td class="desc">The <a href="https://en.wikipedia.org/wiki/RabinKarp_algorithm">Rabin-Karp Algorithm</a> for finding a pattern within a piece of text with complexity O(n + m) </td></tr>
<tr id="row_0_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_0_" class="arrow" onclick="toggleFolder('0_')">&#9658;</span><span id="img_0_" class="iconfclosed" onclick="toggleFolder('0_')">&#160;</span><a class="el" href="dir_4d6e05837bf820fb089a8a8cdf2f42b7.html" target="_self">ciphers</a></td><td class="desc"></td></tr>
<tr id="row_0_0_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d7/db9/hill__cipher_8cpp.html" target="_self">hill_cipher.cpp</a></td><td class="desc">Implementation of <a href="https://en.wikipedia.org/wiki/Hill_cipher">Hill cipher</a> algorithm </td></tr>
<tr id="row_1_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_1_" class="arrow" onclick="toggleFolder('1_')">&#9658;</span><span id="img_1_" class="iconfclosed" onclick="toggleFolder('1_')">&#160;</span><a class="el" href="dir_2e746e9d06bf2d8ff842208bcc6ebcfc.html" target="_self">data_structures</a></td><td class="desc"></td></tr>
<tr id="row_1_0_" class="even" style="display:none;"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span id="arr_1_0_" class="arrow" onclick="toggleFolder('1_0_')">&#9658;</span><span id="img_1_0_" class="iconfclosed" onclick="toggleFolder('1_0_')">&#160;</span><a class="el" href="dir_f1797d0c2a0a12033e7d74efffeb14e1.html" target="_self">cll</a></td><td class="desc"></td></tr>
<tr id="row_1_0_0_" class="even" style="display:none;"><td class="entry"><span style="width:48px;display:inline-block;">&#160;</span><a href="d7/dba/cll_8h_source.html"><span class="icondoc"></span></a><b>cll.h</b></td><td class="desc"></td></tr>
<tr id="row_1_1_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d8/dee/avltree_8cpp.html" target="_self">avltree.cpp</a></td><td class="desc">A simple tree implementation using nodes </td></tr>
<tr id="row_1_2_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d3/d26/binary__search__tree_8cpp.html" target="_self">binary_search_tree.cpp</a></td><td class="desc">A simple tree implementation using structured nodes </td></tr>
<tr id="row_1_3_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="de/dc3/binaryheap_8cpp.html" target="_self">binaryheap.cpp</a></td><td class="desc">A C++ program to demonstrate common Binary Heap Operations </td></tr>
<tr id="row_1_4_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="de/d23/disjoint__set_8cpp.html" target="_self">disjoint_set.cpp</a></td><td class="desc"><a href="https://en.wikipedia.org/wiki/Disjoint-set_data_structure">Disjoint Sets Data Structure (Disjoint Sets)</a> </td></tr>
<tr id="row_1_5_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d3/dce/linkedlist__implentation__usingarray_8cpp.html" target="_self">linkedlist_implentation_usingarray.cpp</a></td><td class="desc">Linked list implementation using Arrays </td></tr>
<tr id="row_1_6_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d7/d00/list__array_8cpp.html" target="_self">list_array.cpp</a></td><td class="desc"></td></tr>
<tr id="row_1_7_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="d8/d38/queue_8h_source.html"><span class="icondoc"></span></a><b>queue.h</b></td><td class="desc"></td></tr>
<tr id="row_1_8_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="d7/de0/stack_8h_source.html"><span class="icondoc"></span></a><a class="el" href="d7/de0/stack_8h.html" target="_self">stack.h</a></td><td class="desc">This class specifies the basic operation on a stack as a linked list </td></tr>
<tr id="row_1_9_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="dc/d93/trie__modern_8cpp.html" target="_self">trie_modern.cpp</a></td><td class="desc">A basic implementation of trie class to store only lower-case strings </td></tr>
<tr id="row_2_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_2_" class="arrow" onclick="toggleFolder('2_')">&#9658;</span><span id="img_2_" class="iconfclosed" onclick="toggleFolder('2_')">&#160;</span><a class="el" href="dir_e3380d2178455503f266746fb14246a5.html" target="_self">geometry</a></td><td class="desc"></td></tr>
<tr id="row_2_0_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d8/d6c/line__segment__intersection_8cpp.html" target="_self">line_segment_intersection.cpp</a></td><td class="desc">Check whether two line segments intersect each other or not </td></tr>
<tr id="row_3_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_3_" class="arrow" onclick="toggleFolder('3_')">&#9658;</span><span id="img_3_" class="iconfclosed" onclick="toggleFolder('3_')">&#160;</span><a class="el" href="dir_12552d7fa429bf94a2e32e5cf39f7e69.html" target="_self">graph</a></td><td class="desc"></td></tr>
<tr id="row_3_0_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="df/ddd/connected__components_8cpp.html" target="_self">connected_components.cpp</a></td><td class="desc"><a href="https://en.wikipedia.org/wiki/Component_(graph_theory)">Graph Connected Components (Connected Components)</a> </td></tr>
<tr id="row_4_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_4_" class="arrow" onclick="toggleFolder('4_')">&#9658;</span><span id="img_4_" class="iconfclosed" onclick="toggleFolder('4_')">&#160;</span><a class="el" href="dir_3343723ae086de42ee4ca9774da3a13f.html" target="_self">machine_learning</a></td><td class="desc"></td></tr>
<tr id="row_4_0_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d5/db0/adaline__learning_8cpp.html" target="_self">adaline_learning.cpp</a></td><td class="desc"><a href="https://en.wikipedia.org/wiki/ADALINE">Adaptive Linear Neuron (ADALINE)</a> implementation </td></tr>
<tr id="row_4_1_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d4/def/kohonen__som__topology_8cpp.html" target="_self">kohonen_som_topology.cpp</a></td><td class="desc"><a href="https://en.wikipedia.org/wiki/Self-organizing_map">Kohonen self organizing map</a> (topological map) </td></tr>
<tr id="row_4_2_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d9/d49/kohonen__som__trace_8cpp.html" target="_self">kohonen_som_trace.cpp</a></td><td class="desc"><a href="https://en.wikipedia.org/wiki/Self-organizing_map">Kohonen self organizing map</a> (data tracing) </td></tr>
<tr id="row_4_3_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="dc/d38/ordinary__least__squares__regressor_8cpp.html" target="_self">ordinary_least_squares_regressor.cpp</a></td><td class="desc">Linear regression example using <a href="https://en.wikipedia.org/wiki/Ordinary_least_squares">Ordinary least squares</a> </td></tr>
<tr id="row_5_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_5_" class="arrow" onclick="toggleFolder('5_')">&#9658;</span><span id="img_5_" class="iconfclosed" onclick="toggleFolder('5_')">&#160;</span><a class="el" href="dir_296d53ceaeaa7e099814a6def439fe8a.html" target="_self">math</a></td><td class="desc"></td></tr>
<tr id="row_5_0_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d4/d5d/math_2armstrong__number_8cpp.html" target="_self">armstrong_number.cpp</a></td><td class="desc">Program to check if a number is an <a href="https://en.wikipedia.org/wiki/Narcissistic_number">Armstrong/Narcissistic number</a> in decimal system </td></tr>
<tr id="row_5_1_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="de/dcf/binary__exponent_8cpp.html" target="_self">binary_exponent.cpp</a></td><td class="desc">C++ Program to find Binary Exponent Iteratively and Recursively </td></tr>
<tr id="row_5_2_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d5/df6/check__amicable__pair_8cpp.html" target="_self">check_amicable_pair.cpp</a></td><td class="desc">A C++ Program to check whether a pair of number is <a href="https://en.wikipedia.org/wiki/Amicable_numbers">amicable pair</a> or not </td></tr>
<tr id="row_5_3_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="db/d93/check__prime_8cpp.html" target="_self">check_prime.cpp</a></td><td class="desc">Reduced all possibilities of a number which cannot be prime. Eg: No even number, except 2 can be a prime number, hence we will increment our loop with i+2 jumping on all odd numbers only. If number is &lt;= 1 or if it is even except 2, break the loop and return false telling number is not prime </td></tr>
<tr id="row_5_4_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d5/d67/complex__numbers_8cpp.html" target="_self">complex_numbers.cpp</a></td><td class="desc"></td></tr>
<tr id="row_5_5_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d7/d89/double__factorial_8cpp.html" target="_self">double_factorial.cpp</a></td><td class="desc">Compute <a href="https://en.wikipedia.org/wiki/Double_factorial">double factorial</a>: \(n!!\) </td></tr>
<tr id="row_5_6_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="da/d23/eulers__totient__function_8cpp.html" target="_self">eulers_totient_function.cpp</a></td><td class="desc">C++ Program to find <a href="https://en.wikipedia.org/wiki/Euler%27s_totient_function">Euler's Totient</a> function </td></tr>
<tr id="row_5_7_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d9/d5d/extended__euclid__algorithm_8cpp.html" target="_self">extended_euclid_algorithm.cpp</a></td><td class="desc">GCD using <a href="https://en.wikipedia.org/wiki/Extended_Euclidean_algorithm">extended Euclid's algorithm</a> </td></tr>
<tr id="row_5_8_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d9/d00/factorial_8cpp.html" target="_self">factorial.cpp</a></td><td class="desc">C++ program to find factorial of given number </td></tr>
<tr id="row_5_9_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d2/d0b/fast__power_8cpp.html" target="_self">fast_power.cpp</a></td><td class="desc">Faster computation for \(a^b\) </td></tr>
<tr id="row_5_10_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d9/d89/fibonacci_8cpp.html" target="_self">fibonacci.cpp</a></td><td class="desc">Generate fibonacci sequence </td></tr>
<tr id="row_5_11_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d4/d32/fibonacci__fast_8cpp.html" target="_self">fibonacci_fast.cpp</a></td><td class="desc">Faster computation of Fibonacci series </td></tr>
<tr id="row_5_12_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="de/de4/fibonacci__large_8cpp.html" target="_self">fibonacci_large.cpp</a></td><td class="desc">Computes N^th Fibonacci number given as input argument. Uses custom build arbitrary integers library to perform additions and other operations </td></tr>
<tr id="row_5_13_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d4/da0/gcd__iterative__euclidean_8cpp.html" target="_self">gcd_iterative_euclidean.cpp</a></td><td class="desc">Compute the greatest common denominator of two integers using <em>iterative form</em> of <a href="https://en.wikipedia.org/wiki/Euclidean_algorithm">Euclidean algorithm</a> </td></tr>
<tr id="row_5_14_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d1/d11/gcd__of__n__numbers_8cpp.html" target="_self">gcd_of_n_numbers.cpp</a></td><td class="desc">This program aims at calculating the GCD of n numbers by division method </td></tr>
<tr id="row_5_15_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d4/d45/gcd__recursive__euclidean_8cpp.html" target="_self">gcd_recursive_euclidean.cpp</a></td><td class="desc">Compute the greatest common denominator of two integers using <em>recursive form</em> of <a href="https://en.wikipedia.org/wiki/Euclidean_algorithm">Euclidean algorithm</a> </td></tr>
<tr id="row_5_16_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d6/d9d/large__factorial_8cpp.html" target="_self">large_factorial.cpp</a></td><td class="desc">Compute factorial of any arbitratily large number/ </td></tr>
<tr id="row_5_17_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="d4/d86/large__number_8h_source.html"><span class="icondoc"></span></a><a class="el" href="d4/d86/large__number_8h.html" target="_self">large_number.h</a></td><td class="desc">Library to perform arithmatic operations on arbitrarily large numbers </td></tr>
<tr id="row_5_18_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d4/d21/least__common__multiple_8cpp.html" target="_self">least_common_multiple.cpp</a></td><td class="desc"></td></tr>
<tr id="row_5_19_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d6/d42/miller__rabin_8cpp.html" target="_self">miller_rabin.cpp</a></td><td class="desc"></td></tr>
<tr id="row_5_20_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d8/d53/modular__inverse__fermat__little__theorem_8cpp.html" target="_self">modular_inverse_fermat_little_theorem.cpp</a></td><td class="desc">C++ Program to find the modular inverse using <a href="https://en.wikipedia.org/wiki/Fermat%27s_little_theorem">Fermat's Little Theorem</a> </td></tr>
<tr id="row_5_21_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d0/da2/number__of__positive__divisors_8cpp.html" target="_self">number_of_positive_divisors.cpp</a></td><td class="desc">C++ Program to calculate number of divisors </td></tr>
<tr id="row_5_22_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="df/def/power__for__huge__numbers_8cpp.html" target="_self">power_for_huge_numbers.cpp</a></td><td class="desc">Compute powers of large numbers </td></tr>
<tr id="row_5_23_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="db/d0d/prime__factorization_8cpp.html" target="_self">prime_factorization.cpp</a></td><td class="desc">Prime factorization of positive integers </td></tr>
<tr id="row_5_24_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="de/d9b/prime__numbers_8cpp.html" target="_self">prime_numbers.cpp</a></td><td class="desc">Get list of prime numbers </td></tr>
<tr id="row_5_25_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d4/d9c/primes__up__to__billion_8cpp.html" target="_self">primes_up_to_billion.cpp</a></td><td class="desc">Compute prime numbers upto 1 billion </td></tr>
<tr id="row_5_26_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d0/d08/realtime__stats_8cpp.html" target="_self">realtime_stats.cpp</a></td><td class="desc">Compute statistics for data entered in rreal-time </td></tr>
<tr id="row_5_27_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d8/ddf/sieve__of__eratosthenes_8cpp.html" target="_self">sieve_of_eratosthenes.cpp</a></td><td class="desc">Get list of prime numbers using Sieve of Eratosthenes Sieve of Eratosthenes is an algorithm to find the primes that is between 2 to N (as defined in main) </td></tr>
<tr id="row_5_28_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="da/d24/sqrt__double_8cpp.html" target="_self">sqrt_double.cpp</a></td><td class="desc">Calculate the square root of any positive real number in \(O(\log N)\) time, with precision fixed using <a href="https://en.wikipedia.org/wiki/Bisection_method">bisection method</a> of root-finding </td></tr>
<tr id="row_5_29_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="de/d47/string__fibonacci_8cpp.html" target="_self">string_fibonacci.cpp</a></td><td class="desc">This Programme returns the Nth fibonacci as a string </td></tr>
<tr id="row_5_30_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d4/d83/sum__of__digits_8cpp.html" target="_self">sum_of_digits.cpp</a></td><td class="desc">A C++ Program to find the Sum of Digits of input integer </td></tr>
<tr id="row_6_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_6_" class="arrow" onclick="toggleFolder('6_')">&#9658;</span><span id="img_6_" class="iconfclosed" onclick="toggleFolder('6_')">&#160;</span><a class="el" href="dir_9c6faab82c22511b50177aa2e38e2780.html" target="_self">numerical_methods</a></td><td class="desc"></td></tr>
<tr id="row_6_0_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d7/d6a/bisection__method_8cpp.html" target="_self">bisection_method.cpp</a></td><td class="desc">Solve the equation \(f(x)=0\) using <a href="https://en.wikipedia.org/wiki/Bisection_method">bisection method</a> </td></tr>
<tr id="row_6_1_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="db/d01/brent__method__extrema_8cpp.html" target="_self">brent_method_extrema.cpp</a></td><td class="desc">Find real extrema of a univariate real function in a given interval using <a href="https://en.wikipedia.org/wiki/Brent%27s_method">Brent's method</a> </td></tr>
<tr id="row_6_2_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="da/df2/durand__kerner__roots_8cpp.html" target="_self">durand_kerner_roots.cpp</a></td><td class="desc">Compute all possible approximate roots of any given polynomial using <a href="https://en.wikipedia.org/wiki/Durand%E2%80%93Kerner_method">Durand Kerner algorithm</a> </td></tr>
<tr id="row_6_3_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="dd/d29/false__position_8cpp.html" target="_self">false_position.cpp</a></td><td class="desc">Solve the equation \(f(x)=0\) using <a href="https://en.wikipedia.org/wiki/Regula_falsi">false position method</a>, also known as the Secant method </td></tr>
<tr id="row_6_4_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d0/de2/gaussian__elimination_8cpp.html" target="_self">gaussian_elimination.cpp</a></td><td class="desc"><a href="https://en.wikipedia.org/wiki/Gaussian_elimination">Gaussian elimination method</a> </td></tr>
<tr id="row_6_5_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d6/d7a/golden__search__extrema_8cpp.html" target="_self">golden_search_extrema.cpp</a></td><td class="desc">Find extrema of a univariate real function in a given interval using <a href="https://en.wikipedia.org/wiki/Golden-section_search">golden section search algorithm</a> </td></tr>
<tr id="row_6_6_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="dd/d65/lu__decompose_8cpp.html" target="_self">lu_decompose.cpp</a></td><td class="desc"><a href="https://en.wikipedia.org/wiki/LU_decompositon">LU decomposition</a> of a square matrix </td></tr>
<tr id="row_6_7_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="d1/dbe/lu__decomposition_8h_source.html"><span class="icondoc"></span></a><a class="el" href="d1/dbe/lu__decomposition_8h.html" target="_self">lu_decomposition.h</a></td><td class="desc">Functions associated with <a href="https://en.wikipedia.org/wiki/LU_decomposition">LU Decomposition</a> of a square matrix </td></tr>
<tr id="row_6_8_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="de/dd3/newton__raphson__method_8cpp.html" target="_self">newton_raphson_method.cpp</a></td><td class="desc">Solve the equation \(f(x)=0\) using <a href="https://en.wikipedia.org/wiki/Newton%27s_method">Newton-Raphson method</a> for both real and complex solutions </td></tr>
<tr id="row_6_9_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="db/dd3/ode__forward__euler_8cpp.html" target="_self">ode_forward_euler.cpp</a></td><td class="desc">Solve a multivariable first order <a href="https://en.wikipedia.org/wiki/Ordinary_differential_equation">ordinary differential equation (ODEs)</a> using <a href="https://en.wikipedia.org/wiki/Numerical_methods_for_ordinary_differential_equations#Euler_method">forward Euler method</a> </td></tr>
<tr id="row_6_10_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d6/dd3/ode__midpoint__euler_8cpp.html" target="_self">ode_midpoint_euler.cpp</a></td><td class="desc">Solve a multivariable first order <a href="https://en.wikipedia.org/wiki/Ordinary_differential_equation">ordinary differential equation (ODEs)</a> using <a href="https://en.wikipedia.org/wiki/Midpoint_method">midpoint Euler method</a> </td></tr>
<tr id="row_6_11_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d3/d06/ode__semi__implicit__euler_8cpp.html" target="_self">ode_semi_implicit_euler.cpp</a></td><td class="desc">Solve a multivariable first order <a href="https://en.wikipedia.org/wiki/Ordinary_differential_equation">ordinary differential equation (ODEs)</a> using <a href="https://en.wikipedia.org/wiki/Semi-implicit_Euler_method">semi implicit Euler method</a> </td></tr>
<tr id="row_6_12_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><a href="d4/d68/qr__decompose_8h_source.html"><span class="icondoc"></span></a><a class="el" href="d4/d68/qr__decompose_8h.html" target="_self">qr_decompose.h</a></td><td class="desc">Library functions to compute <a href="https://en.wikipedia.org/wiki/QR_decomposition">QR decomposition</a> of a given matrix </td></tr>
<tr id="row_6_13_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d3/d24/qr__decomposition_8cpp.html" target="_self">qr_decomposition.cpp</a></td><td class="desc">Program to compute the <a href="https://en.wikipedia.org/wiki/QR_decomposition">QR decomposition</a> of a given matrix </td></tr>
<tr id="row_6_14_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="de/d75/qr__eigen__values_8cpp.html" target="_self">qr_eigen_values.cpp</a></td><td class="desc">Compute real eigen values and eigen vectors of a symmetric matrix using <a href="https://en.wikipedia.org/wiki/QR_decomposition">QR decomposition</a> method </td></tr>
<tr id="row_6_15_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="df/dc8/successive__approximation_8cpp.html" target="_self">successive_approximation.cpp</a></td><td class="desc">Method of successive approximations using <a href="https://en.wikipedia.org/wiki/Fixed-point_iteration">fixed-point iteration</a> method </td></tr>
<tr id="row_7_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_7_" class="arrow" onclick="toggleFolder('7_')">&#9658;</span><span id="img_7_" class="iconfclosed" onclick="toggleFolder('7_')">&#160;</span><a class="el" href="dir_9510827d0b234b3cc54b29892f217477.html" target="_self">others</a></td><td class="desc"></td></tr>
<tr id="row_7_0_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d1/d76/buzz__number_8cpp.html" target="_self">buzz_number.cpp</a></td><td class="desc">A buzz number is a number that is either divisible by 7 or has last digit as 7 </td></tr>
<tr id="row_7_1_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="df/d06/decimal__to__binary_8cpp.html" target="_self">decimal_to_binary.cpp</a></td><td class="desc">Function to convert decimal number to binary representation </td></tr>
<tr id="row_7_2_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="da/de7/decimal__to__hexadecimal_8cpp.html" target="_self">decimal_to_hexadecimal.cpp</a></td><td class="desc">Convert decimal number to hexadecimal representation </td></tr>
<tr id="row_7_3_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="de/d85/decimal__to__roman__numeral_8cpp.html" target="_self">decimal_to_roman_numeral.cpp</a></td><td class="desc">This Programme Converts a given decimal number in the range [0,4000) to both Lower case and Upper case Roman Numeral </td></tr>
<tr id="row_7_4_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d4/de8/fast__interger__input_8cpp.html" target="_self">fast_interger_input.cpp</a></td><td class="desc">Read integers from stdin continuously as they are entered without waiting for the <code>\n</code> character </td></tr>
<tr id="row_7_5_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="db/df3/happy__number_8cpp.html" target="_self">happy_number.cpp</a></td><td class="desc">A happy number is a number whose sum of digits is calculated until the sum is a single digit, and this sum turns out to be 1 </td></tr>
<tr id="row_7_6_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d7/d35/matrix__exponentiation_8cpp.html" target="_self">matrix_exponentiation.cpp</a></td><td class="desc">Matrix Exponentiation </td></tr>
<tr id="row_7_7_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="da/d9a/palindrome__of__number_8cpp.html" target="_self">palindrome_of_number.cpp</a></td><td class="desc">Check if a number is <a href="https://en.wikipedia.org/wiki/Palindrome">palindrome</a> or not </td></tr>
<tr id="row_7_8_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="dc/dc5/paranthesis__matching_8cpp.html" target="_self">paranthesis_matching.cpp</a></td><td class="desc">Perform paranthesis matching </td></tr>
<tr id="row_7_9_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="dc/d1a/pascal__triangle_8cpp.html" target="_self">pascal_triangle.cpp</a></td><td class="desc">Pascal's triangle implementation </td></tr>
<tr id="row_7_10_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="da/d7b/primality__test_8cpp.html" target="_self">primality_test.cpp</a></td><td class="desc"><a href="https://en.wikipedia.org/wiki/Primality_test">Primality test</a> implementation </td></tr>
<tr id="row_7_11_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d0/d01/smallest__circle_8cpp.html" target="_self">smallest_circle.cpp</a></td><td class="desc">Get centre and radius of the <a href="https://en.wikipedia.org/wiki/Smallest-circle_problem">smallest circle</a> that circumscribes given set of points </td></tr>
<tr id="row_7_12_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d3/d19/sparse__matrix_8cpp.html" target="_self">sparse_matrix.cpp</a></td><td class="desc"></td></tr>
<tr id="row_7_13_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="db/d07/spiral__print_8cpp.html" target="_self">spiral_print.cpp</a></td><td class="desc">Print the elements of a matrix traversing it spirally </td></tr>
<tr id="row_7_14_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d5/def/stairs__pattern_8cpp.html" target="_self">stairs_pattern.cpp</a></td><td class="desc">This program is use to print the following pattern </td></tr>
<tr id="row_7_15_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="db/d3c/tower__of__hanoi_8cpp.html" target="_self">tower_of_hanoi.cpp</a></td><td class="desc">Solve the <a href="https://en.wikipedia.org/wiki/Tower_of_Hanoi">Tower of Hanoi</a> problem </td></tr>
<tr id="row_7_16_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d3/d61/vector__important__functions_8cpp.html" target="_self">vector_important_functions.cpp</a></td><td class="desc">A C++ program to demonstrate working of <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/sort.html">std::sort()</a>, <a class="elRef" target="_blank" href="http://en.cppreference.com/w/cpp/algorithm/reverse.html">std::reverse()</a> </td></tr>
<tr id="row_8_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_8_" class="arrow" onclick="toggleFolder('8_')">&#9658;</span><span id="img_8_" class="iconfclosed" onclick="toggleFolder('8_')">&#160;</span><a class="el" href="dir_82e494173a87936756866de2fa774307.html" target="_self">probability</a></td><td class="desc"></td></tr>
<tr id="row_8_0_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d6/d4a/addition__rule_8cpp.html" target="_self">addition_rule.cpp</a></td><td class="desc">Addition rule of probabilities </td></tr>
<tr id="row_8_1_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d5/d67/bayes__theorem_8cpp.html" target="_self">bayes_theorem.cpp</a></td><td class="desc"><a href="https://en.wikipedia.org/wiki/Bayes%27_theorem">Bayes' theorem</a> </td></tr>
<tr id="row_8_2_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d6/db0/binomial__dist_8cpp.html" target="_self">binomial_dist.cpp</a></td><td class="desc"><a href="https://en.wikipedia.org/wiki/Binomial_distribution">Binomial distribution</a> example </td></tr>
<tr id="row_8_3_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d9/d24/poisson__dist_8cpp.html" target="_self">poisson_dist.cpp</a></td><td class="desc"><a href="https://en.wikipedia.org/wiki/Poisson_distribution">Poisson statistics</a> </td></tr>
<tr id="row_9_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_9_" class="arrow" onclick="toggleFolder('9_')">&#9658;</span><span id="img_9_" class="iconfclosed" onclick="toggleFolder('9_')">&#160;</span><a class="el" href="dir_074119ce3a874b57120c49a0cc4bb5ad.html" target="_self">range_queries</a></td><td class="desc"></td></tr>
<tr id="row_9_0_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d6/d2e/fenwick__tree_8cpp.html" target="_self">fenwick_tree.cpp</a></td><td class="desc">Fenwick tree </td></tr>
<tr id="row_10_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_10_" class="arrow" onclick="toggleFolder('10_')">&#9658;</span><span id="img_10_" class="iconfclosed" onclick="toggleFolder('10_')">&#160;</span><a class="el" href="dir_19b2bf9199a15c634a08b1ede1dd896a.html" target="_self">search</a></td><td class="desc"></td></tr>
<tr id="row_10_0_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="df/dd5/binary__search_8cpp.html" target="_self">binary_search.cpp</a></td><td class="desc"><a href="https://en.wikipedia.org/wiki/Binary_search_algorithm">Binary search algorithm</a> </td></tr>
<tr id="row_10_1_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d8/d8a/exponential__search_8cpp.html" target="_self">exponential_search.cpp</a></td><td class="desc"><a href="https://en.wikipedia.org/wiki/Exponential_search">Exponential search algorithm</a> </td></tr>
<tr id="row_10_2_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d1/df3/hash__search_8cpp.html" target="_self">hash_search.cpp</a></td><td class="desc">Hash Search Algorithm - Best Time Complexity Ω(1) </td></tr>
<tr id="row_10_3_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d9/dd7/interpolation__search_8cpp.html" target="_self">interpolation_search.cpp</a></td><td class="desc"><a href="https://en.wikipedia.org/wiki/Interpolation_search">Interpolation search</a> algorithm </td></tr>
<tr id="row_10_4_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="df/d39/interpolation__search2_8cpp.html" target="_self">interpolation_search2.cpp</a></td><td class="desc"><a href="https://en.wikipedia.org/wiki/Interpolation_search">Interpolation search</a> algorithm </td></tr>
<tr id="row_10_5_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d2/d22/jump__search_8cpp.html" target="_self">jump_search.cpp</a></td><td class="desc">C++ program to implement <a href="https://en.wikipedia.org/wiki/Jump_search">Jump Search</a> </td></tr>
<tr id="row_10_6_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d9/d02/linear__search_8cpp.html" target="_self">linear_search.cpp</a></td><td class="desc"><a href="https://en.wikipedia.org/wiki/Linear_search">Linear search algorithm</a> </td></tr>
<tr id="row_10_7_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d9/d69/median__search_8cpp.html" target="_self">median_search.cpp</a></td><td class="desc"><a href="https://en.wikipedia.org/wiki/Median_search">Median search</a> algorithm </td></tr>
<tr id="row_10_8_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="dc/dfe/ternary__search_8cpp.html" target="_self">ternary_search.cpp</a></td><td class="desc"><a href="https://en.wikipedia.org/wiki/Ternary_search">Ternary search</a> algorithm </td></tr>
<tr id="row_10_9_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="dc/db5/text__search_8cpp.html" target="_self">text_search.cpp</a></td><td class="desc">Search for words in a long textual paragraph </td></tr>
<tr id="row_11_"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_11_" class="arrow" onclick="toggleFolder('11_')">&#9658;</span><span id="img_11_" class="iconfclosed" onclick="toggleFolder('11_')">&#160;</span><a class="el" href="dir_bb1b521853a9c46347182a9d10420771.html" target="_self">sorting</a></td><td class="desc"></td></tr>
<tr id="row_11_0_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d8/d13/bubble__sort_8cpp.html" target="_self">bubble_sort.cpp</a></td><td class="desc">Bubble sort algorithm </td></tr>
<tr id="row_11_1_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d9/dfd/comb__sort_8cpp.html" target="_self">comb_sort.cpp</a></td><td class="desc"><a href="https://en.wikipedia.org/wiki/Comb_sort">Comb Sort Algorithm (Comb Sort)</a> </td></tr>
<tr id="row_11_2_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d2/d52/heap__sort_8cpp.html" target="_self">heap_sort.cpp</a></td><td class="desc"><a href="https://en.wikipedia.org/wiki/Heapsort">Heap Sort Algorithm (heap sort)</a> implementation </td></tr>
<tr id="row_11_3_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d5/df4/merge__sort_8cpp.html" target="_self">merge_sort.cpp</a></td><td class="desc"><a href="https://en.wikipedia.org/wiki/Merge_sort">Merege Sort Algorithm (MEREGE SORT)</a> implementation </td></tr>
<tr id="row_11_4_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d0/db6/non__recursive__merge__sort_8cpp.html" target="_self">non_recursive_merge_sort.cpp</a></td><td class="desc"></td></tr>
<tr id="row_11_5_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d1/d21/quick__sort_8cpp.html" target="_self">quick_sort.cpp</a></td><td class="desc">Quick sort algorithm </td></tr>
<tr id="row_11_6_" class="even" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d4/d7a/shell__sort2_8cpp.html" target="_self">shell_sort2.cpp</a></td><td class="desc"><a href="https://en.wikipedia.org/wiki/Shell_sort">Shell sort</a> algorithm </td></tr>
<tr id="row_12_" class="even"><td class="entry"><span style="width:0px;display:inline-block;">&#160;</span><span id="arr_12_" class="arrow" onclick="toggleFolder('12_')">&#9658;</span><span id="img_12_" class="iconfclosed" onclick="toggleFolder('12_')">&#160;</span><a class="el" href="dir_73a3cc5065b223eb41b02873c0e19f0e.html" target="_self">strings</a></td><td class="desc"></td></tr>
<tr id="row_12_0_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d3/d7d/brute__force__string__searching_8cpp.html" target="_self">brute_force_string_searching.cpp</a></td><td class="desc">String pattern search - brute force </td></tr>
<tr id="row_12_1_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="de/d6a/knuth__morris__pratt_8cpp.html" target="_self">knuth_morris_pratt.cpp</a></td><td class="desc">The <a href="https://en.wikipedia.org/wiki/KnuthMorrisPratt_algorithm">Knuth-Morris-Pratt Algorithm</a> for finding a pattern within a piece of text with complexity O(n + m) </td></tr>
<tr id="row_12_2_" style="display:none;"><td class="entry"><span style="width:32px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="d6/dce/rabin__karp_8cpp.html" target="_self">rabin_karp.cpp</a></td><td class="desc">The <a href="https://en.wikipedia.org/wiki/RabinKarp_algorithm">Rabin-Karp Algorithm</a> for finding a pattern within a piece of text with complexity O(n + m) </td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->

View File

@@ -1,5 +1,6 @@
var files_dup =
[
[ "ciphers", "dir_4d6e05837bf820fb089a8a8cdf2f42b7.html", "dir_4d6e05837bf820fb089a8a8cdf2f42b7" ],
[ "data_structures", "dir_2e746e9d06bf2d8ff842208bcc6ebcfc.html", "dir_2e746e9d06bf2d8ff842208bcc6ebcfc" ],
[ "geometry", "dir_e3380d2178455503f266746fb14246a5.html", "dir_e3380d2178455503f266746fb14246a5" ],
[ "graph", "dir_12552d7fa429bf94a2e32e5cf39f7e69.html", "dir_12552d7fa429bf94a2e32e5cf39f7e69" ],

View File

@@ -140,6 +140,9 @@ $(document).ready(function(){initNavTree('functions.html',''); initResizable();
: <a class="el" href="db/da9/classqueue.html#ab2019d91e28c06de325fb3076b93a930">queue&lt; Kind &gt;</a>
, <a class="el" href="d1/dc2/classstack.html#a5cc5efbbd4ea14b3e378580f1388423b">stack&lt; Type &gt;</a>
</li>
<li>codec()
: <a class="el" href="d6/d26/classciphers_1_1_hill_cipher.html#ad667fa0860977f6d6d443fa1dbcd80aa">ciphers::HillCipher</a>
</li>
<li>Complex()
: <a class="el" href="da/d5a/class_complex.html#a3cfc522c782726f49ee20af17b77f867">Complex</a>
</li>
@@ -156,6 +159,9 @@ $(document).ready(function(){initNavTree('functions.html',''); initResizable();
<li>decreaseKey()
: <a class="el" href="d2/d05/class_min_heap.html#aa7f726cc6327955d22871592227432f5">MinHeap</a>
</li>
<li>decrypt_text()
: <a class="el" href="d6/d26/classciphers_1_1_hill_cipher.html#a427acfac1dbff3f48a2b071d449d965b">ciphers::HillCipher</a>
</li>
<li>deleteKey()
: <a class="el" href="d2/d05/class_min_heap.html#a37ac126eabb0c3ce04047172abccca29">MinHeap</a>
</li>
@@ -182,6 +188,9 @@ $(document).ready(function(){initNavTree('functions.html',''); initResizable();
<li>Edge()
: <a class="el" href="d7/d77/class_edge.html#a415a5d002fe11c58711e48aabe975980">Edge</a>
</li>
<li>encrypt_text()
: <a class="el" href="d6/d26/classciphers_1_1_hill_cipher.html#aa8bbb6e4a5749f6008b06602d5103917">ciphers::HillCipher</a>
</li>
<li>enQueue()
: <a class="el" href="db/da9/classqueue.html#a592c0580551ec0d3b4d43e8198d8a377">queue&lt; Kind &gt;</a>
</li>
@@ -211,6 +220,27 @@ $(document).ready(function(){initNavTree('functions.html',''); initResizable();
<h3><a id="index_g"></a>- g -</h3><ul>
<li>gcd()
: <a class="el" href="d6/d26/classciphers_1_1_hill_cipher.html#a7760f3665651a0a37937c79c62f219c0">ciphers::HillCipher</a>
</li>
<li>generate_decryption_key()
: <a class="el" href="d6/d26/classciphers_1_1_hill_cipher.html#abb2c4dc2b8a59d3dfe0fa22c2adc086b">ciphers::HillCipher</a>
</li>
<li>generate_encryption_key()
: <a class="el" href="d6/d26/classciphers_1_1_hill_cipher.html#a7ca10cd1a0e8e3732391e0427d2d0213">ciphers::HillCipher</a>
</li>
<li>generate_keys()
: <a class="el" href="d6/d26/classciphers_1_1_hill_cipher.html#a14bfcd14af6cd853130cbacd32e35c13">ciphers::HillCipher</a>
</li>
<li>get_char_idx()
: <a class="el" href="d6/d26/classciphers_1_1_hill_cipher.html#ae77cad522fa44b8c985779a7188d2f41">ciphers::HillCipher</a>
</li>
<li>get_idx_char()
: <a class="el" href="d6/d26/classciphers_1_1_hill_cipher.html#a12f727cca9e21f9539cd74b6603adf0c">ciphers::HillCipher</a>
</li>
<li>get_inverse()
: <a class="el" href="d6/d26/classciphers_1_1_hill_cipher.html#a5a4cdbd4d4dad9efe2ed309bd466dd4b">ciphers::HillCipher</a>
</li>
<li>getAdjList()
: <a class="el" href="da/d9a/class_graph.html#ae8959064e179573cc48f8cee99115c07">Graph</a>
</li>
@@ -224,13 +254,13 @@ $(document).ready(function(){initNavTree('functions.html',''); initResizable();
: <a class="el" href="da/d9a/class_graph.html#a8aa88a88269773cc4dba255dec035898">Graph</a>
</li>
<li>Graph()
: <a class="el" href="da/d9a/class_graph.html#ae30edce9b4e7c6347e67edc343f366d8">Graph</a>
: <a class="el" href="da/d9a/class_graph.html#aa99d44d3179d5bbbfa84a5031cf80cb1">Graph</a>
</li>
<li>graph()
: <a class="el" href="dd/d9b/classgraph.html#a6da44f9820d3b7bae2f0f74bc149c27e">graph</a>
</li>
<li>Graph()
: <a class="el" href="da/d9a/class_graph.html#aa99d44d3179d5bbbfa84a5031cf80cb1">Graph</a>
: <a class="el" href="da/d9a/class_graph.html#a8c95e00effaea0cd9404dd74cd802ae3">Graph</a>
</li>
</ul>
@@ -294,6 +324,9 @@ $(document).ready(function(){initNavTree('functions.html',''); initResizable();
<h3><a id="index_m"></a>- m -</h3><ul>
<li>mat_mul()
: <a class="el" href="d6/d26/classciphers_1_1_hill_cipher.html#a40efd842a5cc44c233641ac2df13b0c0">ciphers::HillCipher</a>
</li>
<li>mean()
: <a class="el" href="d7/d7c/classstatistics_1_1stats__computer1.html#a390697dcee210b91823ceff04b25081b">statistics::stats_computer1&lt; T &gt;</a>
, <a class="el" href="d8/dab/classstatistics_1_1stats__computer2.html#a8290966ad468f2a8c266d008bc60720e">statistics::stats_computer2&lt; T &gt;</a>
@@ -412,6 +445,9 @@ $(document).ready(function(){initNavTree('functions.html',''); initResizable();
<h3><a id="index_r"></a>- r -</h3><ul>
<li>rand_range()
: <a class="el" href="d6/d26/classciphers_1_1_hill_cipher.html#a629be41c1ab78850963e4ce14e1d11d9">ciphers::HillCipher</a>
</li>
<li>real()
: <a class="el" href="da/d5a/class_complex.html#a312e4b19146128408fb06e0150b0faf6">Complex</a>
</li>

View File

@@ -123,6 +123,9 @@ $(document).ready(function(){initNavTree('functions_func.html',''); initResizabl
: <a class="el" href="db/da9/classqueue.html#ab2019d91e28c06de325fb3076b93a930">queue&lt; Kind &gt;</a>
, <a class="el" href="d1/dc2/classstack.html#a5cc5efbbd4ea14b3e378580f1388423b">stack&lt; Type &gt;</a>
</li>
<li>codec()
: <a class="el" href="d6/d26/classciphers_1_1_hill_cipher.html#ad667fa0860977f6d6d443fa1dbcd80aa">ciphers::HillCipher</a>
</li>
<li>Complex()
: <a class="el" href="da/d5a/class_complex.html#a3cfc522c782726f49ee20af17b77f867">Complex</a>
</li>
@@ -133,6 +136,9 @@ $(document).ready(function(){initNavTree('functions_func.html',''); initResizabl
<li>decreaseKey()
: <a class="el" href="d2/d05/class_min_heap.html#aa7f726cc6327955d22871592227432f5">MinHeap</a>
</li>
<li>decrypt_text()
: <a class="el" href="d6/d26/classciphers_1_1_hill_cipher.html#a427acfac1dbff3f48a2b071d449d965b">ciphers::HillCipher</a>
</li>
<li>deleteKey()
: <a class="el" href="d2/d05/class_min_heap.html#a37ac126eabb0c3ce04047172abccca29">MinHeap</a>
</li>
@@ -159,6 +165,9 @@ $(document).ready(function(){initNavTree('functions_func.html',''); initResizabl
<li>Edge()
: <a class="el" href="d7/d77/class_edge.html#a415a5d002fe11c58711e48aabe975980">Edge</a>
</li>
<li>encrypt_text()
: <a class="el" href="d6/d26/classciphers_1_1_hill_cipher.html#aa8bbb6e4a5749f6008b06602d5103917">ciphers::HillCipher</a>
</li>
<li>enQueue()
: <a class="el" href="db/da9/classqueue.html#a592c0580551ec0d3b4d43e8198d8a377">queue&lt; Kind &gt;</a>
</li>
@@ -185,6 +194,27 @@ $(document).ready(function(){initNavTree('functions_func.html',''); initResizabl
<h3><a id="index_g"></a>- g -</h3><ul>
<li>gcd()
: <a class="el" href="d6/d26/classciphers_1_1_hill_cipher.html#a7760f3665651a0a37937c79c62f219c0">ciphers::HillCipher</a>
</li>
<li>generate_decryption_key()
: <a class="el" href="d6/d26/classciphers_1_1_hill_cipher.html#abb2c4dc2b8a59d3dfe0fa22c2adc086b">ciphers::HillCipher</a>
</li>
<li>generate_encryption_key()
: <a class="el" href="d6/d26/classciphers_1_1_hill_cipher.html#a7ca10cd1a0e8e3732391e0427d2d0213">ciphers::HillCipher</a>
</li>
<li>generate_keys()
: <a class="el" href="d6/d26/classciphers_1_1_hill_cipher.html#a14bfcd14af6cd853130cbacd32e35c13">ciphers::HillCipher</a>
</li>
<li>get_char_idx()
: <a class="el" href="d6/d26/classciphers_1_1_hill_cipher.html#ae77cad522fa44b8c985779a7188d2f41">ciphers::HillCipher</a>
</li>
<li>get_idx_char()
: <a class="el" href="d6/d26/classciphers_1_1_hill_cipher.html#a12f727cca9e21f9539cd74b6603adf0c">ciphers::HillCipher</a>
</li>
<li>get_inverse()
: <a class="el" href="d6/d26/classciphers_1_1_hill_cipher.html#a5a4cdbd4d4dad9efe2ed309bd466dd4b">ciphers::HillCipher</a>
</li>
<li>getAdjList()
: <a class="el" href="da/d9a/class_graph.html#ae8959064e179573cc48f8cee99115c07">Graph</a>
</li>
@@ -252,6 +282,9 @@ $(document).ready(function(){initNavTree('functions_func.html',''); initResizabl
<h3><a id="index_m"></a>- m -</h3><ul>
<li>mat_mul()
: <a class="el" href="d6/d26/classciphers_1_1_hill_cipher.html#a40efd842a5cc44c233641ac2df13b0c0">ciphers::HillCipher</a>
</li>
<li>mean()
: <a class="el" href="d7/d7c/classstatistics_1_1stats__computer1.html#a390697dcee210b91823ceff04b25081b">statistics::stats_computer1&lt; T &gt;</a>
, <a class="el" href="d8/dab/classstatistics_1_1stats__computer2.html#a8290966ad468f2a8c266d008bc60720e">statistics::stats_computer2&lt; T &gt;</a>
@@ -345,6 +378,9 @@ $(document).ready(function(){initNavTree('functions_func.html',''); initResizabl
<h3><a id="index_r"></a>- r -</h3><ul>
<li>rand_range()
: <a class="el" href="d6/d26/classciphers_1_1_hill_cipher.html#a629be41c1ab78850963e4ce14e1d11d9">ciphers::HillCipher</a>
</li>
<li>real()
: <a class="el" href="da/d5a/class_complex.html#a312e4b19146128408fb06e0150b0faf6">Complex</a>
</li>

View File

@@ -94,21 +94,21 @@ $(document).ready(function(){initNavTree('globals_func_m.html',''); initResizabl
<h3><a id="index_m"></a>- m -</h3><ul>
<li>main()
: <a class="el" href="d8/dee/avltree_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">avltree.cpp</a>
, <a class="el" href="de/d23/disjoint__set_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">disjoint_set.cpp</a>
, <a class="el" href="dc/d93/trie__modern_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">trie_modern.cpp</a>
, <a class="el" href="d4/def/kohonen__som__topology_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">kohonen_som_topology.cpp</a>
, <a class="el" href="d7/d89/double__factorial_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">double_factorial.cpp</a>
, <a class="el" href="db/d0d/prime__factorization_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">prime_factorization.cpp</a>
: <a class="el" href="d7/db9/hill__cipher_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">hill_cipher.cpp</a>
, <a class="el" href="d8/dee/avltree_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">avltree.cpp</a>
, <a class="el" href="d3/dce/linkedlist__implentation__usingarray_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">linkedlist_implentation_usingarray.cpp</a>
, <a class="el" href="d5/db0/adaline__learning_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">adaline_learning.cpp</a>
, <a class="el" href="d5/d67/complex__numbers_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">complex_numbers.cpp</a>
, <a class="el" href="df/def/power__for__huge__numbers_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">power_for_huge_numbers.cpp</a>
, <a class="el" href="d3/d19/sparse__matrix_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">sparse_matrix.cpp</a>
, <a class="el" href="db/d07/spiral__print_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">spiral_print.cpp</a>
, <a class="el" href="db/d0d/prime__factorization_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">prime_factorization.cpp</a>
, <a class="el" href="d5/def/stairs__pattern_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">stairs_pattern.cpp</a>
, <a class="el" href="de/d9b/prime__numbers_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">prime_numbers.cpp</a>
, <a class="el" href="db/d3c/tower__of__hanoi_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">tower_of_hanoi.cpp</a>
, <a class="el" href="d7/d89/double__factorial_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">double_factorial.cpp</a>
, <a class="el" href="de/d9b/prime__numbers_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">prime_numbers.cpp</a>
, <a class="el" href="d3/d61/vector__important__functions_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">vector_important_functions.cpp</a>
, <a class="el" href="da/d23/eulers__totient__function_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97">eulers_totient_function.cpp</a>
, <a class="el" href="d4/d9c/primes__up__to__billion_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">primes_up_to_billion.cpp</a>
, <a class="el" href="d6/d4a/addition__rule_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">addition_rule.cpp</a>
, <a class="el" href="d5/d67/bayes__theorem_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">bayes_theorem.cpp</a>
, <a class="el" href="d6/dce/rabin__karp_8cpp.html#a840291bc02cba5474a4cb46a9b9566fe">rabin_karp.cpp</a>
, <a class="el" href="de/d6a/knuth__morris__pratt_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">knuth_morris_pratt.cpp</a>
, <a class="el" href="d3/d7d/brute__force__string__searching_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">brute_force_string_searching.cpp</a>
@@ -127,15 +127,15 @@ $(document).ready(function(){initNavTree('globals_func_m.html',''); initResizabl
, <a class="el" href="d8/d8a/exponential__search_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">exponential_search.cpp</a>
, <a class="el" href="df/dd5/binary__search_8cpp.html#abf9e6b7e6f15df4b525a2e7705ba3089">binary_search.cpp</a>
, <a class="el" href="d6/d2e/fenwick__tree_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">fenwick_tree.cpp</a>
, <a class="el" href="d0/d08/realtime__stats_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">realtime_stats.cpp</a>
, <a class="el" href="d6/db0/binomial__dist_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">binomial_dist.cpp</a>
, <a class="el" href="d9/d24/poisson__dist_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">poisson_dist.cpp</a>
, <a class="el" href="d9/d49/kohonen__som__trace_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">kohonen_som_trace.cpp</a>
, <a class="el" href="d9/d5d/extended__euclid__algorithm_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">extended_euclid_algorithm.cpp</a>
, <a class="el" href="d4/d9c/primes__up__to__billion_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">primes_up_to_billion.cpp</a>
, <a class="el" href="d5/d67/bayes__theorem_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">bayes_theorem.cpp</a>
, <a class="el" href="d6/db0/binomial__dist_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">binomial_dist.cpp</a>
, <a class="el" href="d4/def/kohonen__som__topology_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">kohonen_som_topology.cpp</a>
, <a class="el" href="da/d23/eulers__totient__function_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97">eulers_totient_function.cpp</a>
, <a class="el" href="d0/d08/realtime__stats_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">realtime_stats.cpp</a>
, <a class="el" href="d8/ddf/sieve__of__eratosthenes_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">sieve_of_eratosthenes.cpp</a>
, <a class="el" href="da/d24/sqrt__double_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">sqrt_double.cpp</a>
, <a class="el" href="d9/d00/factorial_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">factorial.cpp</a>
, <a class="el" href="d3/d19/sparse__matrix_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">sparse_matrix.cpp</a>
, <a class="el" href="d9/d5d/extended__euclid__algorithm_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">extended_euclid_algorithm.cpp</a>
, <a class="el" href="d0/d01/smallest__circle_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">smallest_circle.cpp</a>
, <a class="el" href="da/d7b/primality__test_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">primality_test.cpp</a>
, <a class="el" href="dc/d1a/pascal__triangle_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">pascal_triangle.cpp</a>
@@ -159,15 +159,15 @@ $(document).ready(function(){initNavTree('globals_func_m.html',''); initResizabl
, <a class="el" href="dd/d29/false__position_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">false_position.cpp</a>
, <a class="el" href="db/d01/brent__method__extrema_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">brent_method_extrema.cpp</a>
, <a class="el" href="d7/d6a/bisection__method_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">bisection_method.cpp</a>
, <a class="el" href="de/d47/string__fibonacci_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">string_fibonacci.cpp</a>
, <a class="el" href="d4/d83/sum__of__digits_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">sum_of_digits.cpp</a>
, <a class="el" href="d8/d6c/line__segment__intersection_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">line_segment_intersection.cpp</a>
, <a class="el" href="dc/d38/ordinary__least__squares__regressor_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">ordinary_least_squares_regressor.cpp</a>
, <a class="el" href="da/d24/sqrt__double_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">sqrt_double.cpp</a>
, <a class="el" href="de/d47/string__fibonacci_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">string_fibonacci.cpp</a>
, <a class="el" href="dc/d93/trie__modern_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">trie_modern.cpp</a>
, <a class="el" href="d9/d49/kohonen__som__trace_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">kohonen_som_trace.cpp</a>
, <a class="el" href="d9/d00/factorial_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">factorial.cpp</a>
, <a class="el" href="d2/d0b/fast__power_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">fast_power.cpp</a>
, <a class="el" href="dc/d38/ordinary__least__squares__regressor_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">ordinary_least_squares_regressor.cpp</a>
, <a class="el" href="d9/d89/fibonacci_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">fibonacci.cpp</a>
, <a class="el" href="d4/d5d/math_2armstrong__number_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">armstrong_number.cpp</a>
, <a class="el" href="d4/d32/fibonacci__fast_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">fibonacci_fast.cpp</a>
, <a class="el" href="df/def/power__for__huge__numbers_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">power_for_huge_numbers.cpp</a>
, <a class="el" href="d0/da2/number__of__positive__divisors_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">number_of_positive_divisors.cpp</a>
, <a class="el" href="d8/d53/modular__inverse__fermat__little__theorem_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">modular_inverse_fermat_little_theorem.cpp</a>
, <a class="el" href="d6/d42/miller__rabin_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">miller_rabin.cpp</a>
@@ -176,13 +176,14 @@ $(document).ready(function(){initNavTree('globals_func_m.html',''); initResizabl
, <a class="el" href="d4/d45/gcd__recursive__euclidean_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">gcd_recursive_euclidean.cpp</a>
, <a class="el" href="d1/d11/gcd__of__n__numbers_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">gcd_of_n_numbers.cpp</a>
, <a class="el" href="d4/da0/gcd__iterative__euclidean_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">gcd_iterative_euclidean.cpp</a>
, <a class="el" href="d3/dce/linkedlist__implentation__usingarray_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">linkedlist_implentation_usingarray.cpp</a>
, <a class="el" href="df/ddd/connected__components_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">connected_components.cpp</a>
, <a class="el" href="d4/d32/fibonacci__fast_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">fibonacci_fast.cpp</a>
, <a class="el" href="de/d23/disjoint__set_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">disjoint_set.cpp</a>
, <a class="el" href="d8/d6c/line__segment__intersection_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">line_segment_intersection.cpp</a>
, <a class="el" href="d4/d5d/math_2armstrong__number_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">armstrong_number.cpp</a>
, <a class="el" href="de/dcf/binary__exponent_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">binary_exponent.cpp</a>
, <a class="el" href="df/ddd/connected__components_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">connected_components.cpp</a>
, <a class="el" href="d5/df6/check__amicable__pair_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">check_amicable_pair.cpp</a>
, <a class="el" href="d5/db0/adaline__learning_8cpp.html#a3c04138a5bfe5d72780bb7e82a18e627">adaline_learning.cpp</a>
, <a class="el" href="db/d93/check__prime_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">check_prime.cpp</a>
, <a class="el" href="d5/d67/complex__numbers_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4">complex_numbers.cpp</a>
</li>
<li>mat_mul()
: <a class="el" href="de/d75/qr__eigen__values_8cpp.html#a7558fd7779bf207157ced66f275951a0">qr_eigen_values.cpp</a>

View File

@@ -112,10 +112,10 @@ $(document).ready(function(){initNavTree('globals_func_o.html',''); initResizabl
: <a class="el" href="dc/d38/ordinary__least__squares__regressor_8cpp.html#a30acf52af3184bc22274234ef5a73536">ordinary_least_squares_regressor.cpp</a>
</li>
<li>operator&lt;&lt;()
: <a class="el" href="dc/d38/ordinary__least__squares__regressor_8cpp.html#aa799b4cec1681219887d89d037cfab50">ordinary_least_squares_regressor.cpp</a>
: <a class="el" href="dc/d38/ordinary__least__squares__regressor_8cpp.html#a98eb5807f21b783c341cab402ced6732">ordinary_least_squares_regressor.cpp</a>
, <a class="el" href="dd/d65/lu__decompose_8cpp.html#a9459fcd1f020373d73eae2bad43786d0">lu_decompose.cpp</a>
, <a class="el" href="dc/d38/ordinary__least__squares__regressor_8cpp.html#a98eb5807f21b783c341cab402ced6732">ordinary_least_squares_regressor.cpp</a>
, <a class="el" href="d5/d67/complex__numbers_8cpp.html#af738b2a6921f0a6868bb7c5b4c0d18e0">complex_numbers.cpp</a>
, <a class="el" href="d7/db9/hill__cipher_8cpp.html#aeff09ac6b8f060c828354394a3189519">hill_cipher.cpp</a>
</li>
<li>operator==()
: <a class="el" href="d5/d67/complex__numbers_8cpp.html#a5a73e9d4e68af8cedb95bd0864054b89">complex_numbers.cpp</a>

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