<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
--></style>
</head>
<body class='hmmessage'>
I have to admit I don't fully understand<br>the division and modulo code in hand.c.<br><br><br>I don't understand the old division code,<br>but the documenation and behavior are<br>clear: round down. I understand<br>why my version works, though it might<br>depend on non-guaranteed behavior in C division<br>for the same sign cases. An earlier version<br>was clearer since it avoided doing anything<br>with negative numbers execpt negating them<br>(and carefully at that).<br><br><br>Modulo is much less clear to me.<br>From testing vs. the documentation, I know the<br>old code was wrong, though close.<br>I made some guesses based on the old code and<br>ran a variety of inputs through it.<br>My version matches the old version, except<br>where the old version is wrong.<br>I could write a clearly correct version, but it<br>would be perhaps much less efficient, just<br>computing a - b * div(a, b).<br><br><br>I tried running all 32bit inputs through some of it but it was<br>going to take too long.<br>I could maybe leave that running a few days if needed.<br><br> - Jay<br><br>                                     </body>
</html>