in reply to Arithmetic on numbers bigger than 1<<31

The problem is that the "%d" implies a conversion to a bitwise integer,and IMHO perl is extremely broken in this regard.

Anything larger than 2**32-1 is converted to 2**32-1 (aka -1).

Anything smaller than -2**31 is converted to 2**31 (aka -2**31).

Nothing else works this way. Certainly not libm.

Whatever, it can really screw you if you aren't careful:

(0xFFFFFFFF+1)&0xFFFFFFFF == 0xFFFFFFFF and die "Database wiped\n" Database wiped
I hate it when that happens.