Commits

Steve Losh committed 9c78e1a

roul: Update site.

  • Participants
  • Parent commits 531f67e

Comments (0)

Files changed (3)

File roul/index.html

     t.type  = 'text/javascript';
     t.async = true;
     t.id    = 'gauges-tracker';
-    t.setAttribute('data-site-id', '4f843f8c613f5d65280000e6');
+    t.setAttribute('data-site-id', '4f80ace2f5a1f538860000c2');
     t.src = '//secure.gaug.es/track.js';
     var s = document.getElementsByTagName('script')[0];
     s.parentNode.insertBefore(t, s);

File roul/installation/index.html

             <header><h1><a href="..">Roul</a></h1></header><div class="markdown">
 <h1 id="installation"><a href="">Installation</a></h1><p>Roul requires Leiningen 2.  Sorry.</p>
 <p>Add the following to your <code>project.clj</code>:</p>
-<div class="codehilite"><pre><span class="p">[</span><span class="n">roul</span> <span class="s">"0.1.0"</span><span class="p">]</span>
+<div class="codehilite"><pre><span class="p">[</span><span class="n">roul</span> "0<span class="p">.</span>2<span class="p">.</span>0"<span class="p">]</span>
 </pre></div>
 
 
     t.type  = 'text/javascript';
     t.async = true;
     t.id    = 'gauges-tracker';
-    t.setAttribute('data-site-id', '4f843f8c613f5d65280000e6');
+    t.setAttribute('data-site-id', '4f80ace2f5a1f538860000c2');
     t.src = '//secure.gaug.es/track.js';
     var s = document.getElementsByTagName('script')[0];
     s.parentNode.insertBefore(t, s);

File roul/usage/index.html

 <li><a href="#rand-int">rand-int</a></li>
 <li><a href="#rand-nth">rand-nth</a></li>
 <li><a href="#rand-nth-weighted">rand-nth-weighted</a></li>
+<li><a href="#rand-bool">rand-bool</a></li>
+<li><a href="#rand-gaussian">rand-gaussian</a></li>
+<li><a href="#rand-gaussian-int">rand-gaussian-int</a></li>
 </ul></li>
 </ul></div>
 <h2 id="roulrandom">roul.random</h2>
 functions of its own.</p>
 <p>The recommended way is to <code>require</code> this namespace into your own instead of
 overwriting Clojure's builtins:</p>
-<div class="codehilite"><pre><span class="p">(</span><span class="nf">ns</span> <span class="nv">foo</span><span class="o">.</span><span class="nv">core</span>
-  <span class="p">(</span><span class="nf">:require</span> <span class="p">[</span><span class="nv">roul</span><span class="o">.</span><span class="nv">random</span> <span class="nv">:as</span> <span class="nv">rr</span><span class="p">]))</span>
+<div class="codehilite"><pre><span class="p">(</span><span class="kd">ns </span><span class="nv">foo.core</span>
+  <span class="p">(</span><span class="ss">:require</span> <span class="p">[</span><span class="nv">roul.random</span> <span class="ss">:as</span> <span class="nv">rr</span><span class="p">]))</span>
 
 <span class="c1">; or</span>
 
