- The compressed version is only 345 caracters long.
- Faster than common libraries, even a large number of arrays, or on very big arrays. (See benchmarks)
Usage
# RSA | |
ssl_certificate /path/fullchain.pem; | |
ssl_certificate_key /path/privkey.pem; | |
# ECDSA | |
ssl_certificate /path/0001_chain.pem; | |
ssl_certificate_key /path/itchy.nl.ec.key; | |
ssl_dhparam /path/dhparam4096.pem; |
// index size: ~ 146kB / distance / 1000 words | |
// https://www.kaggle.com/yk1598/symspell-spell-corrector | |
// https://github.com/wolfgarbe/SymSpell | |
function calculateWordDistance1Deletes(word){ | |
var deletes={}; | |
var fragment; | |
for(var j=0;j<word.length;j++){ | |
fragment=wordCut(word,j); | |
deletes[fragment]!==undefined?deletes[fragment]++:(deletes[fragment]=1); | |
} |
// unfinieshed | |
function matchAll(regEx,str,group=0){ | |
regEx.lastIntex=0; | |
var match; | |
var results=[]; | |
while((match=regEx.exec(str))!==null){ | |
results.push(match[group]); | |
} | |
return results; | |
} |
cmake -G "Visual Studio 16 2019" -A x64
intel compiler names: icc/icpc/ifort C/C++/Fortran
cmake -G "Your Generator" -D CMAKE_C_COMPILER=gcc-4.2 -D CMAKE_CXX_COMPILER=g++-4.2 path/to/your/source
CC=gcc-4.2 CXX=/usr/bin/g++-4.2 cmake -G "Your Generator" path/to/your/source
C:\Users\c7x43t\Documents\rust\symspell\hyperscan
var reg=/(?:^|\s?)([\w\u00C0-\u017Fa-zA-Z-']+)(?:$|\s?)/g; | |
// __ | |
function tokenize(text){ | |
var tokens = Array.from(text.matchAll(/(?:^|\s?)([\w\u00C0-\u017Fa-zA-Z-']+)(?:$|\s?)/g)).map(e=>e[1]); | |
return tokens; | |
} |
var primes=[2]; | |
var maxPrime=2; | |
function generatePrimes(max){ | |
for(var i=maxPrime;i<=max;i++){ | |
maxPrime=i; | |
if(isPrime(i)) if(i>2) primes.push(i); | |
} | |
} | |
function isPrime(n){ | |
var max=Math.floor(Math.sqrt(Math.abs(n))); |
function getLeafElements(root=document.body,result=[]){ | |
if(root.children.length===0) return result.push(root); | |
for(var element of root.children){ | |
getLeafElements(element,result); | |
} | |
return result; | |
} | |
function getElementsByTextContent(reg){ | |
var elements=getLeafElements(); | |
var result=[]; |
function getParentElementByType(element,parentType){ | |
while((element=element.parentElement)!==null){ | |
if(element instanceof parentType) return element; | |
} | |
return element; | |
} |
function serializeElementToSelector(element){ | |
if(!element.dataset.hasOwnProperty('__serial_token__')) | |
element.dataset.__serial_token__=''+((Math.random()*1e9)<<0)+((Math.random()*1e9)<<0)+Date.now(); | |
var tagName=element.tagName.toLowerCase(); | |
var selector=tagName; | |
if(element.id!==''){ | |
selector+='#'+element.id; | |
} | |
for(let cls of element.classList){ | |
selector+='.'+CSS.escape(cls) |