diff options
author | Wladimir J. van der Laan <laanwj@gmail.com> | 2014-12-16 17:29:51 +0100 |
---|---|---|
committer | Wladimir J. van der Laan <laanwj@gmail.com> | 2015-01-05 15:45:35 +0100 |
commit | 92cdb1aace3c7343e9c9472061508d3b01d9883d (patch) | |
tree | 19856b0e429cd7f5a166c3767e814f61f8a654f7 | |
parent | bfc6070342b9f43bcf125526e6a3c8ed34e29a71 (diff) |
Add conversion functions arith_uint256<->uint_256
-rw-r--r-- | src/arith_uint256.cpp | 16 | ||||
-rw-r--r-- | src/arith_uint256.h | 8 |
2 files changed, 24 insertions, 0 deletions
diff --git a/src/arith_uint256.cpp b/src/arith_uint256.cpp index 0dba429a8d..f0b6a6a3bd 100644 --- a/src/arith_uint256.cpp +++ b/src/arith_uint256.cpp @@ -5,6 +5,7 @@ #include "arith_uint256.h" +#include "uint256.h" #include "utilstrencodings.h" #include <stdio.h> @@ -355,3 +356,18 @@ uint64_t arith_uint256::GetHash(const arith_uint256& salt) const 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; +} diff --git a/src/arith_uint256.h b/src/arith_uint256.h index 9e32b124c2..5cb04f3c3c 100644 --- a/src/arith_uint256.h +++ b/src/arith_uint256.h @@ -13,6 +13,8 @@ #include <string> #include <vector> +class uint256; + class uint_error : public std::runtime_error { public: explicit uint_error(const std::string& str) : std::runtime_error(str) {} @@ -345,6 +347,12 @@ public: uint32_t GetCompact(bool fNegative = false) 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 |