<div dir="ltr"><span class="im" style="font-size:12.8px">&gt; <span style="font-size:12.8px">If you pass an out-of-range argument, you should reject it using a precondition<br></span><br></span><div style="font-size:12.8px">Different use case. I have a circular buffer. </div><span class="im" style="font-size:12.8px"><div><br></div><div>&gt; <span style="font-size:12.8px">. And if for some reason you really *do* want to force the value into the range, clamping it to the bounds of the range seems like a more sensible solution than modulo</span></div><div><span style="font-size:12.8px"><br></span></div></span><div style="font-size:12.8px"><span style="font-size:12.8px">I have a circular buffer, I don&#39;t want to be clamping it to the bounds of the range.</span></div><span class="im" style="font-size:12.8px"><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">&gt; </span><span style="font-size:12.8px">I&#39;m sure there are cases where you *would* want to do this, but they seem like they&#39;d be few and far between.</span></div><div><span style="font-size:12.8px"><br></span></div></span><div style="font-size:12.8px"><span style="font-size:12.8px">It&#39;s the &#39;correct&#39; implementation of modulo. </span></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, May 21, 2016 at 4:40 PM, Brent Royal-Gordon <span dir="ltr">&lt;<a href="mailto:brent@architechies.com" target="_blank">brent@architechies.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">&gt; You are not taking into account when a function is passed an argument and needs it to be in some range.<br>
<br>
</span>If you pass an out-of-range argument, you should reject it using a precondition, thrown error, or nil return value. And if for some reason you really *do* want to force the value into the range, clamping it to the bounds of the range seems like a more sensible solution than modulo. I&#39;m sure there are cases where you *would* want to do this, but they seem like they&#39;d be few and far between.<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Brent Royal-Gordon<br>
Architechies<br>
<br>
</font></span></blockquote></div><br></div>