Hi,

What are the expectations for the 0/0 division?
Test execute.exp=arith-rand.c generates two integers, both being 0 and one of 
the testing blocks is:
      { signed int xx = x, yy = y, r1, r2;
        if ((unsigned int) xx << 1 == 0 && yy == -1)
          continue;
        r1 = xx / yy;
        r2 = xx % yy;
        if (ABS (r2) >= (unsigned int) ABS (yy) || (signed int) (r1 * yy + r2) 
!= xx)
          abort ();
      }

Our routine returns : 
R1: 0xffffffff
R2: 0xf

Then it aborts because ABS (r2) >= (unsigned int) ABS (yy).
While I understand the results from our division routine might be peculiar, 
this division is also undefined.

The block skips the test for ((unsigned int) xx << 1 == 0 && yy == -1), should 
we skip it if they're both zero as well? If not, what do you expect to get from 
0/0 and 0%0?

Regards,

Paulo Matos


Reply via email to