Merge pull request #853 from laanwj/2012_02_altminimizetray
[novacoin.git] / src / uint256.h
index 2043899..caf6fa1 100644 (file)
@@ -1,18 +1,19 @@
 // Copyright (c) 2009-2010 Satoshi Nakamoto
-// Copyright (c) 2011 The Bitcoin developers
+// Copyright (c) 2009-2012 The Bitcoin developers
 // Distributed under the MIT/X11 software license, see the accompanying
 // file license.txt or http://www.opensource.org/licenses/mit-license.php.
 #ifndef BITCOIN_UINT256_H
 #define BITCOIN_UINT256_H
 
-#include <stdint.h>
-
 #include "serialize.h"
 
 #include <limits.h>
 #include <string>
 #include <vector>
 
+typedef long long  int64;
+typedef unsigned long long  uint64;
+
 
 inline int Testuint256AdHoc(std::vector<std::string> vArg);
 
@@ -54,7 +55,7 @@ public:
     }
 
 
-    base_uint& operator=(uint64_t b)
+    base_uint& operator=(uint64 b)
     {
         pn[0] = (unsigned int)b;
         pn[1] = (unsigned int)(b >> 32);
@@ -84,21 +85,14 @@ public:
         return *this;
     }
 
-    base_uint& operator^=(uint64_t b)
+    base_uint& operator^=(uint64 b)
     {
         pn[0] ^= (unsigned int)b;
         pn[1] ^= (unsigned int)(b >> 32);
         return *this;
     }
 
-    base_uint& operator&=(uint64_t b)
-    {
-        pn[0] &= (unsigned int)b;
-        pn[1] &= (unsigned int)(b >> 32);
-        return *this;
-    }
-
-    base_uint& operator|=(uint64_t b)
+    base_uint& operator|=(uint64 b)
     {
         pn[0] |= (unsigned int)b;
         pn[1] |= (unsigned int)(b >> 32);
@@ -141,10 +135,10 @@ public:
 
     base_uint& operator+=(const base_uint& b)
     {
-        uint64_t carry = 0;
+        uint64 carry = 0;
         for (int i = 0; i < WIDTH; i++)
         {
-            uint64_t n = carry + pn[i] + b.pn[i];
+            uint64 n = carry + pn[i] + b.pn[i];
             pn[i] = n & 0xffffffff;
             carry = n >> 32;
         }
@@ -157,7 +151,7 @@ public:
         return *this;
     }
 
-    base_uint& operator+=(uint64_t b64)
+    base_uint& operator+=(uint64 b64)
     {
         base_uint b;
         b = b64;
@@ -165,7 +159,7 @@ public:
         return *this;
     }
 
-    base_uint& operator-=(uint64_t b64)
+    base_uint& operator-=(uint64 b64)
     {
         base_uint b;
         b = b64;
@@ -265,7 +259,7 @@ public:
         return true;
     }
 
-    friend inline bool operator==(const base_uint& a, uint64_t b)
+    friend inline bool operator==(const base_uint& a, uint64 b)
     {
         if (a.pn[0] != (unsigned int)b)
             return false;
@@ -282,7 +276,7 @@ public:
         return (!(a == b));
     }
 
-    friend inline bool operator!=(const base_uint& a, uint64_t b)
+    friend inline bool operator!=(const base_uint& a, uint64 b)
     {
         return (!(a == b));
     }
@@ -419,7 +413,7 @@ public:
         return *this;
     }
 
-    uint160(uint64_t b)
+    uint160(uint64 b)
     {
         pn[0] = (unsigned int)b;
         pn[1] = (unsigned int)(b >> 32);
@@ -427,7 +421,7 @@ public:
             pn[i] = 0;
     }
 
-    uint160& operator=(uint64_t b)
+    uint160& operator=(uint64 b)
     {
         pn[0] = (unsigned int)b;
         pn[1] = (unsigned int)(b >> 32);
@@ -450,8 +444,8 @@ public:
     }
 };
 
-inline bool operator==(const uint160& a, uint64_t b)                         { return (base_uint160)a == b; }
-inline bool operator!=(const uint160& a, uint64_t b)                         { return (base_uint160)a != b; }
+inline bool operator==(const uint160& a, uint64 b)                           { return (base_uint160)a == b; }
+inline bool operator!=(const uint160& a, uint64 b)                           { return (base_uint160)a != b; }
 inline const uint160 operator<<(const base_uint160& a, unsigned int shift)   { return uint160(a) <<= shift; }
 inline const uint160 operator>>(const base_uint160& a, unsigned int shift)   { return uint160(a) >>= shift; }
 inline const uint160 operator<<(const uint160& a, unsigned int shift)        { return uint160(a) <<= shift; }
@@ -533,7 +527,7 @@ public:
         return *this;
     }
 
-    uint256(uint64_t b)
+    uint256(uint64 b)
     {
         pn[0] = (unsigned int)b;
         pn[1] = (unsigned int)(b >> 32);
@@ -541,7 +535,7 @@ public:
             pn[i] = 0;
     }
 
-    uint256& operator=(uint64_t b)
+    uint256& operator=(uint64 b)
     {
         pn[0] = (unsigned int)b;
         pn[1] = (unsigned int)(b >> 32);
@@ -564,8 +558,8 @@ public:
     }
 };
 
-inline bool operator==(const uint256& a, uint64_t b)                         { return (base_uint256)a == b; }
-inline bool operator!=(const uint256& a, uint64_t b)                         { return (base_uint256)a != b; }
+inline bool operator==(const uint256& a, uint64 b)                           { return (base_uint256)a == b; }
+inline bool operator!=(const uint256& a, uint64 b)                           { return (base_uint256)a != b; }
 inline const uint256 operator<<(const base_uint256& a, unsigned int shift)   { return uint256(a) <<= shift; }
 inline const uint256 operator>>(const base_uint256& a, unsigned int shift)   { return uint256(a) >>= shift; }
 inline const uint256 operator<<(const uint256& a, unsigned int shift)        { return uint256(a) <<= shift; }
@@ -622,7 +616,7 @@ inline const uint256 operator-(const uint256& a, const uint256& b)      { return
 
 
 
-
+#ifdef TEST_UINT256
 
 inline int Testuint256AdHoc(std::vector<std::string> vArg)
 {
@@ -755,3 +749,5 @@ inline int Testuint256AdHoc(std::vector<std::string> vArg)
 }
 
 #endif
+
+#endif