<html><head></head><body>That is my suggestion and I think you should use it so it's easier to debug.<br><br><div class="gmail_quote">On May 17, 2016 5:11:42 PM PDT, Mark Adams <mfadams@lbl.gov> wrote:<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<div dir="ltr">OK, I thought you were suggesting that:<div><br /></div><div><pre class="" style="margin-top:0px;margin-bottom:1em;padding:5px;border:0px;font-size:13px;width:auto;max-height:600px;overflow:auto;font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,sans-serif;color:rgb(57,51,24);word-wrap:normal;background-color:rgb(239,240,241)"><code style="margin:0px;padding:0px;border:0px;font-family:Consolas,Menlo,Monaco,'Lucida Console','Liberation Mono','DejaVu Sans Mono','Bitstream Vera Sans Mono','Courier New',monospace,sans-serif;white-space:inherit"><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(16,16,148)">unsigned</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"> </span><span class=""
style="margin:0px;padding:0px;border:0px;color:rgb(43,145,175)">int</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"> hash</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">(</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(16,16,148)">unsigned</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"> </span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(43,145,175)">int</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"> x</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">)</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"> </span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">{</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">
    x </span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">=</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"> </span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">((</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">x </span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">>></span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"> </span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(125,39,39)">16</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">)</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"> </span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">^</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"> x</span><span class=""
style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">)</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"> </span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">*</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"> </span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(125,39,39)">0x45d9f3b</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">;</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">
    x </span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">=</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"> </span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">((</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">x </span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">>></span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"> </span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(125,39,39)">16</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">)</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"> </span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">^</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"> x</span><span class=""
style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">)</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"> </span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">*</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"> </span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(125,39,39)">0x45d9f3b</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">;</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">
    x </span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">=</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"> </span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">((</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">x </span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">>></span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"> </span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(125,39,39)">16</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">)</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"> </span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">^</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"> x</span><span class=""
style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">);</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">
    </span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(16,16,148)">return</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)"> x</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">;</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">
</span><span class="" style="margin:0px;padding:0px;border:0px;color:rgb(48,51,54)">}</span></code></pre><div class="gmail_extra">But, Barry is vetoing this.</div><div class="gmail_extra"><br /><div class="gmail_quote">On Tue, May 17, 2016 at 4:18 PM, Jed Brown <span dir="ltr"><<a href="mailto:jed@jedbrown.org" target="_blank">jed@jedbrown.org</a>></span> wrote:<br /><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><span class="">Mark Adams <<a href="mailto:mfadams@lbl.gov">mfadams@lbl.gov</a>> writes:<br />
<br />
> Why not just set each index with hash(i) = (i >> 32)^i and forget<br />
> VecSetRandom in here?<br />
<br />
</span>Because if your vertices are numbered lexicographically on a Cartesian<br />
grid, this gives you a plane.  But just put in the legit hash (the one I<br />
linked is pretty good) and then you don't have to worry about<br />
accidentally stumbling upon pathological cases.<br />
</blockquote></div><br /></div></div></div>
</blockquote></div></body></html>