| @@ -0,0 +1,4 @@ | |||||
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title> (Index)</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[ | |||||
| window.onload = function () {pageLoad();}; | |||||
| //]]> | |||||
| </script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption empty"> </p></div><div id="content"><div id="index"><p class="caption">Index</p><table><tr><td class="src">--></td><td class="module"><a href="Network.html#v:-45--45--62-">Network</a></td></tr><tr><td class="src">ActivationFunction</td><td class="module"><a href="Network.html#t:ActivationFunction">Network</a></td></tr><tr><td class="src">ActivationFunctionDerivative</td><td class="module"><a href="Network.html#t:ActivationFunctionDerivative">Network</a></td></tr><tr><td class="src">backprop</td><td class="module"><a href="Network.html#v:backprop">Network</a></td></tr><tr><td class="src">biases</td><td class="module"><a href="Network.html#v:biases">Network</a></td></tr><tr><td class="src">CostFunction</td><td class="module"><a href="Network.html#t:CostFunction">Network</a></td></tr><tr><td class="src">CrossEntropyCost</td><td class="module"><a href="Network.html#v:CrossEntropyCost">Network</a></td></tr><tr><td class="src">getDelta</td><td class="module"><a href="Network.html#v:getDelta">Network</a></td></tr><tr><td class="src">Lambda</td><td class="module"><a href="Network.html#t:Lambda">Network</a></td></tr><tr><td class="src">Layer</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Network.html#t:Layer">Network</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Network.html#v:Layer">Network</a></td></tr><tr><td class="src">layers</td><td class="module"><a href="Network.html#v:layers">Network</a></td></tr><tr><td class="src">LearningRate</td><td class="module"><a href="Network.html#t:LearningRate">Network</a></td></tr><tr><td class="src">loadNetwork</td><td class="module"><a href="Network.html#v:loadNetwork">Network</a></td></tr><tr><td class="src">Network</td><td> </td></tr><tr><td class="alt">1 (Type/Class)</td><td class="module"><a href="Network.html#t:Network">Network</a></td></tr><tr><td class="alt">2 (Data Constructor)</td><td class="module"><a href="Network.html#v:Network">Network</a></td></tr><tr><td class="src">newFileName</td><td class="module"><a href="Network.html#v:newFileName">Network</a></td></tr><tr><td class="src">newNetwork</td><td class="module"><a href="Network.html#v:newNetwork">Network</a></td></tr><tr><td class="src">output</td><td class="module"><a href="Network.html#v:output">Network</a></td></tr><tr><td class="src">outputs</td><td class="module"><a href="Network.html#v:outputs">Network</a></td></tr><tr><td class="src">QuadraticCost</td><td class="module"><a href="Network.html#v:QuadraticCost">Network</a></td></tr><tr><td class="src">rawOutputs</td><td class="module"><a href="Network.html#v:rawOutputs">Network</a></td></tr><tr><td class="src">Sample</td><td class="module"><a href="Network.html#t:Sample">Network</a></td></tr><tr><td class="src">Samples</td><td class="module"><a href="Network.html#t:Samples">Network</a></td></tr><tr><td class="src">saveNetwork</td><td class="module"><a href="Network.html#v:saveNetwork">Network</a></td></tr><tr><td class="src">shuffle</td><td class="module"><a href="Network.html#v:shuffle">Network</a></td></tr><tr><td class="src">sigmoid</td><td class="module"><a href="Network.html#v:sigmoid">Network</a></td></tr><tr><td class="src">sigmoid'</td><td class="module"><a href="Network.html#v:sigmoid-39-">Network</a></td></tr><tr><td class="src">TrainingDataLength</td><td class="module"><a href="Network.html#t:TrainingDataLength">Network</a></td></tr><tr><td class="src">trainNTimes</td><td class="module"><a href="Network.html#v:trainNTimes">Network</a></td></tr><tr><td class="src">trainSGD</td><td class="module"><a href="Network.html#v:trainSGD">Network</a></td></tr><tr><td class="src">trainShuffled</td><td class="module"><a href="Network.html#v:trainShuffled">Network</a></td></tr><tr><td class="src">update</td><td class="module"><a href="Network.html#v:update">Network</a></td></tr><tr><td class="src">weights</td><td class="module"><a href="Network.html#v:weights">Network</a></td></tr></table></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.16.1</p></div></body></html> | |||||
| @@ -0,0 +1,30 @@ | |||||
| <!DOCTYPE html | |||||
| PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" | |||||
| "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> | |||||
| <html xmlns="http://www.w3.org/1999/xhtml"> | |||||
| <head> | |||||
| <title></title> | |||||
| <script src="haddock-util.js" type="text/javascript"></script> | |||||
| <script type="text/javascript"><!-- | |||||
| /* | |||||
| The synopsis frame needs to be updated using javascript, so we hide | |||||
| it by default and only show it if javascript is enabled. | |||||
| TODO: provide some means to disable it. | |||||
| */ | |||||
| function load() { | |||||
| var d = document.getElementById("inner-fs"); | |||||
| d.rows = "50%,50%"; | |||||
| postReframe(); | |||||
| } | |||||
| --></script> | |||||
| </head> | |||||
| <frameset id="outer-fs" cols="25%,75%" onload="load()"> | |||||
| <frameset id="inner-fs" rows="100%,0%"> | |||||
| <frame src="index-frames.html" name="modules" /> | |||||
| <frame src="" name="synopsis" /> | |||||
| </frameset> | |||||
| <frame src="index.html" name="main" /> | |||||
| </frameset> | |||||
| </html> | |||||
| @@ -0,0 +1,344 @@ | |||||
| // Haddock JavaScript utilities | |||||
| var rspace = /\s\s+/g, | |||||
| rtrim = /^\s+|\s+$/g; | |||||
| function spaced(s) { return (" " + s + " ").replace(rspace, " "); } | |||||
| function trim(s) { return s.replace(rtrim, ""); } | |||||
| function hasClass(elem, value) { | |||||
| var className = spaced(elem.className || ""); | |||||
| return className.indexOf( " " + value + " " ) >= 0; | |||||
| } | |||||
| function addClass(elem, value) { | |||||
| var className = spaced(elem.className || ""); | |||||
| if ( className.indexOf( " " + value + " " ) < 0 ) { | |||||
| elem.className = trim(className + " " + value); | |||||
| } | |||||
| } | |||||
| function removeClass(elem, value) { | |||||
| var className = spaced(elem.className || ""); | |||||
| className = className.replace(" " + value + " ", " "); | |||||
| elem.className = trim(className); | |||||
| } | |||||
| function toggleClass(elem, valueOn, valueOff, bool) { | |||||
| if (bool == null) { bool = ! hasClass(elem, valueOn); } | |||||
| if (bool) { | |||||
| removeClass(elem, valueOff); | |||||
| addClass(elem, valueOn); | |||||
| } | |||||
| else { | |||||
| removeClass(elem, valueOn); | |||||
| addClass(elem, valueOff); | |||||
| } | |||||
| return bool; | |||||
| } | |||||
| function makeClassToggle(valueOn, valueOff) | |||||
| { | |||||
| return function(elem, bool) { | |||||
| return toggleClass(elem, valueOn, valueOff, bool); | |||||
| } | |||||
| } | |||||
| toggleShow = makeClassToggle("show", "hide"); | |||||
| toggleCollapser = makeClassToggle("collapser", "expander"); | |||||
| function toggleSection(id) | |||||
| { | |||||
| var b = toggleShow(document.getElementById("section." + id)); | |||||
| toggleCollapser(document.getElementById("control." + id), b); | |||||
| rememberCollapsed(id, b); | |||||
| return b; | |||||
| } | |||||
| var collapsed = {}; | |||||
| function rememberCollapsed(id, b) | |||||
| { | |||||
| if(b) | |||||
| delete collapsed[id] | |||||
| else | |||||
| collapsed[id] = null; | |||||
| var sections = []; | |||||
| for(var i in collapsed) | |||||
| { | |||||
| if(collapsed.hasOwnProperty(i)) | |||||
| sections.push(i); | |||||
| } | |||||
| // cookie specific to this page; don't use setCookie which sets path=/ | |||||
| document.cookie = "collapsed=" + escape(sections.join('+')); | |||||
| } | |||||
| function restoreCollapsed() | |||||
| { | |||||
| var cookie = getCookie("collapsed"); | |||||
| if(!cookie) | |||||
| return; | |||||
| var ids = cookie.split('+'); | |||||
| for(var i in ids) | |||||
| { | |||||
| if(document.getElementById("section." + ids[i])) | |||||
| toggleSection(ids[i]); | |||||
| } | |||||
| } | |||||
| function setCookie(name, value) { | |||||
| document.cookie = name + "=" + escape(value) + ";path=/;"; | |||||
| } | |||||
| function clearCookie(name) { | |||||
| document.cookie = name + "=;path=/;expires=Thu, 01-Jan-1970 00:00:01 GMT;"; | |||||
| } | |||||
| function getCookie(name) { | |||||
| var nameEQ = name + "="; | |||||
| var ca = document.cookie.split(';'); | |||||
| for(var i=0;i < ca.length;i++) { | |||||
| var c = ca[i]; | |||||
| while (c.charAt(0)==' ') c = c.substring(1,c.length); | |||||
| if (c.indexOf(nameEQ) == 0) { | |||||
| return unescape(c.substring(nameEQ.length,c.length)); | |||||
| } | |||||
| } | |||||
| return null; | |||||
| } | |||||
| var max_results = 75; // 50 is not enough to search for map in the base libraries | |||||
| var shown_range = null; | |||||
| var last_search = null; | |||||
| function quick_search() | |||||
| { | |||||
| perform_search(false); | |||||
| } | |||||
| function full_search() | |||||
| { | |||||
| perform_search(true); | |||||
| } | |||||
| function perform_search(full) | |||||
| { | |||||
| var text = document.getElementById("searchbox").value.toLowerCase(); | |||||
| if (text == last_search && !full) return; | |||||
| last_search = text; | |||||
| var table = document.getElementById("indexlist"); | |||||
| var status = document.getElementById("searchmsg"); | |||||
| var children = table.firstChild.childNodes; | |||||
| // first figure out the first node with the prefix | |||||
| var first = bisect(-1); | |||||
| var last = (first == -1 ? -1 : bisect(1)); | |||||
| if (first == -1) | |||||
| { | |||||
| table.className = ""; | |||||
| status.innerHTML = "No results found, displaying all"; | |||||
| } | |||||
| else if (first == 0 && last == children.length - 1) | |||||
| { | |||||
| table.className = ""; | |||||
| status.innerHTML = ""; | |||||
| } | |||||
| else if (last - first >= max_results && !full) | |||||
| { | |||||
| table.className = ""; | |||||
| status.innerHTML = "More than " + max_results + ", press Search to display"; | |||||
| } | |||||
| else | |||||
| { | |||||
| // decide what you need to clear/show | |||||
| if (shown_range) | |||||
| setclass(shown_range[0], shown_range[1], "indexrow"); | |||||
| setclass(first, last, "indexshow"); | |||||
| shown_range = [first, last]; | |||||
| table.className = "indexsearch"; | |||||
| status.innerHTML = ""; | |||||
| } | |||||
| function setclass(first, last, status) | |||||
| { | |||||
| for (var i = first; i <= last; i++) | |||||
| { | |||||
| children[i].className = status; | |||||
| } | |||||
| } | |||||
| // do a binary search, treating 0 as ... | |||||
| // return either -1 (no 0's found) or location of most far match | |||||
| function bisect(dir) | |||||
| { | |||||
| var first = 0, finish = children.length - 1; | |||||
| var mid, success = false; | |||||
| while (finish - first > 3) | |||||
| { | |||||
| mid = Math.floor((finish + first) / 2); | |||||
| var i = checkitem(mid); | |||||
| if (i == 0) i = dir; | |||||
| if (i == -1) | |||||
| finish = mid; | |||||
| else | |||||
| first = mid; | |||||
| } | |||||
| var a = (dir == 1 ? first : finish); | |||||
| var b = (dir == 1 ? finish : first); | |||||
| for (var i = b; i != a - dir; i -= dir) | |||||
| { | |||||
| if (checkitem(i) == 0) return i; | |||||
| } | |||||
| return -1; | |||||
| } | |||||
| // from an index, decide what the result is | |||||
| // 0 = match, -1 is lower, 1 is higher | |||||
| function checkitem(i) | |||||
| { | |||||
| var s = getitem(i).toLowerCase().substr(0, text.length); | |||||
| if (s == text) return 0; | |||||
| else return (s > text ? -1 : 1); | |||||
| } | |||||
| // from an index, get its string | |||||
| // this abstracts over alternates | |||||
| function getitem(i) | |||||
| { | |||||
| for ( ; i >= 0; i--) | |||||
| { | |||||
| var s = children[i].firstChild.firstChild.data; | |||||
| if (s.indexOf(' ') == -1) | |||||
| return s; | |||||
| } | |||||
| return ""; // should never be reached | |||||
| } | |||||
| } | |||||
| function setSynopsis(filename) { | |||||
| if (parent.window.synopsis) { | |||||
| if (parent.window.synopsis.location.replace) { | |||||
| // In Firefox this avoids adding the change to the history. | |||||
| parent.window.synopsis.location.replace(filename); | |||||
| } else { | |||||
| parent.window.synopsis.location = filename; | |||||
| } | |||||
| } | |||||
| } | |||||
| function addMenuItem(html) { | |||||
| var menu = document.getElementById("page-menu"); | |||||
| if (menu) { | |||||
| var btn = menu.firstChild.cloneNode(false); | |||||
| btn.innerHTML = html; | |||||
| menu.appendChild(btn); | |||||
| } | |||||
| } | |||||
| function adjustForFrames() { | |||||
| var bodyCls; | |||||
| if (parent.location.href == window.location.href) { | |||||
| // not in frames, so add Frames button | |||||
| addMenuItem("<a href='#' onclick='reframe();return true;'>Frames</a>"); | |||||
| bodyCls = "no-frame"; | |||||
| } | |||||
| else { | |||||
| bodyCls = "in-frame"; | |||||
| } | |||||
| addClass(document.body, bodyCls); | |||||
| } | |||||
| function reframe() { | |||||
| setCookie("haddock-reframe", document.URL); | |||||
| window.location = "frames.html"; | |||||
| } | |||||
| function postReframe() { | |||||
| var s = getCookie("haddock-reframe"); | |||||
| if (s) { | |||||
| parent.window.main.location = s; | |||||
| clearCookie("haddock-reframe"); | |||||
| } | |||||
| } | |||||
| function styles() { | |||||
| var i, a, es = document.getElementsByTagName("link"), rs = []; | |||||
| for (i = 0; a = es[i]; i++) { | |||||
| if(a.rel.indexOf("style") != -1 && a.title) { | |||||
| rs.push(a); | |||||
| } | |||||
| } | |||||
| return rs; | |||||
| } | |||||
| function addStyleMenu() { | |||||
| var as = styles(); | |||||
| var i, a, btns = ""; | |||||
| for(i=0; a = as[i]; i++) { | |||||
| btns += "<li><a href='#' onclick=\"setActiveStyleSheet('" | |||||
| + a.title + "'); return false;\">" | |||||
| + a.title + "</a></li>" | |||||
| } | |||||
| if (as.length > 1) { | |||||
| var h = "<div id='style-menu-holder'>" | |||||
| + "<a href='#' onclick='styleMenu(); return false;'>Style ▾</a>" | |||||
| + "<ul id='style-menu' class='hide'>" + btns + "</ul>" | |||||
| + "</div>"; | |||||
| addMenuItem(h); | |||||
| } | |||||
| } | |||||
| function setActiveStyleSheet(title) { | |||||
| var as = styles(); | |||||
| var i, a, found; | |||||
| for(i=0; a = as[i]; i++) { | |||||
| a.disabled = true; | |||||
| // need to do this always, some browsers are edge triggered | |||||
| if(a.title == title) { | |||||
| found = a; | |||||
| } | |||||
| } | |||||
| if (found) { | |||||
| found.disabled = false; | |||||
| setCookie("haddock-style", title); | |||||
| } | |||||
| else { | |||||
| as[0].disabled = false; | |||||
| clearCookie("haddock-style"); | |||||
| } | |||||
| styleMenu(false); | |||||
| } | |||||
| function resetStyle() { | |||||
| var s = getCookie("haddock-style"); | |||||
| if (s) setActiveStyleSheet(s); | |||||
| } | |||||
| function styleMenu(show) { | |||||
| var m = document.getElementById('style-menu'); | |||||
| if (m) toggleShow(m, show); | |||||
| } | |||||
| function pageLoad() { | |||||
| addStyleMenu(); | |||||
| adjustForFrames(); | |||||
| resetStyle(); | |||||
| restoreCollapsed(); | |||||
| } | |||||
| @@ -0,0 +1,4 @@ | |||||
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title></title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[ | |||||
| window.onload = function () {pageLoad();}; | |||||
| //]]> | |||||
| </script></head><body id="mini"><div id="module-list"><p class="caption">Modules</p><ul><li class="module"><a href="Network.html" target="main">Network</a></li></ul></div></body></html> | |||||
| @@ -0,0 +1,4 @@ | |||||
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title></title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[ | |||||
| window.onload = function () {pageLoad();}; | |||||
| //]]> | |||||
| </script></head><body><div id="package-header"><ul class="links" id="page-menu"><li><a href="index.html">Contents</a></li><li><a href="doc-index.html">Index</a></li></ul><p class="caption empty"> </p></div><div id="content"><div id="module-list"><p class="caption">Modules</p><ul><li><span class="module"><a href="Network.html">Network</a></span></li></ul></div></div><div id="footer"><p>Produced by <a href="http://www.haskell.org/haddock/">Haddock</a> version 2.16.1</p></div></body></html> | |||||
| @@ -0,0 +1,4 @@ | |||||
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Network</title><link href="ocean.css" rel="stylesheet" type="text/css" title="Ocean" /><script src="haddock-util.js" type="text/javascript"></script><script type="text/javascript">//<![CDATA[ | |||||
| window.onload = function () {pageLoad();}; | |||||
| //]]> | |||||
| </script></head><body id="mini"><div id="module-header"><p class="caption">Network</p></div><div id="interface"><div class="top"><p class="src"><span class="keyword">data</span> <a href="Network.html#t:Network" target="main">Network</a> a</p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Network.html#t:Layer" target="main">Layer</a> a</p></div><div class="top"><p class="src"><span class="keyword">data</span> <a href="Network.html#t:CostFunction" target="main">CostFunction</a></p></div><div class="top"><p class="src"><a href="Network.html#v:getDelta" target="main">getDelta</a></p></div><div class="top"><p class="src"><span class="keyword">type</span> <a href="Network.html#t:ActivationFunction" target="main">ActivationFunction</a> a</p></div><div class="top"><p class="src"><span class="keyword">type</span> <a href="Network.html#t:ActivationFunctionDerivative" target="main">ActivationFunctionDerivative</a> a</p></div><div class="top"><p class="src"><span class="keyword">type</span> <a href="Network.html#t:Sample" target="main">Sample</a> a</p></div><div class="top"><p class="src"><span class="keyword">type</span> <a href="Network.html#t:Samples" target="main">Samples</a> a</p></div><div class="top"><p class="src"><a href="Network.html#v:-45--45--62-" target="main">(-->)</a></p></div><div class="top"><p class="src"><span class="keyword">type</span> <a href="Network.html#t:LearningRate" target="main">LearningRate</a></p></div><div class="top"><p class="src"><span class="keyword">type</span> <a href="Network.html#t:Lambda" target="main">Lambda</a></p></div><div class="top"><p class="src"><span class="keyword">type</span> <a href="Network.html#t:TrainingDataLength" target="main">TrainingDataLength</a></p></div><div class="top"><p class="src"><a href="Network.html#v:newNetwork" target="main">newNetwork</a></p></div><div class="top"><p class="src"><a href="Network.html#v:output" target="main">output</a></p></div><div class="top"><p class="src"><a href="Network.html#v:outputs" target="main">outputs</a></p></div><div class="top"><p class="src"><a href="Network.html#v:rawOutputs" target="main">rawOutputs</a></p></div><div class="top"><p class="src"><a href="Network.html#v:trainShuffled" target="main">trainShuffled</a></p></div><div class="top"><p class="src"><a href="Network.html#v:trainNTimes" target="main">trainNTimes</a></p></div><div class="top"><p class="src"><a href="Network.html#v:trainSGD" target="main">trainSGD</a></p></div><div class="top"><p class="src"><a href="Network.html#v:update" target="main">update</a></p></div><div class="top"><p class="src"><a href="Network.html#v:backprop" target="main">backprop</a></p></div><div class="top"><p class="src"><a href="Network.html#v:sigmoid" target="main">sigmoid</a></p></div><div class="top"><p class="src"><a href="Network.html#v:sigmoid-39-" target="main">sigmoid'</a></p></div><div class="top"><p class="src"><a href="Network.html#v:shuffle" target="main">shuffle</a></p></div><div class="top"><p class="src"><a href="Network.html#v:saveNetwork" target="main">saveNetwork</a></p></div><div class="top"><p class="src"><a href="Network.html#v:newFileName" target="main">newFileName</a></p></div><div class="top"><p class="src"><a href="Network.html#v:loadNetwork" target="main">loadNetwork</a></p></div></div></body></html> | |||||
| @@ -0,0 +1,600 @@ | |||||
| /* @group Fundamentals */ | |||||
| * { margin: 0; padding: 0 } | |||||
| /* Is this portable? */ | |||||
| html { | |||||
| background-color: white; | |||||
| width: 100%; | |||||
| height: 100%; | |||||
| } | |||||
| body { | |||||
| background: white; | |||||
| color: black; | |||||
| text-align: left; | |||||
| min-height: 100%; | |||||
| position: relative; | |||||
| } | |||||
| p { | |||||
| margin: 0.8em 0; | |||||
| } | |||||
| ul, ol { | |||||
| margin: 0.8em 0 0.8em 2em; | |||||
| } | |||||
| dl { | |||||
| margin: 0.8em 0; | |||||
| } | |||||
| dt { | |||||
| font-weight: bold; | |||||
| } | |||||
| dd { | |||||
| margin-left: 2em; | |||||
| } | |||||
| a { text-decoration: none; } | |||||
| a[href]:link { color: rgb(196,69,29); } | |||||
| a[href]:visited { color: rgb(171,105,84); } | |||||
| a[href]:hover { text-decoration:underline; } | |||||
| /* @end */ | |||||
| /* @group Fonts & Sizes */ | |||||
| /* Basic technique & IE workarounds from YUI 3 | |||||
| For reasons, see: | |||||
| http://yui.yahooapis.com/3.1.1/build/cssfonts/fonts.css | |||||
| */ | |||||
| body { | |||||
| font:13px/1.4 sans-serif; | |||||
| *font-size:small; /* for IE */ | |||||
| *font:x-small; /* for IE in quirks mode */ | |||||
| } | |||||
| h1 { font-size: 146.5%; /* 19pt */ } | |||||
| h2 { font-size: 131%; /* 17pt */ } | |||||
| h3 { font-size: 116%; /* 15pt */ } | |||||
| h4 { font-size: 100%; /* 13pt */ } | |||||
| h5 { font-size: 100%; /* 13pt */ } | |||||
| select, input, button, textarea { | |||||
| font:99% sans-serif; | |||||
| } | |||||
| table { | |||||
| font-size:inherit; | |||||
| font:100%; | |||||
| } | |||||
| pre, code, kbd, samp, tt, .src { | |||||
| font-family:monospace; | |||||
| *font-size:108%; | |||||
| line-height: 124%; | |||||
| } | |||||
| .links, .link { | |||||
| font-size: 85%; /* 11pt */ | |||||
| } | |||||
| #module-header .caption { | |||||
| font-size: 182%; /* 24pt */ | |||||
| } | |||||
| .info { | |||||
| font-size: 85%; /* 11pt */ | |||||
| } | |||||
| #table-of-contents, #synopsis { | |||||
| /* font-size: 85%; /* 11pt */ | |||||
| } | |||||
| /* @end */ | |||||
| /* @group Common */ | |||||
| .caption, h1, h2, h3, h4, h5, h6 { | |||||
| font-weight: bold; | |||||
| color: rgb(78,98,114); | |||||
| margin: 0.8em 0 0.4em; | |||||
| } | |||||
| * + h1, * + h2, * + h3, * + h4, * + h5, * + h6 { | |||||
| margin-top: 2em; | |||||
| } | |||||
| h1 + h2, h2 + h3, h3 + h4, h4 + h5, h5 + h6 { | |||||
| margin-top: inherit; | |||||
| } | |||||
| ul.links { | |||||
| list-style: none; | |||||
| text-align: left; | |||||
| float: right; | |||||
| display: inline-table; | |||||
| margin: 0 0 0 1em; | |||||
| } | |||||
| ul.links li { | |||||
| display: inline; | |||||
| border-left: 1px solid #d5d5d5; | |||||
| white-space: nowrap; | |||||
| padding: 0; | |||||
| } | |||||
| ul.links li a { | |||||
| padding: 0.2em 0.5em; | |||||
| } | |||||
| .hide { display: none; } | |||||
| .show { display: inherit; } | |||||
| .clear { clear: both; } | |||||
| .collapser { | |||||
| background-image: url(minus.gif); | |||||
| background-repeat: no-repeat; | |||||
| } | |||||
| .expander { | |||||
| background-image: url(plus.gif); | |||||
| background-repeat: no-repeat; | |||||
| } | |||||
| p.caption.collapser, | |||||
| p.caption.expander { | |||||
| background-position: 0 0.4em; | |||||
| } | |||||
| .collapser, .expander { | |||||
| padding-left: 14px; | |||||
| margin-left: -14px; | |||||
| cursor: pointer; | |||||
| } | |||||
| pre { | |||||
| padding: 0.25em; | |||||
| margin: 0.8em 0; | |||||
| background: rgb(229,237,244); | |||||
| overflow: auto; | |||||
| border-bottom: 0.25em solid white; | |||||
| /* white border adds some space below the box to compensate | |||||
| for visual extra space that paragraphs have between baseline | |||||
| and the bounding box */ | |||||
| } | |||||
| .src { | |||||
| background: #f0f0f0; | |||||
| padding: 0.2em 0.5em; | |||||
| } | |||||
| .keyword { font-weight: normal; } | |||||
| .def { font-weight: bold; } | |||||
| /* @end */ | |||||
| /* @group Page Structure */ | |||||
| #content { | |||||
| margin: 0 auto; | |||||
| padding: 0 2em 6em; | |||||
| } | |||||
| #package-header { | |||||
| background: rgb(41,56,69); | |||||
| border-top: 5px solid rgb(78,98,114); | |||||
| color: #ddd; | |||||
| padding: 0.2em; | |||||
| position: relative; | |||||
| text-align: left; | |||||
| } | |||||
| #package-header .caption { | |||||
| background: url(hslogo-16.png) no-repeat 0em; | |||||
| color: white; | |||||
| margin: 0 2em; | |||||
| font-weight: normal; | |||||
| font-style: normal; | |||||
| padding-left: 2em; | |||||
| } | |||||
| #package-header a:link, #package-header a:visited { color: white; } | |||||
| #package-header a:hover { background: rgb(78,98,114); } | |||||
| #module-header .caption { | |||||
| color: rgb(78,98,114); | |||||
| font-weight: bold; | |||||
| border-bottom: 1px solid #ddd; | |||||
| } | |||||
| table.info { | |||||
| float: right; | |||||
| padding: 0.5em 1em; | |||||
| border: 1px solid #ddd; | |||||
| color: rgb(78,98,114); | |||||
| background-color: #fff; | |||||
| max-width: 40%; | |||||
| border-spacing: 0; | |||||
| position: relative; | |||||
| top: -0.5em; | |||||
| margin: 0 0 0 2em; | |||||
| } | |||||
| .info th { | |||||
| padding: 0 1em 0 0; | |||||
| } | |||||
| div#style-menu-holder { | |||||
| position: relative; | |||||
| z-index: 2; | |||||
| display: inline; | |||||
| } | |||||
| #style-menu { | |||||
| position: absolute; | |||||
| z-index: 1; | |||||
| overflow: visible; | |||||
| background: #374c5e; | |||||
| margin: 0; | |||||
| text-align: center; | |||||
| right: 0; | |||||
| padding: 0; | |||||
| top: 1.25em; | |||||
| } | |||||
| #style-menu li { | |||||
| display: list-item; | |||||
| border-style: none; | |||||
| margin: 0; | |||||
| padding: 0; | |||||
| color: #000; | |||||
| list-style-type: none; | |||||
| } | |||||
| #style-menu li + li { | |||||
| border-top: 1px solid #919191; | |||||
| } | |||||
| #style-menu a { | |||||
| width: 6em; | |||||
| padding: 3px; | |||||
| display: block; | |||||
| } | |||||
| #footer { | |||||
| background: #ddd; | |||||
| border-top: 1px solid #aaa; | |||||
| padding: 0.5em 0; | |||||
| color: #666; | |||||
| text-align: center; | |||||
| position: absolute; | |||||
| bottom: 0; | |||||
| width: 100%; | |||||
| height: 3em; | |||||
| } | |||||
| /* @end */ | |||||
| /* @group Front Matter */ | |||||
| #table-of-contents { | |||||
| float: right; | |||||
| clear: right; | |||||
| background: #faf9dc; | |||||
| border: 1px solid #d8d7ad; | |||||
| padding: 0.5em 1em; | |||||
| max-width: 20em; | |||||
| margin: 0.5em 0 1em 1em; | |||||
| } | |||||
| #table-of-contents .caption { | |||||
| text-align: center; | |||||
| margin: 0; | |||||
| } | |||||
| #table-of-contents ul { | |||||
| list-style: none; | |||||
| margin: 0; | |||||
| } | |||||
| #table-of-contents ul ul { | |||||
| margin-left: 2em; | |||||
| } | |||||
| #description .caption { | |||||
| display: none; | |||||
| } | |||||
| #synopsis { | |||||
| display: none; | |||||
| } | |||||
| .no-frame #synopsis { | |||||
| display: block; | |||||
| position: fixed; | |||||
| right: 0; | |||||
| height: 80%; | |||||
| top: 10%; | |||||
| padding: 0; | |||||
| max-width: 75%; | |||||
| } | |||||
| #synopsis .caption { | |||||
| float: left; | |||||
| width: 29px; | |||||
| color: rgba(255,255,255,0); | |||||
| height: 110px; | |||||
| margin: 0; | |||||
| font-size: 1px; | |||||
| padding: 0; | |||||
| } | |||||
| #synopsis p.caption.collapser { | |||||
| background: url(synopsis.png) no-repeat -64px -8px; | |||||
| } | |||||
| #synopsis p.caption.expander { | |||||
| background: url(synopsis.png) no-repeat 0px -8px; | |||||
| } | |||||
| #synopsis ul { | |||||
| height: 100%; | |||||
| overflow: auto; | |||||
| padding: 0.5em; | |||||
| margin: 0; | |||||
| } | |||||
| #synopsis ul ul { | |||||
| overflow: hidden; | |||||
| } | |||||
| #synopsis ul, | |||||
| #synopsis ul li.src { | |||||
| background-color: #faf9dc; | |||||
| white-space: nowrap; | |||||
| list-style: none; | |||||
| margin-left: 0; | |||||
| } | |||||
| /* @end */ | |||||
| /* @group Main Content */ | |||||
| #interface div.top { margin: 2em 0; } | |||||
| #interface h1 + div.top, | |||||
| #interface h2 + div.top, | |||||
| #interface h3 + div.top, | |||||
| #interface h4 + div.top, | |||||
| #interface h5 + div.top { | |||||
| margin-top: 1em; | |||||
| } | |||||
| #interface p.src .link { | |||||
| float: right; | |||||
| color: #919191; | |||||
| border-left: 1px solid #919191; | |||||
| background: #f0f0f0; | |||||
| padding: 0 0.5em 0.2em; | |||||
| margin: 0 -0.5em 0 0.5em; | |||||
| } | |||||
| #interface td.src .link { | |||||
| float: right; | |||||
| color: #919191; | |||||
| border-left: 1px solid #919191; | |||||
| background: #f0f0f0; | |||||
| padding: 0 0.5em 0.2em; | |||||
| margin: 0 -0.5em 0 0.5em; | |||||
| } | |||||
| #interface span.fixity { | |||||
| color: #919191; | |||||
| border-left: 1px solid #919191; | |||||
| padding: 0.2em 0.5em 0.2em 0.5em; | |||||
| margin: 0 -1em 0 1em; | |||||
| } | |||||
| #interface span.rightedge { | |||||
| border-left: 1px solid #919191; | |||||
| padding: 0.2em 0 0.2em 0; | |||||
| margin: 0 0 0 1em; | |||||
| } | |||||
| #interface table { border-spacing: 2px; } | |||||
| #interface td { | |||||
| vertical-align: top; | |||||
| padding-left: 0.5em; | |||||
| } | |||||
| #interface td.src { | |||||
| white-space: nowrap; | |||||
| } | |||||
| #interface td.doc p { | |||||
| margin: 0; | |||||
| } | |||||
| #interface td.doc p + p { | |||||
| margin-top: 0.8em; | |||||
| } | |||||
| .clearfix:after { | |||||
| clear: both; | |||||
| content: " "; | |||||
| display: block; | |||||
| height: 0; | |||||
| visibility: hidden; | |||||
| } | |||||
| .subs dl { | |||||
| margin: 0; | |||||
| } | |||||
| .subs dt { | |||||
| float: left; | |||||
| clear: left; | |||||
| display: block; | |||||
| margin: 1px 0; | |||||
| } | |||||
| .subs dd { | |||||
| float: right; | |||||
| width: 90%; | |||||
| display: block; | |||||
| padding-left: 0.5em; | |||||
| margin-bottom: 0.5em; | |||||
| } | |||||
| .subs dd.empty { | |||||
| display: none; | |||||
| } | |||||
| .subs dd p { | |||||
| margin: 0; | |||||
| } | |||||
| /* Render short-style data instances */ | |||||
| .inst ul { | |||||
| height: 100%; | |||||
| padding: 0.5em; | |||||
| margin: 0; | |||||
| } | |||||
| .inst, .inst li { | |||||
| list-style: none; | |||||
| margin-left: 1em; | |||||
| } | |||||
| /* Workaround for bug in Firefox (issue #384) */ | |||||
| .inst-left { | |||||
| float: left; | |||||
| } | |||||
| .top p.src { | |||||
| border-top: 1px solid #ccc; | |||||
| } | |||||
| .subs, .doc { | |||||
| /* use this selector for one level of indent */ | |||||
| padding-left: 2em; | |||||
| } | |||||
| .warning { | |||||
| color: red; | |||||
| } | |||||
| .arguments { | |||||
| margin-top: -0.4em; | |||||
| } | |||||
| .arguments .caption { | |||||
| display: none; | |||||
| } | |||||
| .fields { padding-left: 1em; } | |||||
| .fields .caption { display: none; } | |||||
| .fields p { margin: 0 0; } | |||||
| /* this seems bulky to me | |||||
| .methods, .constructors { | |||||
| background: #f8f8f8; | |||||
| border: 1px solid #eee; | |||||
| } | |||||
| */ | |||||
| /* @end */ | |||||
| /* @group Auxillary Pages */ | |||||
| .extension-list { | |||||
| list-style-type: none; | |||||
| margin-left: 0; | |||||
| } | |||||
| #mini { | |||||
| margin: 0 auto; | |||||
| padding: 0 1em 1em; | |||||
| } | |||||
| #mini > * { | |||||
| font-size: 93%; /* 12pt */ | |||||
| } | |||||
| #mini #module-list .caption, | |||||
| #mini #module-header .caption { | |||||
| font-size: 125%; /* 15pt */ | |||||
| } | |||||
| #mini #interface h1, | |||||
| #mini #interface h2, | |||||
| #mini #interface h3, | |||||
| #mini #interface h4 { | |||||
| font-size: 109%; /* 13pt */ | |||||
| margin: 1em 0 0; | |||||
| } | |||||
| #mini #interface .top, | |||||
| #mini #interface .src { | |||||
| margin: 0; | |||||
| } | |||||
| #mini #module-list ul { | |||||
| list-style: none; | |||||
| margin: 0; | |||||
| } | |||||
| #alphabet ul { | |||||
| list-style: none; | |||||
| padding: 0; | |||||
| margin: 0.5em 0 0; | |||||
| text-align: center; | |||||
| } | |||||
| #alphabet li { | |||||
| display: inline; | |||||
| margin: 0 0.25em; | |||||
| } | |||||
| #alphabet a { | |||||
| font-weight: bold; | |||||
| } | |||||
| #index .caption, | |||||
| #module-list .caption { font-size: 131%; /* 17pt */ } | |||||
| #index table { | |||||
| margin-left: 2em; | |||||
| } | |||||
| #index .src { | |||||
| font-weight: bold; | |||||
| } | |||||
| #index .alt { | |||||
| font-size: 77%; /* 10pt */ | |||||
| font-style: italic; | |||||
| padding-left: 2em; | |||||
| } | |||||
| #index td + td { | |||||
| padding-left: 1em; | |||||
| } | |||||
| #module-list ul { | |||||
| list-style: none; | |||||
| margin: 0 0 0 2em; | |||||
| } | |||||
| #module-list li { | |||||
| clear: right; | |||||
| } | |||||
| #module-list span.collapser, | |||||
| #module-list span.expander { | |||||
| background-position: 0 0.3em; | |||||
| } | |||||
| #module-list .package { | |||||
| float: right; | |||||
| } | |||||
| /* @end */ | |||||