-<span class="p">(</span><span class="nf">require</span> <span class="o">'</span><span class="p">[</span><span class="nv">roul</span><span class="o">.</span><span class="nv">random</span> <span class="nv">:as</span> <span class="nv">rr</span><span class="p">])</span>
+<span class="p">(</span><span class="nf">require</span> <span class="o">'</span><span class="p">[</span><span class="nv">roul.random</span> <span class="ss">:as</span> <span class="nv">rr</span><span class="p">])</span>
 </pre></div>
 
 
 weights can be arbitrary numbers -- they do not need to add up to anything
 specific.</p>
 <div class="codehilite"><pre><span class="c1">; Returns coffee roughly 80% of the time, tea 15%, and soda 5%.</span>
-<span class="p">(</span><span class="nf">rr/rand-nth-weighted</span> <span class="p">{</span><span class="nv">:coffee</span> <span class="mf">0.80</span><span class="o">,</span> <span class="nv">:tea</span> <span class="mf">0.15</span><span class="o">,</span> <span class="nv">:soda</span> <span class="mf">0.05</span><span class="p">})</span>
+<span class="p">(</span><span class="nf">rr/rand-nth-weighted</span> <span class="p">{</span><span class="ss">:coffee</span> <span class="mf">0.80</span>, <span class="ss">:tea</span> <span class="mf">0.15</span>, <span class="ss">:soda</span> <span class="mf">0.05</span><span class="p">})</span>
 
 <span class="c1">; Returns cats roughly twice as often as boots.</span>
-<span class="p">(</span><span class="nf">rr/rand-nth-weighted</span> <span class="p">[[</span><span class="nv">:boots</span> <span class="mi">14</span><span class="p">]</span>
-                       <span class="p">[</span><span class="nv">:cats</span> <span class="mi">28</span><span class="p">]])</span>
+<span class="p">(</span><span class="nf">rr/rand-nth-weighted</span> <span class="p">[[</span><span class="ss">:boots</span> <span class="mi">14</span><span class="p">]</span>
+                       <span class="p">[</span><span class="ss">:cats</span> <span class="mi">28</span><span class="p">]])</span>
+</pre></div>
+
+
+<h3 id="rand-bool">rand-bool</h3>
+<div class="codehilite"><pre><span class="p">(</span><span class="nf">rand-bool</span><span class="p">)</span>         <span class="c1">; return true or false</span>
+<span class="p">(</span><span class="nf">rand-bool</span> <span class="nv">percent</span><span class="p">)</span> <span class="c1">; return true the given percent of the time, false the rest</span>
+</pre></div>
+
+
+<p>Returns <code>true</code> or <code>false</code> randomly.</p>
+<p><code>percent</code> can be an integer or a float like <code>20</code> or <code>39.2</code>.  If given, <code>true</code>
+will be returned that percent of the time (and <code>false</code> the rest).</p>
+<p>If percent is not given it defaults to <code>50</code> (an equal chance for <code>true</code> and
+<code>false</code>).</p>
+<h3 id="rand-gaussian">rand-gaussian</h3>
+<div class="codehilite"><pre><span class="p">(</span><span class="nf">rand-gaussian</span><span class="p">)</span>
+<span class="p">(</span><span class="nf">rand-gaussian</span> <span class="nv">mean</span> <span class="nv">standard-deviation</span><span class="p">)</span>
+<span class="p">(</span><span class="nf">rand-gaussian</span> <span class="nv">mean</span> <span class="nv">standard-deviation</span> <span class="nv">upper-bound</span> <span class="nv">lower-bound</span><span class="p">)</span>
+</pre></div>
+
+
+<p>Return a random float taken from a Gaussian distribution with the given mean and
+standard deviation.</p>
+<p><code>mean</code> defaults to 0.</p>
+<p><code>standard-deviation</code> defaults to 1.</p>
+<p>A lower and upper bound can be specified if desired, which will clamp the output
+of this function to those bounds.  Note that this clamping does NOT adjust the
+distribution, so if you clamp too tightly you'll get a disproportionate number
+of the boundary values.  It's just here to give you a way to prevent garbage
+values.</p>
+<div class="codehilite"><pre><span class="c1">; Generate an [x, y] pair with Gaussian-distributed values.</span>
+<span class="c1">; The x value here is clamped between 0 and graph-width.</span>
+<span class="p">(</span><span class="k">let </span><span class="p">[</span><span class="nv">x</span> <span class="p">(</span><span class="nf">rand-gaussian</span> <span class="mi">100</span> <span class="mi">20</span> <span class="mi">0</span> <span class="nv">graph-width</span><span class="p">)</span>
+      <span class="nv">y</span> <span class="p">(</span><span class="nf">rand-gaussian</span> <span class="mi">200</span> <span class="mi">40</span><span class="p">)]</span>
+  <span class="nv">...</span><span class="p">)</span>
+</pre></div>
+
+
+<h3 id="rand-gaussian-int">rand-gaussian-int</h3>
+<div class="codehilite"><pre><span class="p">(</span><span class="nf">rand-gaussian</span><span class="p">)</span>
+<span class="p">(</span><span class="nf">rand-gaussian</span> <span class="nv">mean</span> <span class="nv">standard-deviation</span><span class="p">)</span>
+<span class="p">(</span><span class="nf">rand-gaussian</span> <span class="nv">mean</span> <span class="nv">standard-deviation</span> <span class="nv">upper-bound</span> <span class="nv">lower-bound</span><span class="p">)</span>
+</pre></div>
+
+
+<p>Return a random int taken from a Gaussian distribution with the given mean and
+standard deviation.</p>
+<p><code>mean</code> defaults to 0.</p>
+<p><code>standard-deviation</code> defaults to 1.</p>
+<p>A lower and upper bound can be specified if desired, which will clamp the output
+of this function to those bounds.  Note that this clamping does NOT adjust the
+distribution, so if you clamp too tightly you'll get a disproportionate number
+of the boundary values.  It's just here to give you a way to prevent garbage
+values.</p>
+<div class="codehilite"><pre><span class="c1">; Generate an [x, y] pair with Gaussian-distributed values.</span>
+<span class="c1">; The x value here is clamped between 0 and graph-width.</span>
+<span class="p">(</span><span class="k">let </span><span class="p">[</span><span class="nv">x</span> <span class="p">(</span><span class="nf">rand-gaussian</span> <span class="mi">100</span> <span class="mi">20</span> <span class="mi">0</span> <span class="nv">graph-width</span><span class="p">)</span>
+      <span class="nv">y</span> <span class="p">(</span><span class="nf">rand-gaussian</span> <span class="mi">200</span> <span class="mi">40</span><span class="p">)]</span>
+  <span class="nv">...</span><span class="p">)</span>
 </pre></div>
                 </div>
             <footer><p>Created by <a href="http://stevelosh.com">Steve Losh</a>.
     t.type  = 'text/javascript';
     t.async = true;
     t.id    = 'gauges-tracker';
-    t.setAttribute('data-site-id', '4f843f8c613f5d65280000e6');
+    t.setAttribute('data-site-id', '4f80ace2f5a1f538860000c2');
     t.src = '//secure.gaug.es/track.js';
     var s = document.getElementsByTagName('script')[0];
     s.parentNode.insertBefore(t, s);