From: CryptoManiac Date: Thu, 1 Oct 2015 21:33:17 +0000 (-0700) Subject: uint256/uint160: add Get32() method X-Git-Tag: nvc-v0.5.5~72 X-Git-Url: https://git.novaco.in/?p=novacoin.git;a=commitdiff_plain;h=2b7a034aef23343d902ce8430747f321ce10b294 uint256/uint160: add Get32() method --- diff --git a/src/uint256.h b/src/uint256.h index 95e3749..3bb0167 100644 --- a/src/uint256.h +++ b/src/uint256.h @@ -24,7 +24,7 @@ class base_uint { protected: enum { WIDTH=BITS/32 }; - unsigned int pn[WIDTH]; + uint32_t pn[WIDTH]; public: bool operator!() const @@ -65,8 +65,8 @@ public: 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; @@ -95,15 +95,15 @@ public: 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; } @@ -269,9 +269,9 @@ public: 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) @@ -289,8 +289,6 @@ public: return (!(a == b)); } - - std::string GetHex() const { char psz[sizeof(pn)*2 + 1]; @@ -356,7 +354,7 @@ public: return std::vector(begin(), end()); } - unsigned int size() + size_t size() { return sizeof(pn); } @@ -366,6 +364,11 @@ public: 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); @@ -430,16 +433,16 @@ public: 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; @@ -545,16 +548,16 @@ public: 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;