diff options
Diffstat (limited to 'srchr')
| -rw-r--r-- | srchr/src/config.rs | 16 | ||||
| -rw-r--r-- | srchr/src/evaluation.rs | 1 | ||||
| -rw-r--r-- | srchr/src/layout.rs | 2 | ||||
| -rw-r--r-- | srchr/src/main.rs | 6 |
4 files changed, 22 insertions, 3 deletions
diff --git a/srchr/src/config.rs b/srchr/src/config.rs index 99afa4c..6409ef7 100644 --- a/srchr/src/config.rs +++ b/srchr/src/config.rs @@ -1,3 +1,19 @@ +// With the below parameters and the supplied corpus searches seem to converge on the following + +// J , H G Q B C O U ' +// S A N T V F D E I R +// X . L M K P W / Y Z +// +// Percent per key: +// 0.1 1.8 6.0 1.9 0.1 1.5 2.3 7.4 2.8 1.0 +// 6.0 7.7 6.6 8.6 0.9 2.1 4.3 11.9 6.6 5.5 +// 0.1 1.2 4.0 2.6 0.8 1.6 2.3 0.2 2.0 0.1 +// +// Finger usage: 6.29%, 10.70%, 16.56%, 14.88%, 14.05%, 19.47%, 11.45%, 6.60% +// Hand usage: 48.43% vs 51.57% +// Same finger bigrams: 0.000%, 0.029%, 0.092%, 0.032%, 0.042%, 0.096%, 0.113%, 0.031% +// Total sfb: 0.43% (43414) + // Search parameters pub const CORPUS_FILE_NAME: &str = "corpus.txt"; diff --git a/srchr/src/evaluation.rs b/srchr/src/evaluation.rs index 9faeb88..bbbe364 100644 --- a/srchr/src/evaluation.rs +++ b/srchr/src/evaluation.rs @@ -68,7 +68,6 @@ impl Evaluation { keypress[i] = corpus.get_character_count(c); } - // TODO: We make assumptions about NUM_KEYS here for i in 0..8 { let ind = if i < 4 { i } else { i + 2 }; diff --git a/srchr/src/layout.rs b/srchr/src/layout.rs index d30e38b..a20e130 100644 --- a/srchr/src/layout.rs +++ b/srchr/src/layout.rs @@ -129,6 +129,8 @@ impl Layout { wcol.swap(0, 1); if N == 6 { wcol.swap(3, 4); + wcol.swap(0, 2); + wcol.swap(3, 5); } (wcol.into_iter().map(|(k, _)| k).collect(), weight) }) diff --git a/srchr/src/main.rs b/srchr/src/main.rs index 46ec5d6..7c0ede9 100644 --- a/srchr/src/main.rs +++ b/srchr/src/main.rs @@ -104,9 +104,11 @@ fn main() { count += 1; if count > 65535 { let duration = current.elapsed(); + let rps = count as f32 / duration.as_millis() as f32 * 1000.0; eprint!( - "\u{001b}[2K\u{001b}[1000D{} layouts/s", - (count * NUM_CONTESTANTS) as f32 / duration.as_millis() as f32 * 1000.0 + "\u{001b}[2K\u{001b}[1000D{} layouts/s and {} tournaments/s", + rps * NUM_CONTESTANTS as f32, + rps ); current = Instant::now(); count = 0; |
