RosettaCodeData/Task/Entropy/AWK/entropy-1.awk
Ingy döt Net 776bba907c Sync
2013-10-27 22:24:23 +00:00

15 lines
168 B
Awk

#!/usr/bin/awk -f
{
for (i=1; i<= length($0); i++) {
H[substr($0,i,1)]++;
N++;
}
}
END {
for (i in H) {
p = H[i]/N;
E -= p * log(p);
}
print E/log(2);
}