Bugs or features?

Roberto Bagnara bagnara at cs.unipr.it
Sat Feb 16 07:55:50 CET 2008

Torbjorn Granlund wrote:
>   I am just wondering if this is by design or if this is a bug?
>   The question if this is the intended functionality of the >>= operator
>   for negative numbers. This differs from how it is defined for native
>   types like int for example.
> This is a sticky issue.
> In the C standard, the behaviour of right shift of negative numbers is
> undefined.  But in practice, almost every compiler defines it as
> rounding towards -oo.  The one exception I am aware of is Cray's
> compilers for their vector systems.  (They shift the numbers logically
> always, which is not very helpful.)
> I am inclined to changing gmpxx.h to make it follow the common
> behaviour, although that is not formally standardized.
> What do people think?  I am mainly interested in the opinion of people
> that actually use gmpxx.h.

I vote for the proposed change.

Prof. Roberto Bagnara
Computer Science Group
Department of Mathematics, University of Parma, Italy
mailto:bagnara at cs.unipr.it

More information about the gmp-discuss mailing list