1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-06-01 09:18:11 +00:00

LibCrypto: Define *BigInteger::to_base to convert big integers to String

This commit is contained in:
Timothy Flynn 2023-01-13 11:40:04 -05:00 committed by Linus Groh
parent 0ddc2e1f50
commit 3ad1f250e7
5 changed files with 28 additions and 12 deletions

View file

@ -51,16 +51,22 @@ SignedBigInteger SignedBigInteger::from_base(u16 N, StringView str)
return { move(unsigned_data), sign };
}
DeprecatedString SignedBigInteger::to_base_deprecated(u16 N) const
ErrorOr<String> SignedBigInteger::to_base(u16 N) const
{
StringBuilder builder;
if (m_sign)
builder.append('-');
TRY(builder.try_append('-'));
builder.append(m_unsigned_data.to_base_deprecated(N));
auto unsigned_as_base = TRY(m_unsigned_data.to_base(N));
TRY(builder.try_append(unsigned_as_base.bytes_as_string_view()));
return builder.to_deprecated_string();
return builder.to_string();
}
DeprecatedString SignedBigInteger::to_base_deprecated(u16 N) const
{
return MUST(to_base(N)).to_deprecated_string();
}
u64 SignedBigInteger::to_u64() const