Richard Zidlicky writes:

> Also very nice source of desaster are div and mod routines wrt
negative
> values and overflow. Those are often used in direct disk access
> programs.

viz:

DIV/MOD

SMSQ/E and Minerva say:

  7 div  3 ,  7 mod  3 =>  2 ,  1
 -7 div  3 , -7 mod  3 => -3 ,  2
  7 div -3 ,  7 mod -3 => -3 , -2
 -7 div -3 , -7 mod -3 =>  2 , -1

 Prospero Pascal says:

  7 div  3 ,  7 mod  3 =>  2 ,  1
 -7 div  3 , -7 mod  3 => -2 ,  1
  7 div -3 ,  7 mod -3 => -2 ,  error
 -7 div -3 , -7 mod -3 =>  2 ,  error

C68 Release 3.05 using the div_t structure says:

  7 div  3 ,  7 mod  3 =>  2 ,  1
 -7 div  3 , -7 mod  3 => -2 , -1
  7 div -3 ,  7 mod -3 => -1 , -4 ?!
 -7 div -3 , -7 mod -3 =>  2 , -1

Using school maths I get:

  7 div  3 ,  7 mod  3 =>  2 ,  1
 -7 div  3 , -7 mod  3 => -2 , -1
  7 div -3 ,  7 mod -3 => -2 ,  1
 -7 div -3 , -7 mod -3 =>  2 , -1

 Who says we're hard up for choice!

Per


Reply via email to