[kaffe] Re: Computing remainders

Dalibor Topic robilad@yahoo.com
Sun Jun 29 03:51:01 2003


--- Dalibor Topic <robilad@yahoo.com> wrote:

> Sounds good to me. That's similar to the route I'd like to go for the
> interpreter as well.
> 
> 1. make the current special case (#ifdef LONG_MODULO_BROKEN) the only case.
> That should fix powerpc, x86 and m68k.
> 2. remove the according configure.in checks. since they become unnecessary.
> 3. write configure.in checks to see if C / with negative args rounds to 0
> 4. write configure.in checks to see if C % with negative args is negative
> 5. implement Java / and % on those platforms where the checks above fail
> using
> my slow div_t based implementation.
> 6. put the division and remainder code in its own header file

I had a brief look over gcc 3.2 internals docs:


     The result of a `TRUNC_DIV_EXPR' is always rounded towards zero.
     The `TRUNC_MOD_EXPR' of two operands `a' and `b' is always `a -
     a/b' where the division is as if computed by a `TRUNC_DIV_EXPR'.

so as long as we are only using the gcc, there's no need for steps 3-6 ;)

cheers,
dalibor topic

__________________________________
Do you Yahoo!?
SBC Yahoo! DSL - Now only $29.95 per month!
http://sbc.yahoo.com