Browse Source

Add conversion functions arith_uint256<->uint_256

pull/145/head
Wladimir J. van der Laan 10 years ago
parent
commit
92cdb1aace
  1. 16
      src/arith_uint256.cpp
  2. 8
      src/arith_uint256.h

16
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;
}

8
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

Loading…
Cancel
Save