Skip to content

Releases: chfast/intx

intx 0.10.1

17 Jul 10:04
v0.10.1
2ab1e86
Compare
Choose a tag to compare

Fixed

  • Fixed buggy __builtin_subcll in Xcode 14.3.1 on arm64. 294

intx 0.9.3

17 Jul 09:34
v0.9.3
4c1ca55
Compare
Choose a tag to compare

Fixed

  • Fixed buggy __builtin_subcll in Xcode 14.3.1 on arm64. 294

intx 0.10.0

25 Apr 14:11
v0.10.0
dd34f96
Compare
Choose a tag to compare

Changed

  • C++20 is now required to use intx. #287 #290

intx 0.9.2

11 Mar 15:48
v0.9.2
bc106fa
Compare
Choose a tag to compare

Changed

  • Increase tolerance to some compiler warnings (e.g. unknown pragma, unknown attribute) in case intx.hpp is used without CMake assistance. #286

intx 0.9.1

31 Jan 12:12
v0.9.1
f3b775f
Compare
Choose a tag to compare

Fixed

  • Fixed 32-bit Windows builds: the _umul128 intrinsic is not available there. #283

intx 0.9.0

13 Dec 17:31
v0.9.0
1e964da
Compare
Choose a tag to compare

Changed

  • Optimizations for GCC compiler. #279 #281
  • Required CMake version increased from 3.10 to 3.16 #276
  • Simplification of many operators declarations by using friend inline functions. #270 #271
  • Benchmarks updates and fixes. #274 #275 #277

intx 0.8.0

15 Mar 17:38
v0.8.0
58c0c7f
Compare
Choose a tag to compare

Added

  • Added support for big-endian architectures. #257
  • Extend endian-specific load/store helpers to work with builtin integer types. #265

Changed

  • The addc() and subc() have been optimized with compiler's builtins if available. #250 #251 #253
  • Fixed and enabled CI testing for architectures other than x86. #255
  • Small multiplication optimization. #261
  • Small division optimization. #263
  • Small comparison operators optimization for the uint256 type. #264

intx 0.7.1

15 Feb 12:31
v0.7.1
2f62de7
Compare
Choose a tag to compare

Fixed

  • Added support for bswap() of small unsigned types: uint8_t, uint16_t and uint32_t. Previously arguments where promoted to uint64_t what produced invalid results. #247

intx 0.7.0

17 Dec 13:26
v0.7.0
ceb8640
Compare
Choose a tag to compare

Changed

  • The int128.hpp and intx.hpp header files have been merged. Now the whole library is included in single intx/intx.hpp file. #242
  • The addmod() implementation has optimized path for elliptic curve context. #206
  • The implementation of operator== now explicitly performs XOR folding. #245

intx 0.6.0

25 Jun 11:41
v0.6.0
d41a3bc
Compare
Choose a tag to compare

Changed

  • The internal representation of unsigned integers has been changed to be an array of 64-bit words. This provides types composed of any number of words (e.g. uint384). Previously only power-of-two numbers of words were allowed. This is big change that affects implementation of many operators. #212 #213
  • Subtraction has been slightly rewritten to make it easier for compilers to optimize it. The performance now matches the addition. #189
  • Multiplication API has been cleaned up by using std::is_constant_evaluated-like helpers internally. #195 #205
  • Shift API has been changed to use uint64_t as shift amount on the fundamental API level. #202