X-Git-Url: https://git.novaco.in/?a=blobdiff_plain;f=src%2Fbignum.h;h=f09c4aaf31dd074c8a409399eca7783b8a0c4746;hb=0561bbd1c69263dceb24ffacf850788e6e961a13;hp=307017b0ab7a9e2b86c4240af1e08d326c8a9d0a;hpb=e10622d1297e638109bbf58c35ad008f7acbae7c;p=novacoin.git diff --git a/src/bignum.h b/src/bignum.h index 307017b..f09c4aa 100644 --- a/src/bignum.h +++ b/src/bignum.h @@ -184,6 +184,21 @@ public: BN_mpi2bn(pch, p - pch, this); } + uint64 getuint64() + { + unsigned int nSize = BN_bn2mpi(this, NULL); + if (nSize < 4) + return 0; + std::vector vch(nSize); + BN_bn2mpi(this, &vch[0]); + if (vch.size() > 4) + vch[4] &= 0x7f; + uint64 n = 0; + for (int i = 0, j = vch.size()-1; i < sizeof(n) && j >= 4; i++, j--) + ((unsigned char*)&n)[i] = vch[j]; + return n; + } + void setuint256(uint256 n) { unsigned char pch[sizeof(n) + 6];