function log2(atom v) return log(v)/log(2) end function function entropy(sequence s) sequence symbols = {}, counts = {} integer N = length(s) for i=1 to N do object si = s[i] integer k = find(si,symbols) if k=0 then symbols = append(symbols,si) counts = append(counts,1) else counts[k] += 1 end if end for atom H = 0 integer n = length(counts) for i=1 to n do atom ci = counts[i]/N H -= ci*log2(ci) end for return H end function sequence F_words = {"1","0"} for i=3 to 37 do F_words = append(F_words,F_words[i-1]&F_words[i-2]) end for for i=1 to length(F_words) do printf(1,"%2d: length %9d, entropy %f %s\n", {i,length(F_words[i]),entropy(F_words[i]), iff(i<10?F_words[i],"...")}) end for