{
protected:
enum { WIDTH=BITS/32 };
- unsigned int pn[WIDTH];
+ uint32_t pn[WIDTH];
public:
bool operator!() const
base_uint& operator=(uint64_t b)
{
- pn[0] = (unsigned int)b;
- pn[1] = (unsigned int)(b >> 32);
+ pn[0] = (uint32_t)b;
+ pn[1] = (uint32_t)(b >> 32);
for (int i = 2; i < WIDTH; i++)
pn[i] = 0;
return *this;
base_uint& operator^=(uint64_t b)
{
- pn[0] ^= (unsigned int)b;
- pn[1] ^= (unsigned int)(b >> 32);
+ pn[0] ^= (uint32_t)b;
+ pn[1] ^= (uint32_t)(b >> 32);
return *this;
}
base_uint& operator|=(uint64_t b)
{
- pn[0] |= (unsigned int)b;
- pn[1] |= (unsigned int)(b >> 32);
+ pn[0] |= (uint32_t)b;
+ pn[1] |= (uint32_t)(b >> 32);
return *this;
}
friend inline bool operator==(const base_uint& a, uint64_t b)
{
- if (a.pn[0] != (unsigned int)b)
+ if (a.pn[0] != (uint32_t)b)
return false;
- if (a.pn[1] != (unsigned int)(b >> 32))
+ if (a.pn[1] != (uint32_t)(b >> 32))
return false;
for (int i = 2; i < base_uint::WIDTH; i++)
if (a.pn[i] != 0)
return (!(a == b));
}
-
-
std::string GetHex() const
{
char psz[sizeof(pn)*2 + 1];
return std::vector<unsigned char>(begin(), end());
}
- unsigned int size()
+ size_t size()
{
return sizeof(pn);
}
return pn[2*n] | (uint64_t)pn[2*n+1] << 32;
}
+ uint32_t Get32(int n=0) const
+ {
+ return pn[n];
+ }
+
unsigned int GetSerializeSize(int nType, int nVersion) const
{
return sizeof(pn);
uint160(uint64_t b)
{
- pn[0] = (unsigned int)b;
- pn[1] = (unsigned int)(b >> 32);
+ pn[0] = (uint32_t)b;
+ pn[1] = (uint32_t)(b >> 32);
for (int i = 2; i < WIDTH; i++)
pn[i] = 0;
}
uint160& operator=(uint64_t b)
{
- pn[0] = (unsigned int)b;
- pn[1] = (unsigned int)(b >> 32);
+ pn[0] = (uint32_t)b;
+ pn[1] = (uint32_t)(b >> 32);
for (int i = 2; i < WIDTH; i++)
pn[i] = 0;
return *this;
uint256(uint64_t b)
{
- pn[0] = (unsigned int)b;
- pn[1] = (unsigned int)(b >> 32);
+ pn[0] = (uint32_t)b;
+ pn[1] = (uint32_t)(b >> 32);
for (int i = 2; i < WIDTH; i++)
pn[i] = 0;
}
uint256& operator=(uint64_t b)
{
- pn[0] = (unsigned int)b;
- pn[1] = (unsigned int)(b >> 32);
+ pn[0] = (uint32_t)b;
+ pn[1] = (uint32_t)(b >> 32);
for (int i = 2; i < WIDTH; i++)
pn[i] = 0;
return *this;