Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
49
Task/Entropy/Lambdatalk/entropy.lambdatalk
Normal file
49
Task/Entropy/Lambdatalk/entropy.lambdatalk
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
{def entropy
|
||||
|
||||
{def entropy.count
|
||||
{lambda {:s :c :i}
|
||||
{let { {:c {/ {A.get :i :c} {A.length :s}}}
|
||||
} {* :c {log2 :c}}}}}
|
||||
|
||||
{def entropy.sum
|
||||
{lambda {:s :c}
|
||||
{- {+ {S.map {entropy.count :s :c}
|
||||
{S.serie 0 {- {A.length :c} 1}}}}}}}
|
||||
|
||||
{lambda {:s}
|
||||
{entropy.sum {A.split :s} {cdr {W.frequency :s}}}}}
|
||||
-> entropy
|
||||
|
||||
The W.frequency function is explained in rosettacode.org/wiki/Letter_frequency#Lambdatalk
|
||||
|
||||
{def txt 1223334444}
|
||||
-> txt
|
||||
{def F {W.frequency {txt}}}
|
||||
-> F
|
||||
characters: {car {F}} -> [1,2,3,4]
|
||||
frequencies: {cdr {F}} -> [1,2,3,4]
|
||||
{entropy {txt}}
|
||||
-> 1.8464393446710154
|
||||
|
||||
{entropy 0}
|
||||
-> 0
|
||||
{entropy 00000000000000}
|
||||
-> 0
|
||||
{entropy 11111111111111}
|
||||
-> 0
|
||||
{entropy 01}
|
||||
-> 1
|
||||
{entropy Lambdatalk}
|
||||
-> 2.8464393446710154
|
||||
{entropy entropy}
|
||||
-> 2.807354922057604
|
||||
{entropy abcdefgh}
|
||||
-> 3
|
||||
{entropy Rosetta Code}
|
||||
-> 3.084962500721156
|
||||
{entropy Longtemps je me suis couché de bonne heure}
|
||||
-> 3.8608288771249444
|
||||
{entropy abcdefghijklmnopqrstuvwxyz}
|
||||
-> 4.70043971814109
|
||||
{entropy abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz}
|
||||
-> 4.70043971814109
|
||||
Loading…
Add table
Add a link
Reference in a new issue