Skip to content

Commit

Permalink
Improves Doxygen documentation and fixes wrong docs link
Browse files Browse the repository at this point in the history
 - Fixes the documentation link in README.md

 - Sets the repository's README.md as Doxygen main page

 - Adds the Doxygen-generated files
  • Loading branch information
Patrick Jattke committed Apr 28, 2020
1 parent 7f4160c commit a39ce2d
Show file tree
Hide file tree
Showing 623 changed files with 79,349 additions and 9 deletions.
6 changes: 3 additions & 3 deletions doc/doxygen/doxygen.conf → Doxyfile
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ PROJECT_LOGO =
# entered, it will be relative to the location where doxygen was started. If
# left blank the current directory will be used.

OUTPUT_DIRECTORY = ../../doc
OUTPUT_DIRECTORY = docs/

# If the CREATE_SUBDIRS tag is set to YES then doxygen will create 4096 sub-
# directories (in 2 levels) under the output directory of each output format and
Expand Down Expand Up @@ -829,7 +829,7 @@ WARN_LOGFILE =
# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING
# Note: If this tag is empty the current directory is searched.

INPUT = ../../src ../../include
INPUT = README.md src include

# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
Expand Down Expand Up @@ -1024,7 +1024,7 @@ FILTER_SOURCE_PATTERNS =
# (index.html). This can be useful if you have a project on for instance GitHub
# and want to reuse the introduction page also for the doxygen output.

USE_MDFILE_AS_MAINPAGE =
USE_MDFILE_AS_MAINPAGE = README.md

