libenigma
Enigma machine utility library
Loading...
Searching...
No Matches
ngram.h
Go to the documentation of this file.
1
7#ifndef ENIGMA_NGRAM_H
8#define ENIGMA_NGRAM_H
9
10#include "crack.h"
11
15#define ENIGMA_BIIDX(a, b) ((a << 5) | b)
16
20#define ENIGMA_TRIIDX(a, b, c) ((a << 10) | (b << 5) | c)
21
25#define ENIGMA_QUADIDX(a, b, c, d) ((a << 15) | (b << 10) | (c << 5) | d)
26
27float enigma_bigram_score(const EnigmaCrackParams*, const char*);
28float enigma_trigram_score(const EnigmaCrackParams*, const char*);
29float enigma_quadgram_score(const EnigmaCrackParams*, const char*);
30
31#endif
float enigma_bigram_score(const EnigmaCrackParams *, const char *)
Score text using bigram frequencies.
Definition: ngram.c:19
float enigma_quadgram_score(const EnigmaCrackParams *, const char *)
Score text using quadgram frequencies.
Definition: ngram.c:69
float enigma_trigram_score(const EnigmaCrackParams *, const char *)
Score text using trigram frequencies.
Definition: ngram.c:43
A structure representing a configuration for cracking an Enigma cipher.
Definition: crack.h:92