Dave Angel <da...@davea.name>: > So the C standard can specify such things as undefined. The > architecture still will do something specific, right or wrong, and > that's what Marko's claim was about. The C compiler has separate types > for unsigned and for signed, while the underlying architecture of > every twos complement machine I have used did add, subtract, and > multiply as though the numbers were unsigned (what you call modular > arithmetic).
Alain did have a point. *If* I had used int64_t in my algorithm, it might not have worked because the compiler could legally produce code that crashes or does weird things in case of a signed integer overflow. In this day and age, heavily optimized compilers (including gcc) actively exploit undefined behavior in code generation. However, I didn't use int64_t, I used uint64_t. Marko -- https://mail.python.org/mailman/listinfo/python-list