First commit
This commit is contained in:
commit
f5c2080cd5
11 changed files with 386989 additions and 0 deletions
132
web_gui/index.html
Normal file
132
web_gui/index.html
Normal file
|
@ -0,0 +1,132 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta content="text/html;charset=utf-8" http-equiv="Content-Type"/>
|
||||
<title>Anagram calculator</title>
|
||||
<style>
|
||||
body {
|
||||
background-color: black;
|
||||
text-align: center;
|
||||
color: white;
|
||||
}
|
||||
#upload_dict_label {
|
||||
display: inline-block;
|
||||
background-color: #333;
|
||||
padding: 15px;
|
||||
margin: 15px;
|
||||
text-align: center;
|
||||
display: inline-block;
|
||||
font-size: 24px;
|
||||
border-radius: 15px;
|
||||
box-shadow: 5px 6px #222;
|
||||
border: solid;
|
||||
border-color: black;
|
||||
}
|
||||
#upload_dict_label:hover {
|
||||
background-color: #444;
|
||||
}
|
||||
#upload_dict_label:active {
|
||||
background-color: #444;
|
||||
box-shadow: 0px 0px #444;
|
||||
transform: translateY(9px);
|
||||
}
|
||||
#main_div {
|
||||
border-radius: 15px;
|
||||
background-color: #555555;
|
||||
padding: 15px;
|
||||
margin: 15px;
|
||||
text-align: center;
|
||||
display: inline-block;
|
||||
}
|
||||
#spinner {
|
||||
margin: 30px;
|
||||
display: none;
|
||||
}
|
||||
#result {
|
||||
text-align: left;
|
||||
}
|
||||
#word_div {
|
||||
margin: 30px;
|
||||
}
|
||||
|
||||
.lds-dual-ring {
|
||||
display: inline-block;
|
||||
width: 80px;
|
||||
height: 80px;
|
||||
}
|
||||
.lds-dual-ring:after {
|
||||
content: " ";
|
||||
display: block;
|
||||
width: 64px;
|
||||
height: 64px;
|
||||
margin: 8px;
|
||||
border-radius: 50%;
|
||||
border: 6px solid #fff;
|
||||
border-color: #fff transparent #fff transparent;
|
||||
animation: lds-dual-ring 1.2s linear infinite;
|
||||
}
|
||||
@keyframes lds-dual-ring {
|
||||
0% {
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
100% {
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
<!-- Katex for latex rendering -->
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/katex@0.16.4/dist/katex.min.css" integrity="sha384-vKruj+a13U8yHIkAyGgK1J3ArTLzrFGBbBc0tDp4ad/EyewESeXE/Iv67Aj8gKZ0" crossorigin="anonymous">
|
||||
|
||||
<!-- The loading of KaTeX is deferred to speed up page rendering -->
|
||||
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.4/dist/katex.min.js" integrity="sha384-PwRUT/YqbnEjkZO0zZxNqcxACrXe+j766U2amXcgMg5457rve2Y7I6ZJSm2A0mS4" crossorigin="anonymous"></script>
|
||||
|
||||
<!-- To automatically render math in text elements, include the auto-render extension: -->
|
||||
<script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.4/dist/contrib/auto-render.min.js" integrity="sha384-+VBxd3r6XgURycqtZ117nYw44OOcIax56Z4dCRWbxyPt0Koah1uHoK0o4+/RRE05" crossorigin="anonymous"
|
||||
onload="renderMathInElement(document.body);"></script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="main_div">
|
||||
<p> Load <a href="./dict.dat">dict.dat</a> before starting </p>
|
||||
<p> Wildcards are implemented but increase a lot the precomputing complexity</p>
|
||||
<p> The precomputation time has a complexity if \(\mathcal{O}(\sum_{i=0}^W \binom{S}{i} . n)\) where \(S\) is the maximum size of the words, \(W\) the maximum number of wild card, and \(n\) the size of the dictionary. For \(S = 15\) and \(W = 3\), this is more or less \(500 . n\)</p>
|
||||
<p> The wildcard caracter is '?'</p>
|
||||
<p> Sources in rust are available <a href="./lib.rs">here</a> </p>
|
||||
<h3> TODO: </h3>
|
||||
<ul>
|
||||
<li> Allow query-time resolution of wild cards when there are more wildcards than the number of precomputed wild cards</li>
|
||||
</ul>
|
||||
<div id="upload_dict_div">
|
||||
<label id="upload_dict_label" for="upload_dict">Select the dictionary</label>
|
||||
<input type="file" id="upload_dict" style="opacity:0">
|
||||
<div>
|
||||
<label id="nb_wild_card_label" for="nb_wild_card"> Select the number of precomputed wild card: </label>
|
||||
<input type="number" id="nb_wild_card" value=0>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Thanks https://loading.io/css/ for the spinner -->
|
||||
<div id="spinner" class="lds-dual-ring"></div>
|
||||
<div id="word_div">
|
||||
<label id="word_label" for="select_word">Enter word: </label>
|
||||
<input type="text" id="select_word">
|
||||
<p id="ask_dict">Please select a dictionnary</p>
|
||||
</div>
|
||||
<div>
|
||||
<ul id="result"></ul>
|
||||
<div>
|
||||
</div>
|
||||
|
||||
|
||||
<script type="module">
|
||||
import init from './pkg/anagrams_web.js';
|
||||
|
||||
async function run() {
|
||||
await init();
|
||||
}
|
||||
run();
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue