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:
Fabian JahrandMarcoFalke committed 2025-09-11 16:50:26 +02:00
1 parent 2562fe1b2b
commit 653a9849d5
1 file changed
+5 -14
+5 -14
View File
@@ -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 &);