| Index: runtime/vm/bigint_operations.cc
|
| diff --git a/runtime/vm/bigint_operations.cc b/runtime/vm/bigint_operations.cc
|
| index c77eb42a52054cdb0ff57ed52fa50a115d939f04..d036fde74b7d870b83bf73ddac6958d122996b78 100644
|
| --- a/runtime/vm/bigint_operations.cc
|
| +++ b/runtime/vm/bigint_operations.cc
|
| @@ -693,6 +693,16 @@ int64_t BigintOperations::ToInt64(const Bigint& bigint) {
|
| }
|
|
|
|
|
| +uint32_t BigintOperations::TruncateToUint32(const Bigint& bigint) {
|
| + uint32_t value = 0;
|
| + for (intptr_t i = bigint.Length() - 1; i >= 0; i--) {
|
| + value <<= kDigitBitSize;
|
| + value += static_cast<uint32_t>(bigint.GetChunkAt(i));
|
| + }
|
| + return value;
|
| +}
|
| +
|
| +
|
| bool BigintOperations::AbsFitsIntoUint64(const Bigint& bigint) {
|
| intptr_t b_length = bigint.Length();
|
| intptr_t num_bits = CountBits(bigint.GetChunkAt(b_length - 1));
|
|
|