diff options
author | jtimon <jtimon@blockstream.io> | 2014-10-19 04:28:43 +0200 |
---|---|---|
committer | jtimon <jtimon@blockstream.io> | 2014-10-27 13:54:37 +0100 |
commit | 561e9e9de9793c187f29ab2d41b43a36447e9357 (patch) | |
tree | ef319f91d36d8568bd34a624e4420191f639230d /src/core.cpp | |
parent | 999a2ab41ec96311c145d74822c246a3b92a9b33 (diff) |
MOVEONLY: Move script/compressor out of script and put CTxOutCompressor (from
core) with it
Diffstat (limited to 'src/core.cpp')
-rw-r--r-- | src/core.cpp | 54 |
1 files changed, 0 insertions, 54 deletions
diff --git a/src/core.cpp b/src/core.cpp index 34188bca63..08139d5424 100644 --- a/src/core.cpp +++ b/src/core.cpp @@ -9,60 +9,6 @@ #include "tinyformat.h" #include "utilstrencodings.h" -// Amount compression: -// * If the amount is 0, output 0 -// * first, divide the amount (in base units) by the largest power of 10 possible; call the exponent e (e is max 9) -// * if e<9, the last digit of the resulting number cannot be 0; store it as d, and drop it (divide by 10) -// * call the result n -// * output 1 + 10*(9*n + d - 1) + e -// * if e==9, we only know the resulting number is not zero, so output 1 + 10*(n - 1) + 9 -// (this is decodable, as d is in [1-9] and e is in [0-9]) - -uint64_t CTxOutCompressor::CompressAmount(uint64_t n) -{ - if (n == 0) - return 0; - int e = 0; - while (((n % 10) == 0) && e < 9) { - n /= 10; - e++; - } - if (e < 9) { - int d = (n % 10); - assert(d >= 1 && d <= 9); - n /= 10; - return 1 + (n*9 + d - 1)*10 + e; - } else { - return 1 + (n - 1)*10 + 9; - } -} - -uint64_t CTxOutCompressor::DecompressAmount(uint64_t x) -{ - // x = 0 OR x = 1+10*(9*n + d - 1) + e OR x = 1+10*(n - 1) + 9 - if (x == 0) - return 0; - x--; - // x = 10*(9*n + d - 1) + e - int e = x % 10; - x /= 10; - uint64_t n = 0; - if (e < 9) { - // x = 9*n + d - 1 - int d = (x % 9) + 1; - x /= 9; - // x = n - n = x*10 + d; - } else { - n = x+1; - } - while (e) { - n *= 10; - e--; - } - return n; -} - uint256 CBlockHeader::GetHash() const { return Hash(BEGIN(nVersion), END(nNonce)); |