mirror of
https://github.com/bitcoin/bitcoin.git
synced 2026-02-01 03:01:05 +00:00
common: Make arith_uint256 trivially copyable
Replacing the custom code with default behavior should not result in a change of behavior since base_uint contains a simple array of uint32_t and compiler generated versions of the code could be better optimized.
Co-authored-by: MarcoFalke <*~=`'#}+{/-|&$^_@721217.xyz>
This commit is contained in:
parent
2562fe1b2b
commit
653a9849d5
@ -37,20 +37,8 @@ public:
|
||||
pn[i] = 0;
|
||||
}
|
||||
|
||||
base_uint(const base_uint& b)
|
||||
{
|
||||
for (int i = 0; i < WIDTH; i++)
|
||||
pn[i] = b.pn[i];
|
||||
}
|
||||
|
||||
base_uint& operator=(const base_uint& b)
|
||||
{
|
||||
if (this != &b) {
|
||||
for (int i = 0; i < WIDTH; i++)
|
||||
pn[i] = b.pn[i];
|
||||
}
|
||||
return *this;
|
||||
}
|
||||
base_uint(const base_uint& b) = default;
|
||||
base_uint& operator=(const base_uint& b) = default;
|
||||
|
||||
base_uint(uint64_t b)
|
||||
{
|
||||
@ -272,6 +260,9 @@ public:
|
||||
friend arith_uint256 UintToArith256(const uint256 &);
|
||||
};
|
||||
|
||||
// Keeping the trivially copyable property is beneficial for performance
|
||||
static_assert(std::is_trivially_copyable_v<arith_uint256>);
|
||||
|
||||
uint256 ArithToUint256(const arith_uint256 &);
|
||||
arith_uint256 UintToArith256(const uint256 &);
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user