#---------------------------------------------------------------------------
# Configuration options related to source browsing
Expand Down
9 changes: 3 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,7 @@
[![CI/CD](https://github.com/MarbleHE/AST-Optimizer/workflows/build_run_tests/badge.svg?branch=operator-extensions)](https://github.com/MarbleHE/AST-Optimizer/actions)
[![Documentation](https://img.shields.io/badge/docs-doxygen-blue.svg)](http://marblehe.github.io/AST-Optimizer)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat)](https://github.com/dwyl/esta/issues)

// TODO Make the doxygen docs available as described in [this blogpost](https://goseeky.wordpress.com/2017/07/22/documentation-101-doxygen-with-github-pages/). Requires owner permissions of repository to make Github pages available.
[![contributions welcome](https://img.shields.io/badge/contributions-welcome-brightgreen.svg?style=flat)](https://github.com/MarbleHE/AST-Optimizer/issues)

This repository hosts an optimizer for Fully Homomorphic Encryption (FHE) working on an AST-like (Abstract Syntax Tree) representation of a program.
In future, this optimization component will be integrated into the [Marble](https://github.com/MarbleHE/Marble) FHE compiler [1].
Expand Down Expand Up @@ -72,7 +70,7 @@ can be rewritten as
x = (condition)*5 + (1-condition)*21;
```
without using any If statement.
Furthermore, the simplifier evaluates parts of the computation that are known at compile time (e.g., arithmetic expressions), after having inlined the variable values.
Furthermore, the simplifier evaluates parts of the computation that are known at compile time, e.g., arithmetic or logical expressions.

#### Cone-Rewriting

Expand Down Expand Up @@ -265,8 +263,7 @@ Further, the static code checker [cpplint](https://github.com/cpplint/cpplint) i
The documentation can be generated using the supplied configuration `doxygen.conf` as described following:

```bash
cd doc/doxygen
doxygen doxygen.conf
doxygen Doxyfile
```

### Testing
Expand Down
Binary file removed doc/images/AstOptimizer.vpp
Binary file not shown.
123 changes: 123 additions & 0 deletions docs/html/_abstract_binary_expr_8h_source.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,123 @@
<!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.16"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>AST Optimizer for FHE: include/ast/AbstractBinaryExpr.h Source File</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="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>
<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">AST Optimizer for FHE
</div>
<div id="projectbrief">An optimizer for FHE-based applications.</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.16 -->
<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>
<!-- 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 id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li><li class="navelem"><a class="el" href="dir_7347dc76a0e005a8017061b66f2d1b7a.html">ast</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">AbstractBinaryExpr.h</div> </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="preprocessor">#ifndef AST_OPTIMIZER_INCLUDE_AST_ABSTRACTBINARYEXPR_H_</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="preprocessor">#define AST_OPTIMIZER_INCLUDE_AST_ABSTRACTBINARYEXPR_H_</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160; </div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="preprocessor">#include &quot;AbstractExpr.h&quot;</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160; </div>
<div class="line"><a name="l00006"></a><span class="lineno"><a class="line" href="class_abstract_binary_expr.html"> 6</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_abstract_binary_expr.html">AbstractBinaryExpr</a> : <span class="keyword">public</span> <a class="code" href="class_abstract_expr.html">AbstractExpr</a> {</div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160; <span class="keyword">public</span>:</div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160; <span class="keywordtype">void</span> setAttributes(<a class="code" href="class_abstract_expr.html">AbstractExpr</a> *leftOperand, <a class="code" href="class_operator.html">Operator</a> *operatore, <a class="code" href="class_abstract_expr.html">AbstractExpr</a> *rightOperand);</div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160; </div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160; [[nodiscard]] <a class="code" href="class_abstract_expr.html">AbstractExpr</a> *getLeft() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160; </div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160; [[nodiscard]] <a class="code" href="class_operator.html">Operator</a> *getOperator() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160; </div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160; [[nodiscard]] <a class="code" href="class_abstract_expr.html">AbstractExpr</a> *getRight() <span class="keyword">const</span>;</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160; </div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160; <span class="keywordtype">int</span> <a class="code" href="class_abstract_binary_expr.html#a597b7d18a6dbd4a2d76245873ff90627">getMaxNumberChildren</a>() <span class="keyword">override</span>;</div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160; </div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160; [[nodiscard]] json <a class="code" href="class_abstract_binary_expr.html#a37df209d914bb3104689caf8e3e93cdf">toJson</a>() <span class="keyword">const override</span>;</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160; </div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160; std::vector&lt;std::string&gt; getVariableIdentifiers() <span class="keyword">override</span>;</div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160; </div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160; <span class="keywordtype">bool</span> <a class="code" href="class_abstract_binary_expr.html#a5d17aeb275587b0fd92d457a3454acdb">supportsCircuitMode</a>() <span class="keyword">override</span>;</div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160; </div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160; <span class="keywordtype">bool</span> contains(<a class="code" href="class_variable.html">Variable</a> *var) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160; </div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160; <span class="keywordtype">int</span> countByTemplate(<a class="code" href="class_abstract_expr.html">AbstractExpr</a> *abstractExpr) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160; </div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160; <a class="code" href="class_abstract_binary_expr.html">AbstractBinaryExpr</a> *contains(<a class="code" href="class_abstract_binary_expr.html">AbstractBinaryExpr</a> *aexpTemplate, <a class="code" href="class_abstract_expr.html">AbstractExpr</a> *excludedSubtree) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160; </div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160; <span class="keywordtype">bool</span> isEqual(<a class="code" href="class_abstract_expr.html">AbstractExpr</a> *other) <span class="keyword">override</span>;</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160; </div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160; <span class="keyword">static</span> <span class="keywordtype">void</span> swapOperandsLeftAWithRightB(<a class="code" href="class_abstract_binary_expr.html">AbstractBinaryExpr</a> *aexpA, <a class="code" href="class_abstract_binary_expr.html">AbstractBinaryExpr</a> *aexpB);</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;};</div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160; </div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor">#endif //AST_OPTIMIZER_INCLUDE_AST_ABSTRACTBINARYEXPR_H_</span></div>
</div><!-- fragment --></div><!-- contents -->
<div class="ttc" id="aclass_abstract_binary_expr_html"><div class="ttname"><a href="class_abstract_binary_expr.html">AbstractBinaryExpr</a></div><div class="ttdef"><b>Definition:</b> AbstractBinaryExpr.h:6</div></div>
<div class="ttc" id="aclass_abstract_binary_expr_html_a5d17aeb275587b0fd92d457a3454acdb"><div class="ttname"><a href="class_abstract_binary_expr.html#a5d17aeb275587b0fd92d457a3454acdb">AbstractBinaryExpr::supportsCircuitMode</a></div><div class="ttdeci">bool supportsCircuitMode() override</div><div class="ttdef"><b>Definition:</b> AbstractBinaryExpr.cpp:54</div></div>
<div class="ttc" id="aclass_abstract_binary_expr_html_a37df209d914bb3104689caf8e3e93cdf"><div class="ttname"><a href="class_abstract_binary_expr.html#a37df209d914bb3104689caf8e3e93cdf">AbstractBinaryExpr::toJson</a></div><div class="ttdeci">json toJson() const override</div><div class="ttdef"><b>Definition:</b> AbstractBinaryExpr.cpp:27</div></div>
<div class="ttc" id="aclass_abstract_binary_expr_html_a597b7d18a6dbd4a2d76245873ff90627"><div class="ttname"><a href="class_abstract_binary_expr.html#a597b7d18a6dbd4a2d76245873ff90627">AbstractBinaryExpr::getMaxNumberChildren</a></div><div class="ttdeci">int getMaxNumberChildren() override</div><div class="ttdef"><b>Definition:</b> AbstractBinaryExpr.cpp:23</div></div>
<div class="ttc" id="aclass_abstract_expr_html"><div class="ttname"><a href="class_abstract_expr.html">AbstractExpr</a></div><div class="ttdef"><b>Definition:</b> AbstractExpr.h:15</div></div>
<div class="ttc" id="aclass_operator_html"><div class="ttname"><a href="class_operator.html">Operator</a></div><div class="ttdef"><b>Definition:</b> Operator.h:18</div></div>
<div class="ttc" id="aclass_variable_html"><div class="ttname"><a href="class_variable.html">Variable</a></div><div class="ttdef"><b>Definition:</b> Variable.h:10</div></div>
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.16
</small></address>
</body>
</html>
Loading

0 comments on commit a39ce2d

Please sign in to comment.