This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
(ns cipher-analytical-machine.symbols.factories
|
||||
(:require [clojure.string :as cs])
|
||||
(:gen-class))
|
||||
|
||||
(defn english-alphabet-factory
|
||||
"Return the English alphabet with only lowercase letters"
|
||||
[]
|
||||
(reduce
|
||||
(fn [acc val] (str acc (char val)))
|
||||
""
|
||||
(range (int \a) (inc (int \z)))))
|
||||
|
||||
(defn ukrainian-alphabet-factory
|
||||
"Return the Ukrainian alphabet with only lowercase letters"
|
||||
[]
|
||||
"абвгґдеєжзиіїйклмнопрстуфхцчшщьюя")
|
||||
|
||||
(defn digit-set-factory
|
||||
"Return digits"
|
||||
[]
|
||||
"0123456789")
|
||||
|
||||
(defn punctuation-symbol-factory
|
||||
"Return punctuation symbols"
|
||||
[]
|
||||
".,:;-!?")
|
||||
|
||||
(defn space-symbol-factory
|
||||
"Return punctuation symbols"
|
||||
[]
|
||||
" \t\n")
|
||||
|
||||
(defn default-symbol-factory
|
||||
"Return a default string of symbols for a language"
|
||||
[language-code]
|
||||
(cond
|
||||
(= language-code "en")
|
||||
(str (english-alphabet-factory)
|
||||
\ )
|
||||
|
||||
(= language-code "uk")
|
||||
(str (ukrainian-alphabet-factory)
|
||||
\ )
|
||||
|
||||
:else
|
||||
(default-symbol-factory "en")))
|
||||
|
||||
@@ -0,0 +1,69 @@
|
||||
(ns cipher-analytical-machine.symbols.frequences
|
||||
(:gen-class))
|
||||
|
||||
(def english-letter-frequences {
|
||||
\a 0.0804
|
||||
\b 0.0154
|
||||
\c 0.0306
|
||||
\d 0.0399
|
||||
\e 0.1251
|
||||
\f 0.0230
|
||||
\g 0.0196
|
||||
\h 0.0549
|
||||
\i 0.0726
|
||||
\j 0.0016
|
||||
\k 0.0067
|
||||
\l 0.0414
|
||||
\m 0.0253
|
||||
\n 0.0709
|
||||
\o 0.0760
|
||||
\p 0.0200
|
||||
\q 0.0011
|
||||
\r 0.0612
|
||||
\s 0.0654
|
||||
\t 0.0925
|
||||
\u 0.0271
|
||||
\v 0.0099
|
||||
\w 0.0192
|
||||
\x 0.0019
|
||||
\y 0.0173
|
||||
\z 0.0009
|
||||
})
|
||||
|
||||
(def ukrainian-letter-frequences {
|
||||
\а 0.064
|
||||
\б 0.013
|
||||
\в 0.046
|
||||
\г 0.013
|
||||
\ґ 0.0001
|
||||
\д 0.027
|
||||
\е 0.042
|
||||
\є 0.005
|
||||
\ж 0.007
|
||||
\з 0.020
|
||||
\и 0.055
|
||||
\і 0.044
|
||||
\ї 0.010
|
||||
\й 0.009
|
||||
\к 0.033
|
||||
\л 0.027
|
||||
\м 0.029
|
||||
\н 0.068
|
||||
\о 0.086
|
||||
\п 0.025
|
||||
\р 0.043
|
||||
\с 0.037
|
||||
\т 0.045
|
||||
\у 0.027
|
||||
\ф 0.003
|
||||
\х 0.011
|
||||
\ц 0.010
|
||||
\ч 0.011
|
||||
\ш 0.005
|
||||
\щ 0.004
|
||||
\ь 0.016
|
||||
\ю 0.008
|
||||
\я 0.019
|
||||
\ 0.138
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user