Commit 77d6e60d authored by Wladimir J. van der Laan's avatar Wladimir J. van der Laan Committed by infernoman
Browse files

Add conversion functions arith_uint256<->uint_256

parent a0b7f2d1
Showing with 23 additions and 0 deletions
+23 -0
......@@ -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;
}
......@@ -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) {}
......@@ -349,6 +351,9 @@ 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 &);
};
/** 512-bit unsigned big integer. */
......@@ -369,5 +374,7 @@ public:
return ret;
}
};
uint256 ArithToUint256(const arith_uint256 &);
arith_uint256 UintToArith256(const uint256 &);
#endif // BITCOIN_UINT256_H
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment