<div dir="ltr">Hi Mattias,<br><div class="gmail_extra"><br><div class="gmail_quote">On 2 September 2015 at 08:24, Mattias Helsing <span dir="ltr"><<a href="mailto:helsing72@gmail.com" target="_blank">helsing72@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I guess it's to old performance vs user-friendliness problem, and<br>
that's why I wanted to bring it up here before submitting anything.<br>
<br>
What do you think?<br></blockquote><div><br><br></div><div>For code that used in inner loops I generally prefer to avoid extra validity checks as these will have noticeable impact on performance.  For code that is called rarely the cost of the checks is not significant.<br><br></div><div>There is also the issue of what you do when you find erroneous input.  In the case of makeRotate being passed zero length vectors the result is undefined, even if it catches the case one is left with the question of how to report an undefined value and what to choose as a result.  For zero length vectors a zero rotation would be appropriate as to do nothing is probably a reasonable fallback for most applications.<br><br></div><div>However, you really shouldn't be passing in erroneous data to start with, hiding problems lower down won't really solve the problem if the problem is higher in the stack, for you own application this means finding out why you are passing zero length vectors into makeRotate().<br></div><div><br></div><div>Robert.<br></div><div><br> </div></div></div></div>