Builds from a plain Dart int (positive or negative), truncating to
32 bits like a wrapping cast. value must itself be a normal,
double-safe Dart int (true for any literal or value that didn't
already come from a wider fixed-width type).
-other wraps back to Int32.min itself when other == Int32.min
(there's no positive counterpart in two's complement), so that case
can't go through addChecked(-other) like every other value can.
this - Int32.min only fits the signed range when this is
negative, in which case the plain wrapping subtract is already
exact (never actually wraps).
Multiply, keeping only the low 32 bits (wrapping). Two 32-bit
magnitudes multiplied directly can reach ~2^64 — unsafe as a double
on web — so this decomposes into 16-bit limbs first, the same way
Uint64.operator* does.
Truncating division (toward zero), like Rust's / or C's /.
Int32.min ~/ Int32.minusOne wraps back to Int32.min (the one
case where the mathematical quotient doesn't fit).