diff options
Diffstat (limited to 'lib/hamming.go')
-rw-r--r-- | lib/hamming.go | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/lib/hamming.go b/lib/hamming.go index 05a7546..3ed4611 100644 --- a/lib/hamming.go +++ b/lib/hamming.go @@ -32,6 +32,20 @@ func setBits(b byte) int { return int(c) } +// Returns average key size with minimum normalized hamming distance. +// 'keyMin' is the minimum key size +// 'keyMax' is the maximum key size +// 'iterate' is the number of times to iterate. +func KeySizeWithMinDistanceIter(keyMin, keyMax, iterate int) int { + sum := 0 + avg := 0.0 + for i := 0; i < iterate; i++ { + sum += KeySizeWithMinDistance(keyMin, keyMax) + } + avg = float64(sum) / float64(iterate) + + return int(avg) +} // Returns key size with minimum normalized hamming distance // 'keyMin' is the minimum key size |