go.mod asked for ids v1.3.2 and crypto v1.20.2 while go.sum still carried
v1.2.9 and v1.19.0, so the module did not build. Retidied the root and the
nested bit/ and safe/ modules; bit/ was additionally missing the luxfi/geth
requirement that its compress test imports.
The CI test command covers all four modules — go test ./... stops at a nested
module boundary and would otherwise skip bit/, big/ and safe/ entirely.
Added functions from node/vms/dexvm/math:
- Div64: safe division with error on zero
- MulBig: multiply uint64s returning big.Int
- MulDiv64: (a * b) / c without overflow
- MulDivRoundUp64: ceiling division variant
- BigMulDiv: big.Int multiplication+division
- BigMulDivRoundUp: big.Int ceiling variant
- Clamp: generic ordered type clamping
Also added common big.Int values (bigZero, bigOne, maxUint64Big)
for performance in division operations.