v1.6.0
What's Changed
- Optimize parsing, ExpMod, and MulMod by 64-bit modulus by @kamilchodola in #84
- perf: split SIMD fast paths into inlinable helpers by @maximmenshikov in #95
- ADDMOD: skip wasted DivRems in the 64-bit-modulus reduction for small sums by @kamilchodola in #93
- Int256: top-bit sign test in operator<, limb-based IsZero/IsOne (EVM SLT/SGT path) by @kamilchodola in #97
- LT/GT: route LessThan to scalar on non-AVX-512 (keep the AVX-512 path) by @kamilchodola in #91
- Optimize scalar UInt256 multiplication by @kamilchodola in #99
- Improve UInt256 hash performance by @benaadams in #100
- Optimize MultiplyMod: reuse div remainder in Knuth reduction (-27% to -37%) by @benaadams in #101
- Make (UInt256)BigInteger cast allocation-free by @kamilchodola in #85
- Speed up PaddedBytes with block writes instead of per-byte loop by @kamilchodola in #86
- Vectorize UInt256.ToBigEndian(Span) for the 32-byte word by @kamilchodola in #92
- ADDMOD: skip wasted reductions in the portable 64-bit-modulus remainder (zk guest / ARM path) by @kamilchodola in #96
- Int256: AggressiveInlining hints for hot accessors by @kamilchodola in #90
- Support standard and zkEVM variants in a single NuGet package by @maximmenshikov in #94
New Contributors
- @kamilchodola made their first contribution in #84
- @maximmenshikov made their first contribution in #95
Full Changelog: v1.5.0...v1.6.0