/Users/eugenesiegel/btc/bitcoin/src/util/fastrange.h
| Line | Count | Source (jump to first uncovered line) | 
| 1 |  | // Copyright (c) 2018-2022 The Bitcoin Core developers | 
| 2 |  | // Distributed under the MIT software license, see the accompanying | 
| 3 |  | // file COPYING or http://www.opensource.org/licenses/mit-license.php. | 
| 4 |  |  | 
| 5 |  | #ifndef BITCOIN_UTIL_FASTRANGE_H | 
| 6 |  | #define BITCOIN_UTIL_FASTRANGE_H | 
| 7 |  |  | 
| 8 |  | #include <cstdint> | 
| 9 |  |  | 
| 10 |  | /* This file offers implementations of the fast range reduction technique described | 
| 11 |  |  * in https://lemire.me/blog/2016/06/27/a-fast-alternative-to-the-modulo-reduction/ | 
| 12 |  |  * | 
| 13 |  |  * In short, they take an integer x and a range n, and return the upper bits of | 
| 14 |  |  * (x * n). If x is uniformly distributed over its domain, the result is as close to | 
| 15 |  |  * uniformly distributed over [0, n) as (x mod n) would be, but significantly faster. | 
| 16 |  |  */ | 
| 17 |  |  | 
| 18 |  | /** Fast range reduction with 32-bit input and 32-bit range. */ | 
| 19 |  | static inline uint32_t FastRange32(uint32_t x, uint32_t n) | 
| 20 | 69.0M | { | 
| 21 | 69.0M |     return (uint64_t{x} * n) >> 32; | 
| 22 | 69.0M | } Unexecuted instantiation: addition_overflow.cpp:_ZL11FastRange32jjUnexecuted instantiation: addrman.cpp:_ZL11FastRange32jjUnexecuted instantiation: autofile.cpp:_ZL11FastRange32jjUnexecuted instantiation: banman.cpp:_ZL11FastRange32jjUnexecuted instantiation: bip324.cpp:_ZL11FastRange32jjUnexecuted instantiation: bitdeque.cpp:_ZL11FastRange32jjUnexecuted instantiation: bitset.cpp:_ZL11FastRange32jjUnexecuted instantiation: block.cpp:_ZL11FastRange32jjUnexecuted instantiation: block_header.cpp:_ZL11FastRange32jjUnexecuted instantiation: block_index.cpp:_ZL11FastRange32jjUnexecuted instantiation: blockfilter.cpp:_ZL11FastRange32jjUnexecuted instantiation: bloom_filter.cpp:_ZL11FastRange32jjUnexecuted instantiation: buffered_file.cpp:_ZL11FastRange32jjUnexecuted instantiation: chain.cpp:_ZL11FastRange32jjUnexecuted instantiation: checkqueue.cpp:_ZL11FastRange32jjUnexecuted instantiation: cmpctblock.cpp:_ZL11FastRange32jjUnexecuted instantiation: coins_view.cpp:_ZL11FastRange32jjUnexecuted instantiation: coinscache_sim.cpp:_ZL11FastRange32jjUnexecuted instantiation: connman.cpp:_ZL11FastRange32jjUnexecuted instantiation: crypto.cpp:_ZL11FastRange32jjUnexecuted instantiation: crypto_aes256.cpp:_ZL11FastRange32jjUnexecuted instantiation: crypto_aes256cbc.cpp:_ZL11FastRange32jjUnexecuted instantiation: crypto_chacha20.cpp:_ZL11FastRange32jjUnexecuted instantiation: crypto_chacha20poly1305.cpp:_ZL11FastRange32jjUnexecuted instantiation: crypto_common.cpp:_ZL11FastRange32jjUnexecuted instantiation: crypto_diff_fuzz_chacha20.cpp:_ZL11FastRange32jjUnexecuted instantiation: crypto_hkdf_hmac_sha256_l32.cpp:_ZL11FastRange32jjUnexecuted instantiation: crypto_poly1305.cpp:_ZL11FastRange32jjUnexecuted instantiation: cuckoocache.cpp:_ZL11FastRange32jjUnexecuted instantiation: deserialize.cpp:_ZL11FastRange32jjUnexecuted instantiation: feefrac.cpp:_ZL11FastRange32jjUnexecuted instantiation: fee_rate.cpp:_ZL11FastRange32jjUnexecuted instantiation: feeratediagram.cpp:_ZL11FastRange32jjUnexecuted instantiation: fees.cpp:_ZL11FastRange32jjUnexecuted instantiation: flatfile.cpp:_ZL11FastRange32jjUnexecuted instantiation: float.cpp:_ZL11FastRange32jjUnexecuted instantiation: golomb_rice.cpp:_ZL11FastRange32jjUnexecuted instantiation: headerssync.cpp:_ZL11FastRange32jjUnexecuted instantiation: http_request.cpp:_ZL11FastRange32jjUnexecuted instantiation: i2p.cpp:_ZL11FastRange32jjUnexecuted instantiation: integer.cpp:_ZL11FastRange32jjUnexecuted instantiation: key.cpp:_ZL11FastRange32jjUnexecuted instantiation: kitchen_sink.cpp:_ZL11FastRange32jjUnexecuted instantiation: load_external_block_file.cpp:_ZL11FastRange32jjUnexecuted instantiation: merkle.cpp:_ZL11FastRange32jjUnexecuted instantiation: merkleblock.cpp:_ZL11FastRange32jjUnexecuted instantiation: message.cpp:_ZL11FastRange32jjUnexecuted instantiation: miniscript.cpp:_ZL11FastRange32jjUnexecuted instantiation: minisketch.cpp:_ZL11FastRange32jjUnexecuted instantiation: mini_miner.cpp:_ZL11FastRange32jjUnexecuted instantiation: muhash.cpp:_ZL11FastRange32jjUnexecuted instantiation: multiplication_overflow.cpp:_ZL11FastRange32jjUnexecuted instantiation: net.cpp:_ZL11FastRange32jjUnexecuted instantiation: net_permissions.cpp:_ZL11FastRange32jjUnexecuted instantiation: netaddress.cpp:_ZL11FastRange32jjUnexecuted instantiation: netbase_dns_lookup.cpp:_ZL11FastRange32jjUnexecuted instantiation: node_eviction.cpp:_ZL11FastRange32jjUnexecuted instantiation: p2p_handshake.cpp:_ZL11FastRange32jjUnexecuted instantiation: p2p_headers_presync.cpp:_ZL11FastRange32jjUnexecuted instantiation: p2p_transport_serialization.cpp:_ZL11FastRange32jjUnexecuted instantiation: pcp.cpp:_ZL11FastRange32jjUnexecuted instantiation: package_eval.cpp:_ZL11FastRange32jjUnexecuted instantiation: parse_hd_keypath.cpp:_ZL11FastRange32jjUnexecuted instantiation: partially_downloaded_block.cpp:_ZL11FastRange32jjUnexecuted instantiation: policy_estimator.cpp:_ZL11FastRange32jjUnexecuted instantiation: policy_estimator_io.cpp:_ZL11FastRange32jjUnexecuted instantiation: poolresource.cpp:_ZL11FastRange32jjUnexecuted instantiation: pow.cpp:_ZL11FastRange32jjUnexecuted instantiation: primitives_transaction.cpp:_ZL11FastRange32jjUnexecuted instantiation: process_message.cpp:_ZL11FastRange32jjUnexecuted instantiation: process_messages.cpp:_ZL11FastRange32jjUnexecuted instantiation: protocol.cpp:_ZL11FastRange32jjUnexecuted instantiation: random.cpp:_ZL11FastRange32jjUnexecuted instantiation: rbf.cpp:_ZL11FastRange32jjUnexecuted instantiation: rolling_bloom_filter.cpp:_ZL11FastRange32jjUnexecuted instantiation: rpc.cpp:_ZL11FastRange32jjUnexecuted instantiation: script.cpp:_ZL11FastRange32jjUnexecuted instantiation: script_descriptor_cache.cpp:_ZL11FastRange32jjUnexecuted instantiation: script_format.cpp:_ZL11FastRange32jjUnexecuted instantiation: script_interpreter.cpp:_ZL11FastRange32jjUnexecuted instantiation: script_ops.cpp:_ZL11FastRange32jjUnexecuted instantiation: script_sigcache.cpp:_ZL11FastRange32jjUnexecuted instantiation: script_sign.cpp:_ZL11FastRange32jjUnexecuted instantiation: scriptnum_ops.cpp:_ZL11FastRange32jjUnexecuted instantiation: secp256k1_ec_seckey_import_export_der.cpp:_ZL11FastRange32jjUnexecuted instantiation: secp256k1_ecdsa_signature_parse_der_lax.cpp:_ZL11FastRange32jjUnexecuted instantiation: signature_checker.cpp:_ZL11FastRange32jjUnexecuted instantiation: signet.cpp:_ZL11FastRange32jjUnexecuted instantiation: socks5.cpp:_ZL11FastRange32jjUnexecuted instantiation: span.cpp:_ZL11FastRange32jjUnexecuted instantiation: string.cpp:_ZL11FastRange32jjUnexecuted instantiation: strprintf.cpp:_ZL11FastRange32jjUnexecuted instantiation: system.cpp:_ZL11FastRange32jjUnexecuted instantiation: torcontrol.cpp:_ZL11FastRange32jjUnexecuted instantiation: transaction.cpp:_ZL11FastRange32jjUnexecuted instantiation: txdownloadman.cpp:_ZL11FastRange32jjUnexecuted instantiation: tx_pool.cpp:_ZL11FastRange32jjUnexecuted instantiation: txorphan.cpp:_ZL11FastRange32jjUnexecuted instantiation: utxo_snapshot.cpp:_ZL11FastRange32jjUnexecuted instantiation: utxo_total_supply.cpp:_ZL11FastRange32jjUnexecuted instantiation: validation_load_mempool.cpp:_ZL11FastRange32jjUnexecuted instantiation: vecdeque.cpp:_ZL11FastRange32jjUnexecuted instantiation: versionbits.cpp:_ZL11FastRange32jjUnexecuted instantiation: coincontrol.cpp:_ZL11FastRange32jjUnexecuted instantiation: coinselection.cpp:_ZL11FastRange32jjUnexecuted instantiation: crypter.cpp:_ZL11FastRange32jjUnexecuted instantiation: scriptpubkeyman.cpp:_ZL11FastRange32jjUnexecuted instantiation: spend.cpp:_ZL11FastRange32jjUnexecuted instantiation: wallet_bdb_parser.cpp:_ZL11FastRange32jjUnexecuted instantiation: mempool.cpp:_ZL11FastRange32jjUnexecuted instantiation: threadinterrupt.cpp:_ZL11FastRange32jjUnexecuted instantiation: util.cpp:_ZL11FastRange32jjbloom.cpp:_ZL11FastRange32jj| Line | Count | Source |  | 20 | 56.3M | { |  | 21 | 56.3M |     return (uint64_t{x} * n) >> 32; |  | 22 | 56.3M | } | 
Unexecuted instantiation: transactions.cpp:_ZL11FastRange32jjUnexecuted instantiation: mining.cpp:_ZL11FastRange32jjUnexecuted instantiation: setup_common.cpp:_ZL11FastRange32jjUnexecuted instantiation: txmempool.cpp:_ZL11FastRange32jjUnexecuted instantiation: validation.cpp:_ZL11FastRange32jjUnexecuted instantiation: blockencodings.cpp:_ZL11FastRange32jjUnexecuted instantiation: base.cpp:_ZL11FastRange32jjUnexecuted instantiation: coinstatsindex.cpp:_ZL11FastRange32jjUnexecuted instantiation: txindex.cpp:_ZL11FastRange32jjUnexecuted instantiation: init.cpp:_ZL11FastRange32jjUnexecuted instantiation: coinstats.cpp:_ZL11FastRange32jjUnexecuted instantiation: net_processing.cpp:_ZL11FastRange32jjUnexecuted instantiation: blockmanager_args.cpp:_ZL11FastRange32jjUnexecuted instantiation: blockstorage.cpp:_ZL11FastRange32jjUnexecuted instantiation: chainstate.cpp:_ZL11FastRange32jjUnexecuted instantiation: chainstatemanager_args.cpp:_ZL11FastRange32jjUnexecuted instantiation: coin.cpp:_ZL11FastRange32jjUnexecuted instantiation: context.cpp:_ZL11FastRange32jjUnexecuted instantiation: interfaces.cpp:_ZL11FastRange32jjUnexecuted instantiation: mempool_persist.cpp:_ZL11FastRange32jjUnexecuted instantiation: mempool_persist_args.cpp:_ZL11FastRange32jjUnexecuted instantiation: miner.cpp:_ZL11FastRange32jjUnexecuted instantiation: txdownloadman_impl.cpp:_ZL11FastRange32jjUnexecuted instantiation: rest.cpp:_ZL11FastRange32jjUnexecuted instantiation: blockchain.cpp:_ZL11FastRange32jjUnexecuted instantiation: rawtransaction.cpp:_ZL11FastRange32jjUnexecuted instantiation: server.cpp:_ZL11FastRange32jjUnexecuted instantiation: server_util.cpp:_ZL11FastRange32jjUnexecuted instantiation: txoutproof.cpp:_ZL11FastRange32jjsigcache.cpp:_ZL11FastRange32jj| Line | Count | Source |  | 20 | 12.7M | { |  | 21 | 12.7M |     return (uint64_t{x} * n) >> 32; |  | 22 | 12.7M | } | 
 | 
