-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.js
More file actions
41 lines (39 loc) · 1.28 KB
/
index.js
File metadata and controls
41 lines (39 loc) · 1.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
const levenshtein = require('./algorithms/levenshtein');
const jaroWinkler = require('./algorithms/jaro-winkler');
const hamming = require('./algorithms/hamming');
const trigramScore = require('./algorithms/trigramScore');
const jaccardSimilarity = require('./algorithms/jaccardSimilarity');
const diceCoefficient = require('./algorithms/diceCoefficient');
const jaro = require('./algorithms/jaro');
const cosineSimilarity = require('./algorithms/cosineSimilarity');
const soundex = require('./algorithms/soundex');
const RandomEngine = require('./algorithms/RandomEngine');
const AutocompleteEngine = require('./algorithms/autocomplete');
const fisherYatesShuffle = require('./algorithms/fisherYatesShuffle');
function compareAll(a, b) {
return {
levenshtein: levenshtein(a, b),
jaroWinkler: jaroWinkler(a, b),
hamming: hamming(a, b),
trigram: trigramScore(a, b),
jaccard: jaccardSimilarity(a, b),
jaro: jaro(a, b),
dice: diceCoefficient(a, b),
cosine: cosineSimilarity(a, b)
};
}
module.exports = {
levenshtein,
jaroWinkler,
hamming,
trigramScore,
jaccardSimilarity,
diceCoefficient,
jaro,
cosineSimilarity,
soundex,
RandomEngine,
AutocompleteEngine,
fisherYatesShuffle,
compareAll
};