ecmult: Use size_t for array indices#1794
ecmult: Use size_t for array indices#1794real-or-random merged 2 commits intobitcoin-core:masterfrom
Conversation
b1bdae6 to
9e7aede
Compare
|
Concept ACK. I came to the same idea while working on #1791, but left it for later :) |
hebasto
left a comment
There was a problem hiding this comment.
ACK 9e7aede, I have reviewed the code and it looks OK.
However, there are still more cases to address:
size_t iin:Lines 339 to 348 in 2d9137c
size_t min:secp256k1/src/ecmult_const_impl.h
Lines 93 to 98 in 2d9137c
size_t iin:secp256k1/src/ecmult_const_impl.h
Lines 228 to 230 in 2d9137c
Also, making the result of the
ECMULT_TABLE_SIZEmacro (hopefully) asize_tfixes a compiler warning on MSVC, see #1791.
It does.
9e7aede to
47eb709
Compare
I think there's no perfect solution here, but fixing this one will open up the entire business of cleaning up types in The same is true for the stuff in ecmult_gen; I think this could be a separate PR. |
|
@theStack Want to review this? |
14e56970cb Merge bitcoin-core/secp256k1#1794: ecmult: Use size_t for array indices c7a52400d6 Merge bitcoin-core/secp256k1#1809: release cleanup: bump version after 0.7.1 ae7eb729c0 release cleanup: bump version after 0.7.1 1a53f4961f Merge bitcoin-core/secp256k1#1808: Prepare for 0.7.1 20a209f11c release: prepare for 0.7.1 c4b6a81a60 changelog: update in preparation for the v0.7.1 release ebb35882da Merge bitcoin-core/secp256k1#1796: bench: fail early if user inputs invalid value for SECP256K1_BENCH_ITERS c09215f7af bench: fail early if user inputs invalid value for SECP256K1_BENCH_ITERS 471e3a130d Merge bitcoin-core/secp256k1#1800: sage: verify Eisenstein integer connection for GLV constants 29ac4d8491 sage: verify Eisenstein integer connection for GLV constants 4721e077b4 Merge bitcoin-core/secp256k1#1793: doc/bench: added help text for SECP256K1_BENCH_ITERS env var for bench_ecmult bd5ced1fe1 doc/bench: added help text for SECP256K1_BENCH_ITERS env var for bench_ecmult 47eb70959a ecmult: Use size_t for array indices in _odd_multiplies_table bb1d199de5 ecmult: Use size_t for array indices into tables 2d9137ce9d Merge bitcoin-core/secp256k1#1764: group: Avoid using infinity field directly in other modules f9a944ff2d Merge bitcoin-core/secp256k1#1790: doc: include arg -DSECP256K1_USE_EXTERNAL_DEFAULT_CALLBACKS=ON for cmake 0406cfc4d1 doc: include arg -DUSE_EXTERNAL_DEFAULT_CALLBACKS=1 for cmake 8d445730ec Merge bitcoin-core/secp256k1#1783: Add VERIFY_CHECKs and documentation that flags must be 0 or 1 aa2a39c1a7 Merge bitcoin-core/secp256k1#1778: doc/bench: Added cmake build options to bench error messages 540fec8ae9 Merge bitcoin-core/secp256k1#1788: test: split monolithic ellswift test into independent cases d822b29021 test: split monolithic ellswift test into independent cases ae00c552df Add VERIFY_CHECKs that flags are 0 or 1 5c75183344 Merge bitcoin-core/secp256k1#1784: refactor: remove ret from secp256k1_ec_pubkey_serialize be5e4f02fd Merge bitcoin-core/secp256k1#1779: Add ARG_CHECKs to ensure "array of pointers" elements are non-NULL 3daab83a60 refactor: remove ret from secp256k1_ec_pubkey_serialize 8bcda186d2 test: Add non-NULL checks for "pointer of array" API functions 5a08c1bcdc Add ARG_CHECKs to ensure "array of pointers" elements are non-NULL 3b5b03f301 doc/bench: Added cmake build options to bench error messages e7f7083b53 Merge bitcoin-core/secp256k1#1774: refactor: split up internal pubkey serialization function into compressed/uncompressed variants b6c2a3cd77 Merge bitcoin-core/secp256k1#1761: ecmult_multi: reduce strauss memory usage by 30% f5e815f430 remove secp256k1_eckey_pubkey_serialize function 0d3659c547 use new `_eckey_pubkey_serialize{33,65}` functions in modules (ellswift,musig) adb76f82ea use new `_eckey_pubkey_serialize{33,65}` functions in public API fc7458ca3e introduce `secp256k1_eckey_pubkey_serialize{33,65}` functions c8206b1ce6 Merge bitcoin-core/secp256k1#1771: ci: Use Python virtual environment in "x86_64-macos-native" job f252da7e6e ci: Use Python virtual environment in "x86_64-macos-native" job 115b135fe8 Merge bitcoin-core/secp256k1#1763: bench: Use `ALIGNMENT` macro instead of hardcoded value 2f73e5281d group: Avoid using infinity field directly in other modules 153eea20c2 bench: Use `ALIGNMENT` macro instead of hardcoded value 26166c4f5f ecmult_multi: reduce strauss memory usage by 30% 7a2fff85e8 Merge bitcoin-core/secp256k1#1758: ci: Drop workaround for Valgrind older than 3.20.0 43e7b115f7 Merge bitcoin-core/secp256k1#1759: ci: Switch to macOS 15 Sequoia Intel-based image 8bc50b72ff ci: Switch to macOS 15 Sequoia Intel-based image c09519f0e3 ci: Drop workaround for Valgrind older than 3.20.0 git-subtree-dir: src/secp256k1 git-subtree-split: 14e56970cba37ffe4ee992c1e08707a16e22e345
15ea24cb8c batch: make add functions void & introduce reset bfcc479a35 batch: remove `batch_usable` api 15e388e096 batch: make tests functions internal & static aac054a373 fix typos & index the right inputs for benchmarks c07e710003 batch: remove experimental status 49fb753393 test: fix ci failures e96dabb4af batch: Generate speedup graphs b0b3425cd4 batch, extrakeys: Add benchmarks 9d5115156b batch: Add tests for batch_add_* APIs 668199c917 batch,ecmult: Add tests for core batch APIs and strauss_batch refactor 53a158203f batch: Add example b40b4186b8 batch: Add batch_add_* APIs 2bed1cb6ee batch, ecmult: Add batch_verify and refactor strauss_batch 8f13eeae31 batch: Add create and destroy APIs 0b6b0c87ad batch: Initialize an experimental batch module REVERT: 14e56970cb Merge bitcoin-core/secp256k1#1794: ecmult: Use size_t for array indices REVERT: c7a52400d6 Merge bitcoin-core/secp256k1#1809: release cleanup: bump version after 0.7.1 REVERT: ae7eb729c0 release cleanup: bump version after 0.7.1 REVERT: 1a53f4961f Merge bitcoin-core/secp256k1#1808: Prepare for 0.7.1 REVERT: 20a209f11c release: prepare for 0.7.1 REVERT: c4b6a81a60 changelog: update in preparation for the v0.7.1 release REVERT: ebb35882da Merge bitcoin-core/secp256k1#1796: bench: fail early if user inputs invalid value for SECP256K1_BENCH_ITERS REVERT: c09215f7af bench: fail early if user inputs invalid value for SECP256K1_BENCH_ITERS REVERT: 471e3a130d Merge bitcoin-core/secp256k1#1800: sage: verify Eisenstein integer connection for GLV constants REVERT: 29ac4d8491 sage: verify Eisenstein integer connection for GLV constants REVERT: 4721e077b4 Merge bitcoin-core/secp256k1#1793: doc/bench: added help text for SECP256K1_BENCH_ITERS env var for bench_ecmult REVERT: bd5ced1fe1 doc/bench: added help text for SECP256K1_BENCH_ITERS env var for bench_ecmult REVERT: 47eb70959a ecmult: Use size_t for array indices in _odd_multiplies_table REVERT: bb1d199de5 ecmult: Use size_t for array indices into tables REVERT: 2d9137ce9d Merge bitcoin-core/secp256k1#1764: group: Avoid using infinity field directly in other modules REVERT: f9a944ff2d Merge bitcoin-core/secp256k1#1790: doc: include arg -DSECP256K1_USE_EXTERNAL_DEFAULT_CALLBACKS=ON for cmake REVERT: 0406cfc4d1 doc: include arg -DUSE_EXTERNAL_DEFAULT_CALLBACKS=1 for cmake REVERT: 8d445730ec Merge bitcoin-core/secp256k1#1783: Add VERIFY_CHECKs and documentation that flags must be 0 or 1 REVERT: aa2a39c1a7 Merge bitcoin-core/secp256k1#1778: doc/bench: Added cmake build options to bench error messages REVERT: 540fec8ae9 Merge bitcoin-core/secp256k1#1788: test: split monolithic ellswift test into independent cases REVERT: d822b29021 test: split monolithic ellswift test into independent cases REVERT: ae00c552df Add VERIFY_CHECKs that flags are 0 or 1 REVERT: 5c75183344 Merge bitcoin-core/secp256k1#1784: refactor: remove ret from secp256k1_ec_pubkey_serialize REVERT: be5e4f02fd Merge bitcoin-core/secp256k1#1779: Add ARG_CHECKs to ensure "array of pointers" elements are non-NULL REVERT: 3daab83a60 refactor: remove ret from secp256k1_ec_pubkey_serialize REVERT: 8bcda186d2 test: Add non-NULL checks for "pointer of array" API functions REVERT: 5a08c1bcdc Add ARG_CHECKs to ensure "array of pointers" elements are non-NULL REVERT: 3b5b03f301 doc/bench: Added cmake build options to bench error messages REVERT: e7f7083b53 Merge bitcoin-core/secp256k1#1774: refactor: split up internal pubkey serialization function into compressed/uncompressed variants REVERT: b6c2a3cd77 Merge bitcoin-core/secp256k1#1761: ecmult_multi: reduce strauss memory usage by 30% REVERT: f5e815f430 remove secp256k1_eckey_pubkey_serialize function REVERT: 0d3659c547 use new `_eckey_pubkey_serialize{33,65}` functions in modules (ellswift,musig) REVERT: adb76f82ea use new `_eckey_pubkey_serialize{33,65}` functions in public API REVERT: fc7458ca3e introduce `secp256k1_eckey_pubkey_serialize{33,65}` functions REVERT: 2f73e5281d group: Avoid using infinity field directly in other modules REVERT: 26166c4f5f ecmult_multi: reduce strauss memory usage by 30% git-subtree-dir: src/secp256k1 git-subtree-split: 15ea24cb8c1bd239a7a39939da1952cf6d3a35b0
15ea24cb8c batch: make add functions void & introduce reset bfcc479a35 batch: remove `batch_usable` api 15e388e096 batch: make tests functions internal & static aac054a373 fix typos & index the right inputs for benchmarks c07e710003 batch: remove experimental status 49fb753393 test: fix ci failures e96dabb4af batch: Generate speedup graphs b0b3425cd4 batch, extrakeys: Add benchmarks 9d5115156b batch: Add tests for batch_add_* APIs 668199c917 batch,ecmult: Add tests for core batch APIs and strauss_batch refactor 53a158203f batch: Add example b40b4186b8 batch: Add batch_add_* APIs 2bed1cb6ee batch, ecmult: Add batch_verify and refactor strauss_batch 8f13eeae31 batch: Add create and destroy APIs 0b6b0c87ad batch: Initialize an experimental batch module REVERT: 14e56970cb Merge bitcoin-core/secp256k1#1794: ecmult: Use size_t for array indices REVERT: c7a52400d6 Merge bitcoin-core/secp256k1#1809: release cleanup: bump version after 0.7.1 REVERT: ae7eb729c0 release cleanup: bump version after 0.7.1 REVERT: 1a53f4961f Merge bitcoin-core/secp256k1#1808: Prepare for 0.7.1 REVERT: 20a209f11c release: prepare for 0.7.1 REVERT: c4b6a81a60 changelog: update in preparation for the v0.7.1 release REVERT: ebb35882da Merge bitcoin-core/secp256k1#1796: bench: fail early if user inputs invalid value for SECP256K1_BENCH_ITERS REVERT: c09215f7af bench: fail early if user inputs invalid value for SECP256K1_BENCH_ITERS REVERT: 471e3a130d Merge bitcoin-core/secp256k1#1800: sage: verify Eisenstein integer connection for GLV constants REVERT: 29ac4d8491 sage: verify Eisenstein integer connection for GLV constants REVERT: 4721e077b4 Merge bitcoin-core/secp256k1#1793: doc/bench: added help text for SECP256K1_BENCH_ITERS env var for bench_ecmult REVERT: bd5ced1fe1 doc/bench: added help text for SECP256K1_BENCH_ITERS env var for bench_ecmult REVERT: 47eb70959a ecmult: Use size_t for array indices in _odd_multiplies_table REVERT: bb1d199de5 ecmult: Use size_t for array indices into tables REVERT: 2d9137ce9d Merge bitcoin-core/secp256k1#1764: group: Avoid using infinity field directly in other modules REVERT: f9a944ff2d Merge bitcoin-core/secp256k1#1790: doc: include arg -DSECP256K1_USE_EXTERNAL_DEFAULT_CALLBACKS=ON for cmake REVERT: 0406cfc4d1 doc: include arg -DUSE_EXTERNAL_DEFAULT_CALLBACKS=1 for cmake REVERT: 8d445730ec Merge bitcoin-core/secp256k1#1783: Add VERIFY_CHECKs and documentation that flags must be 0 or 1 REVERT: aa2a39c1a7 Merge bitcoin-core/secp256k1#1778: doc/bench: Added cmake build options to bench error messages REVERT: 540fec8ae9 Merge bitcoin-core/secp256k1#1788: test: split monolithic ellswift test into independent cases REVERT: d822b29021 test: split monolithic ellswift test into independent cases REVERT: ae00c552df Add VERIFY_CHECKs that flags are 0 or 1 REVERT: 5c75183344 Merge bitcoin-core/secp256k1#1784: refactor: remove ret from secp256k1_ec_pubkey_serialize REVERT: be5e4f02fd Merge bitcoin-core/secp256k1#1779: Add ARG_CHECKs to ensure "array of pointers" elements are non-NULL REVERT: 3daab83a60 refactor: remove ret from secp256k1_ec_pubkey_serialize REVERT: 8bcda186d2 test: Add non-NULL checks for "pointer of array" API functions REVERT: 5a08c1bcdc Add ARG_CHECKs to ensure "array of pointers" elements are non-NULL REVERT: 3b5b03f301 doc/bench: Added cmake build options to bench error messages REVERT: e7f7083b53 Merge bitcoin-core/secp256k1#1774: refactor: split up internal pubkey serialization function into compressed/uncompressed variants REVERT: b6c2a3cd77 Merge bitcoin-core/secp256k1#1761: ecmult_multi: reduce strauss memory usage by 30% REVERT: f5e815f430 remove secp256k1_eckey_pubkey_serialize function REVERT: 0d3659c547 use new `_eckey_pubkey_serialize{33,65}` functions in modules (ellswift,musig) REVERT: adb76f82ea use new `_eckey_pubkey_serialize{33,65}` functions in public API REVERT: fc7458ca3e introduce `secp256k1_eckey_pubkey_serialize{33,65}` functions REVERT: 2f73e5281d group: Avoid using infinity field directly in other modules REVERT: 26166c4f5f ecmult_multi: reduce strauss memory usage by 30% git-subtree-dir: src/secp256k1 git-subtree-split: 15ea24cb8c1bd239a7a39939da1952cf6d3a35b0
4d79f01fd6 fullagg: Add docs 0227909997 fullagg: Add to build system 5f8445fbb4 fullagg: Add to CI 31151b5ce1 fullagg: Add example 6fc2f996ae fullagg: Add include file 51aec0a6ed fullagg: Add module b6f2b94ec0 refactor: Move parsing helpers from musig to eckey 7f237a8789 Experimental: Add incremental half-aggregation for Schnorr signatures 4dffc4ce47 batch: make add functions void & introduce reset 6bd5cf1d6b batch: remove `batch_usable` api ea2aee51a9 batch: make tests functions internal & static 3ca67a134e fix typos & index the right inputs for benchmarks 999067412b batch: remove experimental status 5febd610bf test: fix ci failures 0f18ef9955 batch: Generate speedup graphs d69ff1a774 batch, extrakeys: Add benchmarks 4d50e05cb3 batch: Add tests for batch_add_* APIs 4661eced0a batch,ecmult: Add tests for core batch APIs and strauss_batch refactor e7766bce41 batch: Add example 6a9bcc29ac batch: Add batch_add_* APIs 646c4e5ecb batch, ecmult: Add batch_verify and refactor strauss_batch 58c589af10 batch: Add create and destroy APIs 99c297cede batch: Initialize an experimental batch module 97de5120cf Merge bitcoin-core/secp256k1#1804: test: show both CMake and Autotools usage for ctime_tests 57315a6985 Merge bitcoin-core/secp256k1#1813: Remove trailing spaces and introduce `-Wtrailing-whitespace=any` compiler flag 86cae58d2f build: Add `-Wleading-whitespace=spaces` compiler flag fb229e7602 build: Add `-Wtrailing-whitespace=any` compiler flag 13e3bee504 refactor: Remove trailing whitespace 453949ab2a Merge bitcoin-core/secp256k1#1816: ci: Rotate Docker cache keys cd49c57e44 Merge bitcoin-core/secp256k1#1814: release process: mention the `[Unreleased]` link clearly 2ccff6eb73 ci: Add weekly schedule 2f18567d24 ci: Rotate Docker cache keys every 4 weeks 0ffb1749a5 ci, docker: Fix LLVM repository signature failure 0267b65512 release process: mention the `[Unreleased]` link clearly 1605b02f75 Merge bitcoin-core/secp256k1#1775: Add CMake build directory patterns to `.gitignore` 14e56970cb Merge bitcoin-core/secp256k1#1794: ecmult: Use size_t for array indices c7a52400d6 Merge bitcoin-core/secp256k1#1809: release cleanup: bump version after 0.7.1 ae7eb729c0 release cleanup: bump version after 0.7.1 1a53f4961f Merge bitcoin-core/secp256k1#1808: Prepare for 0.7.1 20a209f11c release: prepare for 0.7.1 c4b6a81a60 changelog: update in preparation for the v0.7.1 release ebb35882da Merge bitcoin-core/secp256k1#1796: bench: fail early if user inputs invalid value for SECP256K1_BENCH_ITERS c09215f7af bench: fail early if user inputs invalid value for SECP256K1_BENCH_ITERS 1bc74a22f8 test: show both Autotools and CMake usage for ctime_tests 471e3a130d Merge bitcoin-core/secp256k1#1800: sage: verify Eisenstein integer connection for GLV constants 29ac4d8491 sage: verify Eisenstein integer connection for GLV constants 4721e077b4 Merge bitcoin-core/secp256k1#1793: doc/bench: added help text for SECP256K1_BENCH_ITERS env var for bench_ecmult bd5ced1fe1 doc/bench: added help text for SECP256K1_BENCH_ITERS env var for bench_ecmult 47eb70959a ecmult: Use size_t for array indices in _odd_multiplies_table bb1d199de5 ecmult: Use size_t for array indices into tables 2d9137ce9d Merge bitcoin-core/secp256k1#1764: group: Avoid using infinity field directly in other modules f9a944ff2d Merge bitcoin-core/secp256k1#1790: doc: include arg -DSECP256K1_USE_EXTERNAL_DEFAULT_CALLBACKS=ON for cmake 0406cfc4d1 doc: include arg -DUSE_EXTERNAL_DEFAULT_CALLBACKS=1 for cmake 8d445730ec Merge bitcoin-core/secp256k1#1783: Add VERIFY_CHECKs and documentation that flags must be 0 or 1 aa2a39c1a7 Merge bitcoin-core/secp256k1#1778: doc/bench: Added cmake build options to bench error messages 540fec8ae9 Merge bitcoin-core/secp256k1#1788: test: split monolithic ellswift test into independent cases d822b29021 test: split monolithic ellswift test into independent cases ae00c552df Add VERIFY_CHECKs that flags are 0 or 1 5c75183344 Merge bitcoin-core/secp256k1#1784: refactor: remove ret from secp256k1_ec_pubkey_serialize be5e4f02fd Merge bitcoin-core/secp256k1#1779: Add ARG_CHECKs to ensure "array of pointers" elements are non-NULL 3daab83a60 refactor: remove ret from secp256k1_ec_pubkey_serialize 8bcda186d2 test: Add non-NULL checks for "pointer of array" API functions 5a08c1bcdc Add ARG_CHECKs to ensure "array of pointers" elements are non-NULL 3b5b03f301 doc/bench: Added cmake build options to bench error messages e7f7083b53 Merge bitcoin-core/secp256k1#1774: refactor: split up internal pubkey serialization function into compressed/uncompressed variants 748c0fdd67 Add CMake build directory patterns to `.gitignore` 7eb86bdb01 autotools: Rename `build-aux` to `autotools-aux` b6c2a3cd77 Merge bitcoin-core/secp256k1#1761: ecmult_multi: reduce strauss memory usage by 30% f5e815f430 remove secp256k1_eckey_pubkey_serialize function 0d3659c547 use new `_eckey_pubkey_serialize{33,65}` functions in modules (ellswift,musig) adb76f82ea use new `_eckey_pubkey_serialize{33,65}` functions in public API fc7458ca3e introduce `secp256k1_eckey_pubkey_serialize{33,65}` functions 2f73e5281d group: Avoid using infinity field directly in other modules 26166c4f5f ecmult_multi: reduce strauss memory usage by 30% REVERT: 15ea24cb8c batch: make add functions void & introduce reset REVERT: bfcc479a35 batch: remove `batch_usable` api REVERT: 15e388e096 batch: make tests functions internal & static REVERT: aac054a373 fix typos & index the right inputs for benchmarks REVERT: c07e710003 batch: remove experimental status REVERT: 49fb753393 test: fix ci failures REVERT: e96dabb4af batch: Generate speedup graphs REVERT: b0b3425cd4 batch, extrakeys: Add benchmarks REVERT: 9d5115156b batch: Add tests for batch_add_* APIs REVERT: 668199c917 batch,ecmult: Add tests for core batch APIs and strauss_batch refactor REVERT: 53a158203f batch: Add example REVERT: b40b4186b8 batch: Add batch_add_* APIs REVERT: 2bed1cb6ee batch, ecmult: Add batch_verify and refactor strauss_batch REVERT: 8f13eeae31 batch: Add create and destroy APIs REVERT: 0b6b0c87ad batch: Initialize an experimental batch module git-subtree-dir: src/secp256k1 git-subtree-split: 4d79f01fd63f5f8ada532ce58911e64a964628d8
…17, 1815, 1819, 1823, 1821, 1760, 1828, 1829, 1825, 1832, 1811 48cbd78 modules: Port bitcoin-core/secp256k1#1825 to zkp-specific code (mllwchrry) 126501f modules: Port bitcoin-core/secp256k1#1815 to zkp-specific code (mllwchrry) c49c9be bench: Update help functions in bench and bench_internal (kevkevinpal) 8d0eda0 testrand: Remove testrand_finish (Tim Ruffing) f48b1bf hash: add midstate initializer and use it for tagged hashes (w0xlt) 79e9f25 ci: Fix leftover use of old ECMULTGENPRECISION (Tim Ruffing) 76e92cf Revert "ci, docker: Fix LLVM repository signature failure" (Hennadii Stepanov) 8354618 cmake: Set `LABELS` property for tests (Hennadii Stepanov) 29f26ec cmake: Integrate DiscoverTests and normalize test names (Hennadii Stepanov) f95b263 cmake: Add DiscoverTests module (Hennadii Stepanov) 4ac6511 cmake, refactor: Deduplicate test-related code (Hennadii Stepanov) b99a94c Add tests for bad scalar inputs in ellswift XDH (gzJx0DuTRHytnHe7P5RmMbPf3wKy2BztweVGXTf) 307b49f ellswift: fix overflow flag handling in secp256k1_ellswift_xdh (gzJx0DuTRHytnHe7P5RmMbPf3wKy2BztweVGXTf) ed02466 ci: Load Docker image by ID from builder step (Hennadii Stepanov) f47bbc0 test: add unit tests for secp256k1_scalar_check_overflow (Rohit Yadav) 97b3c47 refactor: remove unnecessary `malloc` result casts (Sebastian Falbesoner) 3ae72e7 ci: Disable Docker build summary generation (Hennadii Stepanov) 4fb7ccf ci: Enforce base-10 evaluation (Hennadii Stepanov) 1bc74a2 test: show both Autotools and CMake usage for ctime_tests (8144225309) 86cae58 build: Add `-Wleading-whitespace=spaces` compiler flag (Hennadii Stepanov) fb229e7 build: Add `-Wtrailing-whitespace=any` compiler flag (Hennadii Stepanov) 13e3bee refactor: Remove trailing whitespace (Hennadii Stepanov) 2ccff6e ci: Add weekly schedule (Hennadii Stepanov) 2f18567 ci: Rotate Docker cache keys every 4 weeks (Hennadii Stepanov) 0ffb174 ci, docker: Fix LLVM repository signature failure (Hennadii Stepanov) 0267b65 release process: mention the `[Unreleased]` link clearly (Jonas Nick) 748c0fd Add CMake build directory patterns to `.gitignore` (Hennadii Stepanov) 7eb86bd autotools: Rename `build-aux` to `autotools-aux` (Hennadii Stepanov) 47eb709 ecmult: Use size_t for array indices in _odd_multiplies_table (Tim Ruffing) bb1d199 ecmult: Use size_t for array indices into tables (Tim Ruffing) Pull request description: Merge bitcoin-core/secp256k1#1794: ecmult: Use size_t for array indices Merge bitcoin-core/secp256k1#1775: Add CMake build directory patterns to `.gitignore` Merge bitcoin-core/secp256k1#1814: release process: mention the `[Unreleased]` link clearly Merge bitcoin-core/secp256k1#1816: ci: Rotate Docker cache keys Merge bitcoin-core/secp256k1#1813: Remove trailing spaces and introduce `-Wtrailing-whitespace=any` compiler flag Merge bitcoin-core/secp256k1#1804: test: show both CMake and Autotools usage for ctime_tests Merge bitcoin-core/secp256k1#1818: ci: Enforce base-10 evaluation Merge bitcoin-core/secp256k1#1817: ci: Disable Docker build summary generation Merge bitcoin-core/secp256k1#1815: refactor: remove unnecessary `malloc` result casts Merge bitcoin-core/secp256k1#1819: tests: Improve secp256k1_scalar_check_overflow tests (Issue #1812) Merge bitcoin-core/secp256k1#1823: ci: Load Docker image by ID from builder step Merge bitcoin-core/secp256k1#1821: ellswift: fix overflow flag handling in secp256k1_ellswift_xdh Merge bitcoin-core/secp256k1#1760: cmake: Add dynamic test discovery to improve parallelism Merge bitcoin-core/secp256k1#1828: Revert "ci, docker: Fix LLVM repository signature failure" Merge bitcoin-core/secp256k1#1829: ci: Fix leftover use of old ECMULTGENPRECISION Merge bitcoin-core/secp256k1#1825: hash: remove redundant `secp256k1_sha256_initialize` in tagged hash midstate functions Merge bitcoin-core/secp256k1#1832: testrand: Remove testrand_finish Merge bitcoin-core/secp256k1#1811: bench: Update help functions in bench and bench_internal This PR can be recreated with `./contrib/sync-upstream.sh -b master range c0a2aba`. Tips: * Use `git show --remerge-diff <pr-branch>` to show the conflict resolution in the merge commit. * Use `git read-tree --reset -u <pr-branch>` to replay these resolutions during the conflict resolution stage when recreating the PR branch locally. Be aware that this may discard your index as well as the uncommitted changes and untracked files in your worktree. ACKs for top commit: real-or-random: ACK 48cbd78 Tree-SHA512: 1ea96bf3b7458c02bb472ca7423eb21defe6640ea58a993ac24603d6a8d44ac9bbeab7e2ca5f993918fa1388b9e69b308dcc67277afffd55cb833ecf07051c75
I don't think the current code is incorrect, but using
size_timproves readability because the type makes it clear that we're dealing with array indices.Also, making the result of the
ECMULT_TABLE_SIZEmacro (hopefully) asize_tfixes a compiler warning on MSVC, see #1791.