When comparing u32s, don't use subtraction

This fixes a pair of evil little bugs (copy and paste doubled the fun).
Make sure that:
  a > b returns 1
  a < b returns -1
  a == b returns 0