Add conversion functions arith_uint256<->uint_256
This commit is contained in:
parent
bfc6070342
commit
92cdb1aace
@ -5,6 +5,7 @@
|
|||||||
|
|
||||||
#include "arith_uint256.h"
|
#include "arith_uint256.h"
|
||||||
|
|
||||||
|
#include "uint256.h"
|
||||||
#include "utilstrencodings.h"
|
#include "utilstrencodings.h"
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
@ -355,3 +356,18 @@ uint64_t arith_uint256::GetHash(const arith_uint256& salt) const
|
|||||||
|
|
||||||
return ((((uint64_t)b) << 32) | c);
|
return ((((uint64_t)b) << 32) | c);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
uint256 ArithToUint256(const arith_uint256 &a)
|
||||||
|
{
|
||||||
|
uint256 b;
|
||||||
|
// TODO: needs bswap32 on big-endian
|
||||||
|
memcpy(b.begin(), a.pn, a.size());
|
||||||
|
return b;
|
||||||
|
}
|
||||||
|
arith_uint256 UintToArith256(const uint256 &a)
|
||||||
|
{
|
||||||
|
arith_uint256 b;
|
||||||
|
// TODO: needs bswap32 on big-endian
|
||||||
|
memcpy(b.pn, a.begin(), a.size());
|
||||||
|
return b;
|
||||||
|
}
|
||||||
|
@ -13,6 +13,8 @@
|
|||||||
#include <string>
|
#include <string>
|
||||||
#include <vector>
|
#include <vector>
|
||||||
|
|
||||||
|
class uint256;
|
||||||
|
|
||||||
class uint_error : public std::runtime_error {
|
class uint_error : public std::runtime_error {
|
||||||
public:
|
public:
|
||||||
explicit uint_error(const std::string& str) : std::runtime_error(str) {}
|
explicit uint_error(const std::string& str) : std::runtime_error(str) {}
|
||||||
@ -345,6 +347,12 @@ public:
|
|||||||
uint32_t GetCompact(bool fNegative = false) const;
|
uint32_t GetCompact(bool fNegative = false) const;
|
||||||
|
|
||||||
uint64_t GetHash(const arith_uint256& salt) const;
|
uint64_t GetHash(const arith_uint256& salt) const;
|
||||||
|
|
||||||
|
friend uint256 ArithToUint256(const arith_uint256 &);
|
||||||
|
friend arith_uint256 UintToArith256(const uint256 &);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
uint256 ArithToUint256(const arith_uint256 &);
|
||||||
|
arith_uint256 UintToArith256(const uint256 &);
|
||||||
|
|
||||||
#endif // BITCOIN_UINT256_H
|
#endif // BITCOIN_UINT256_H
|
||||||
|
Loading…
Reference in New Issue
Block a user