Trace:
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
shannon_entropy_calculator [2015/02/03 17:23] – silvia | shannon_entropy_calculator [2015/04/20 15:06] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | <CSS> span.entropy_small { font-size: 0.7em; color: #888888; } pre.entropy { font-size: 1em; font-family: | + | ===== Shannon Entropy Calculator ===== |
- | + | < | |
- | < | + | ./ |
- | var d = new Date(); | + | </ |
- | d.setTime(d.getTime() + (exdays*24*60*60*1000)); | + | <CSS> |
- | var expires = " | + | span.entropy_small { font-size: 0.7em; color: #888888; } |
- | document.cookie = cname + " | + | pre.entropy { font-size: 1em; font-family: |
- | </ | + | pre.entropy_smaller { font-size: 0.8em; font-family: |
- | + | input.entropy, | |
- | } function getCookie(cname) { | + | </ |
- | + | < | |
- | < | + | < |
- | var name = cname + " | + | <br> |
- | var ca = document.cookie.split(';' | + | <span class=" |
- | for(var i=0; i< | + | <p> |
- | var c = ca[i]; | + | <pre id=" |
- | while (c.charAt(0)==' | + | <pre id=" |
- | if (c.indexOf(name) == 0) return c.substring(name.length, | + | <pre id=" |
+ | </ | ||
+ | </ | ||
+ | <JS> | ||
+ | function setCookie(cname, | ||
+ | var d = new Date(); | ||
+ | d.setTime(d.getTime() + (exdays*24*60*60*1000)); | ||
+ | var expires = " | ||
+ | document.cookie = cname + " | ||
} | } | ||
- | return ""; | + | function |
- | </ | + | var name = cname + " |
- | + | var ca = document.cookie.split(' | |
- | } function | + | for(var i=0; i<ca.length; i++) { |
- | + | var c = ca[i]; | |
- | < | + | |
- | str = str.toString(); | + | |
- | return str.length <max ? unrtrim(str | + | |
- | </ | + | |
- | + | ||
- | } function unltrim (str, max) { | + | |
- | + | ||
- | < | + | |
- | str = str.toString(); | + | |
- | return str.length <max ? unltrim(" | + | |
- | </ | + | |
- | + | ||
- | } var re = /(.*) ([0-9]+)/; $( document | + | |
- | + | ||
- | < | + | |
- | $("# | + | |
- | var parts = $(this).val().split(' | + | |
- | var values = {}; | + | |
- | var sum = 0; | + | |
- | var num_values = 0; | + | |
- | $('# | + | |
- | $('# | + | |
- | | + | |
- | $.each(parts, | + | |
- | value = value.trim(); | + | |
- | | + | |
- | if (matches) { | + | |
- | if (values[matches[1]]) { | + | |
- | $('# | + | |
- | } else { | + | |
- | $('# | + | |
- | values[matches[1]] | + | |
- | sum += parseInt(matches[2]); | + | |
- | num_values++; | + | |
- | } | + | |
- | } else { | + | |
- | $('#detail2').append(unltrim((index + 1), 3) + ". ERROR! Value has invalid format.\n" | + | |
- | } | + | |
- | | + | |
- | var h = 0; | + | |
- | $.each(values, function(index, | + | |
- | var p = value / sum; | + | |
- | var l = Math.log(p) / Math.log(2); | + | |
- | h -= (p * l); | + | |
- | }); | + | |
- | $('# | + | |
- | $('# | + | |
- | if (parts.length | + | |
- | $('# | + | |
- | } | + | |
- | setCookie(" | + | |
- | }); | + | |
- | if ($("# | + | |
- | $("# | + | |
} | } | ||
- | $("# | + | |
- | </code> | + | } |
+ | function unrtrim (str, max) { | ||
+ | str = str.toString(); | ||
+ | return str.length < max ? unrtrim(str + " ", max) : str; | ||
+ | } | ||
+ | function unltrim (str, max) { | ||
+ | str = str.toString(); | ||
+ | return str.length < max ? unltrim(" | ||
+ | } | ||
+ | var re = /(.*) ([0-9]+)/; | ||
+ | $( document ).ready(function() { | ||
+ | $("# | ||
+ | var parts = $(this).val().split(',' | ||
+ | var values = {}; | ||
+ | var sum = 0; | ||
+ | var num_values = 0; | ||
+ | $('# | ||
+ | $('# | ||
+ | $('# | ||
+ | $.each(parts, | ||
+ | value = value.trim(); | ||
+ | var matches = re.exec(value); | ||
+ | if (matches) { | ||
+ | if (values[matches[1]]) { | ||
+ | $('# | ||
+ | } else { | ||
+ | $('# | ||
+ | values[matches[1]] = matches[2]; | ||
+ | sum += parseInt(matches[2]); | ||
+ | num_values++; | ||
+ | } | ||
+ | } else { | ||
+ | $('# | ||
+ | } | ||
+ | }); | ||
+ | var h = 0; | ||
+ | $.each(values, | ||
+ | var p = value / sum; | ||
+ | var l = Math.log(p) / Math.log(2); | ||
+ | h -= (p * l); | ||
+ | }); | ||
+ | $('# | ||
+ | $('# | ||
+ | if (parts.length != num_values) { | ||
+ | $('# | ||
+ | } | ||
+ | setCookie(" | ||
+ | }); | ||
+ | if ($("# | ||
+ | $("# | ||
+ | } | ||
+ | | ||
+ | }); | ||
+ | </JS> | ||
- | }); </JS> | ||