| 23 |  |  | 
| 24 |  | /** Fast range reduction with 64-bit input and 64-bit range. */ | 
| 25 |  | static inline uint64_t FastRange64(uint64_t x, uint64_t n) | 
| 26 | 0 | { | 
| 27 | 0 | #ifdef __SIZEOF_INT128__ | 
| 28 | 0 |     return (static_cast<unsigned __int128>(x) * static_cast<unsigned __int128>(n)) >> 64; | 
| 29 |  | #else | 
| 30 |  |     // To perform the calculation on 64-bit numbers without losing the | 
| 31 |  |     // result to overflow, split the numbers into the most significant and | 
| 32 |  |     // least significant 32 bits and perform multiplication piece-wise. | 
| 33 |  |     // | 
| 34 |  |     // See: https://stackoverflow.com/a/26855440 | 
| 35 |  |     const uint64_t x_hi = x >> 32; | 
| 36 |  |     const uint64_t x_lo = x & 0xFFFFFFFF; | 
| 37 |  |     const uint64_t n_hi = n >> 32; | 
| 38 |  |     const uint64_t n_lo = n & 0xFFFFFFFF; | 
| 39 |  |  | 
| 40 |  |     const uint64_t ac = x_hi * n_hi; | 
| 41 |  |     const uint64_t ad = x_hi * n_lo; | 
| 42 |  |     const uint64_t bc = x_lo * n_hi; | 
| 43 |  |     const uint64_t bd = x_lo * n_lo; | 
| 44 |  |  | 
| 45 |  |     const uint64_t mid34 = (bd >> 32) + (bc & 0xFFFFFFFF) + (ad & 0xFFFFFFFF); | 
| 46 |  |     const uint64_t upper64 = ac + (bc >> 32) + (ad >> 32) + (mid34 >> 32); | 
| 47 |  |     return upper64; | 
| 48 |  | #endif | 
| 49 | 0 | } Unexecuted instantiation: addition_overflow.cpp:_ZL11FastRange64yyUnexecuted instantiation: addrman.cpp:_ZL11FastRange64yyUnexecuted instantiation: autofile.cpp:_ZL11FastRange64yyUnexecuted instantiation: banman.cpp:_ZL11FastRange64yyUnexecuted instantiation: bip324.cpp:_ZL11FastRange64yyUnexecuted instantiation: bitdeque.cpp:_ZL11FastRange64yyUnexecuted instantiation: bitset.cpp:_ZL11FastRange64yyUnexecuted instantiation: block.cpp:_ZL11FastRange64yyUnexecuted instantiation: block_header.cpp:_ZL11FastRange64yyUnexecuted instantiation: block_index.cpp:_ZL11FastRange64yyUnexecuted instantiation: blockfilter.cpp:_ZL11FastRange64yyUnexecuted instantiation: bloom_filter.cpp:_ZL11FastRange64yyUnexecuted instantiation: buffered_file.cpp:_ZL11FastRange64yyUnexecuted instantiation: chain.cpp:_ZL11FastRange64yyUnexecuted instantiation: checkqueue.cpp:_ZL11FastRange64yyUnexecuted instantiation: cmpctblock.cpp:_ZL11FastRange64yyUnexecuted instantiation: coins_view.cpp:_ZL11FastRange64yyUnexecuted instantiation: coinscache_sim.cpp:_ZL11FastRange64yyUnexecuted instantiation: connman.cpp:_ZL11FastRange64yyUnexecuted instantiation: crypto.cpp:_ZL11FastRange64yyUnexecuted instantiation: crypto_aes256.cpp:_ZL11FastRange64yyUnexecuted instantiation: crypto_aes256cbc.cpp:_ZL11FastRange64yyUnexecuted instantiation: crypto_chacha20.cpp:_ZL11FastRange64yyUnexecuted instantiation: crypto_chacha20poly1305.cpp:_ZL11FastRange64yyUnexecuted instantiation: crypto_common.cpp:_ZL11FastRange64yyUnexecuted instantiation: crypto_diff_fuzz_chacha20.cpp:_ZL11FastRange64yyUnexecuted instantiation: crypto_hkdf_hmac_sha256_l32.cpp:_ZL11FastRange64yyUnexecuted instantiation: crypto_poly1305.cpp:_ZL11FastRange64yyUnexecuted instantiation: cuckoocache.cpp:_ZL11FastRange64yyUnexecuted instantiation: deserialize.cpp:_ZL11FastRange64yyUnexecuted instantiation: feefrac.cpp:_ZL11FastRange64yyUnexecuted instantiation: fee_rate.cpp:_ZL11FastRange64yyUnexecuted instantiation: feeratediagram.cpp:_ZL11FastRange64yyUnexecuted instantiation: fees.cpp:_ZL11FastRange64yyUnexecuted instantiation: flatfile.cpp:_ZL11FastRange64yyUnexecuted instantiation: float.cpp:_ZL11FastRange64yyUnexecuted instantiation: golomb_rice.cpp:_ZL11FastRange64yyUnexecuted instantiation: headerssync.cpp:_ZL11FastRange64yyUnexecuted instantiation: http_request.cpp:_ZL11FastRange64yyUnexecuted instantiation: i2p.cpp:_ZL11FastRange64yyUnexecuted instantiation: integer.cpp:_ZL11FastRange64yyUnexecuted instantiation: key.cpp:_ZL11FastRange64yyUnexecuted instantiation: kitchen_sink.cpp:_ZL11FastRange64yyUnexecuted instantiation: load_external_block_file.cpp:_ZL11FastRange64yyUnexecuted instantiation: merkle.cpp:_ZL11FastRange64yyUnexecuted instantiation: merkleblock.cpp:_ZL11FastRange64yyUnexecuted instantiation: message.cpp:_ZL11FastRange64yyUnexecuted instantiation: miniscript.cpp:_ZL11FastRange64yyUnexecuted instantiation: minisketch.cpp:_ZL11FastRange64yyUnexecuted instantiation: mini_miner.cpp:_ZL11FastRange64yyUnexecuted instantiation: muhash.cpp:_ZL11FastRange64yyUnexecuted instantiation: multiplication_overflow.cpp:_ZL11FastRange64yyUnexecuted instantiation: net.cpp:_ZL11FastRange64yyUnexecuted instantiation: net_permissions.cpp:_ZL11FastRange64yyUnexecuted instantiation: netaddress.cpp:_ZL11FastRange64yyUnexecuted instantiation: netbase_dns_lookup.cpp:_ZL11FastRange64yyUnexecuted instantiation: node_eviction.cpp:_ZL11FastRange64yyUnexecuted instantiation: p2p_handshake.cpp:_ZL11FastRange64yyUnexecuted instantiation: p2p_headers_presync.cpp:_ZL11FastRange64yyUnexecuted instantiation: p2p_transport_serialization.cpp:_ZL11FastRange64yyUnexecuted instantiation: pcp.cpp:_ZL11FastRange64yyUnexecuted instantiation: package_eval.cpp:_ZL11FastRange64yyUnexecuted instantiation: parse_hd_keypath.cpp:_ZL11FastRange64yyUnexecuted instantiation: partially_downloaded_block.cpp:_ZL11FastRange64yyUnexecuted instantiation: policy_estimator.cpp:_ZL11FastRange64yyUnexecuted instantiation: policy_estimator_io.cpp:_ZL11FastRange64yyUnexecuted instantiation: poolresource.cpp:_ZL11FastRange64yyUnexecuted instantiation: pow.cpp:_ZL11FastRange64yyUnexecuted instantiation: primitives_transaction.cpp:_ZL11FastRange64yyUnexecuted instantiation: process_message.cpp:_ZL11FastRange64yyUnexecuted instantiation: process_messages.cpp:_ZL11FastRange64yyUnexecuted instantiation: protocol.cpp:_ZL11FastRange64yyUnexecuted instantiation: random.cpp:_ZL11FastRange64yyUnexecuted instantiation: rbf.cpp:_ZL11FastRange64yyUnexecuted instantiation: rolling_bloom_filter.cpp:_ZL11FastRange64yyUnexecuted instantiation: rpc.cpp:_ZL11FastRange64yyUnexecuted instantiation: script.cpp:_ZL11FastRange64yyUnexecuted instantiation: script_descriptor_cache.cpp:_ZL11FastRange64yyUnexecuted instantiation: script_format.cpp:_ZL11FastRange64yyUnexecuted instantiation: script_interpreter.cpp:_ZL11FastRange64yyUnexecuted instantiation: script_ops.cpp:_ZL11FastRange64yyUnexecuted instantiation: script_sigcache.cpp:_ZL11FastRange64yyUnexecuted instantiation: script_sign.cpp:_ZL11FastRange64yyUnexecuted instantiation: scriptnum_ops.cpp:_ZL11FastRange64yyUnexecuted instantiation: secp256k1_ec_seckey_import_export_der.cpp:_ZL11FastRange64yyUnexecuted instantiation: secp256k1_ecdsa_signature_parse_der_lax.cpp:_ZL11FastRange64yyUnexecuted instantiation: signature_checker.cpp:_ZL11FastRange64yyUnexecuted instantiation: signet.cpp:_ZL11FastRange64yyUnexecuted instantiation: socks5.cpp:_ZL11FastRange64yyUnexecuted instantiation: span.cpp:_ZL11FastRange64yyUnexecuted instantiation: string.cpp:_ZL11FastRange64yyUnexecuted instantiation: strprintf.cpp:_ZL11FastRange64yyUnexecuted instantiation: system.cpp:_ZL11FastRange64yyUnexecuted instantiation: torcontrol.cpp:_ZL11FastRange64yyUnexecuted instantiation: transaction.cpp:_ZL11FastRange64yyUnexecuted instantiation: txdownloadman.cpp:_ZL11FastRange64yyUnexecuted instantiation: tx_pool.cpp:_ZL11FastRange64yyUnexecuted instantiation: txorphan.cpp:_ZL11FastRange64yyUnexecuted instantiation: utxo_snapshot.cpp:_ZL11FastRange64yyUnexecuted instantiation: utxo_total_supply.cpp:_ZL11FastRange64yyUnexecuted instantiation: validation_load_mempool.cpp:_ZL11FastRange64yyUnexecuted instantiation: vecdeque.cpp:_ZL11FastRange64yyUnexecuted instantiation: versionbits.cpp:_ZL11FastRange64yyUnexecuted instantiation: coincontrol.cpp:_ZL11FastRange64yyUnexecuted instantiation: coinselection.cpp:_ZL11FastRange64yyUnexecuted instantiation: crypter.cpp:_ZL11FastRange64yyUnexecuted instantiation: scriptpubkeyman.cpp:_ZL11FastRange64yyUnexecuted instantiation: spend.cpp:_ZL11FastRange64yyUnexecuted instantiation: wallet_bdb_parser.cpp:_ZL11FastRange64yyUnexecuted instantiation: mempool.cpp:_ZL11FastRange64yyUnexecuted instantiation: threadinterrupt.cpp:_ZL11FastRange64yyUnexecuted instantiation: util.cpp:_ZL11FastRange64yyUnexecuted instantiation: bloom.cpp:_ZL11FastRange64yyUnexecuted instantiation: transactions.cpp:_ZL11FastRange64yyUnexecuted instantiation: mining.cpp:_ZL11FastRange64yyUnexecuted instantiation: setup_common.cpp:_ZL11FastRange64yyUnexecuted instantiation: txmempool.cpp:_ZL11FastRange64yyUnexecuted instantiation: validation.cpp:_ZL11FastRange64yyUnexecuted instantiation: blockencodings.cpp:_ZL11FastRange64yyUnexecuted instantiation: base.cpp:_ZL11FastRange64yyUnexecuted instantiation: coinstatsindex.cpp:_ZL11FastRange64yyUnexecuted instantiation: txindex.cpp:_ZL11FastRange64yyUnexecuted instantiation: init.cpp:_ZL11FastRange64yyUnexecuted instantiation: coinstats.cpp:_ZL11FastRange64yyUnexecuted instantiation: net_processing.cpp:_ZL11FastRange64yyUnexecuted instantiation: blockmanager_args.cpp:_ZL11FastRange64yyUnexecuted instantiation: blockstorage.cpp:_ZL11FastRange64yyUnexecuted instantiation: chainstate.cpp:_ZL11FastRange64yyUnexecuted instantiation: chainstatemanager_args.cpp:_ZL11FastRange64yyUnexecuted instantiation: coin.cpp:_ZL11FastRange64yyUnexecuted instantiation: context.cpp:_ZL11FastRange64yyUnexecuted instantiation: interfaces.cpp:_ZL11FastRange64yyUnexecuted instantiation: mempool_persist.cpp:_ZL11FastRange64yyUnexecuted instantiation: mempool_persist_args.cpp:_ZL11FastRange64yyUnexecuted instantiation: miner.cpp:_ZL11FastRange64yyUnexecuted instantiation: txdownloadman_impl.cpp:_ZL11FastRange64yyUnexecuted instantiation: rest.cpp:_ZL11FastRange64yyUnexecuted instantiation: blockchain.cpp:_ZL11FastRange64yyUnexecuted instantiation: rawtransaction.cpp:_ZL11FastRange64yyUnexecuted instantiation: server.cpp:_ZL11FastRange64yyUnexecuted instantiation: server_util.cpp:_ZL11FastRange64yyUnexecuted instantiation: txoutproof.cpp:_ZL11FastRange64yyUnexecuted instantiation: sigcache.cpp:_ZL11FastRange64yy | 
| 50 |  |  | 
| 51 |  | #endif // BITCOIN_UTIL_FASTRANGE_H |