Timothy Flynn
440d185666
LibCrypto: Expose UnsignedBigInteger's is_zero() in SignedBigInteger
...
Note we don't need to check the sign because negative zero became
disallowed in b0d6399f60
.
2022-07-18 08:51:07 +01:00
Lucas CHOLLET
dab814ea11
LibCrypto: Add the [[nodiscard]] qualifier in both BigInteger classes
2022-07-09 15:55:32 +00:00
Idan Horowitz
086969277e
Everywhere: Run clang-format
2022-04-01 21:24:45 +01:00
Timothy Flynn
b0d6399f60
LibCrypto: Do not allow signed big integers to be negative zero
...
If a big integer were to become negative zero, set the sign to instead
be positive. This prevents odd scenarios where users of signed big ints
would falsely think the result of some big int arithmetic is negative.
2022-02-06 15:49:54 +00:00
Nico Weber
2392f65345
LibCrypto: Remove some now-unused (and incorrect) methods
...
Removes the UnsignedBigInteger overloads of
SignedBigInteger::binary_{and,or,xor}(). They're now unused, and they
also didn't work when *this was negative.
2022-01-18 20:04:06 +03:30
Nico Weber
ec37eadb39
LibCrypto: Add Formatter<SignedBigInteger>
...
Useful for seeing SignedBigInteger values in test failure messages.
2022-01-18 20:04:06 +03:30
Andreas Kling
8b1108e485
Everywhere: Pass AK::StringView by value
2021-11-11 01:27:46 +01:00
Idan Horowitz
bcdad57670
LibCrypto: Add naive implementation of {Un,}SignedBigInteger::to_double
2021-09-06 22:15:39 +01:00
Idan Horowitz
ff6ca0f02d
LibCrypto: Add operator<= and operator>= to SignedBigInteger
2021-07-19 09:11:20 +01:00
Linus Groh
89641d90db
LibCrypto: Add operator>() to UnsignedBigInteger and SignedBigInteger
...
Piggybacking on operator!=() and operator<().
2021-07-07 19:00:42 +01:00
Idan Horowitz
005d75656e
LibCrypto: Replace from_base{2,8,10,16}() & to_base10 with from_base(N)
...
This allows us to support parsing and serializing BigIntegers to and
from any base N (such that 2 <= N <= 36).
2021-06-29 16:55:54 +01:00
Idan Horowitz
2ad2e055e2
LibCrypto: Add {Signed,Unsigned}BigInteger::from_base{2, 8, 16} helpers
...
These can be used to create BigInteger instances from non-decimal
number strings.
2021-06-14 01:45:04 +01:00
Idan Horowitz
d7a70eb77c
LibJS: Add all of the DataView.prototype.set* methods
2021-06-14 01:45:04 +01:00
Idan Horowitz
c54b9a6920
LibJS: Add all of the DataView.prototype.get* methods
2021-06-14 01:45:04 +01:00
Idan Horowitz
b17a282b4b
LibCrypto: Add hash methods to {Signed, Unsigned}BigInteger
...
These just use hash the underlying bytes that make up the integer words
2021-06-09 11:48:04 +01:00
Brian Gianforcaro
1682f0b760
Everything: Move to SPDX license identifiers in all files.
...
SPDX License Identifiers are a more compact / standardized
way of representing file license information.
See: https://spdx.dev/resources/use/#identifiers
This was done with the `ambr` search and replace tool.
ambr --no-parent-ignore --key-from-file --rep-from-file key.txt rep.txt *
2021-04-22 11:22:27 +02:00
Andreas Kling
ef1e5db1d0
Everywhere: Remove klog(), dbg() and purge all LogStream usage :^)
...
Good-bye LogStream. Long live AK::Format!
2021-03-12 17:29:37 +01:00
Linus Groh
e265054c12
Everywhere: Remove a bunch of redundant 'AK::' namespace prefixes
...
This is basically just for consistency, it's quite strange to see
multiple AK container types next to each other, some with and some
without the namespace prefix - we're 'using AK::Foo;' a lot and should
leverage that. :^)
2021-02-26 16:59:56 +01:00
Andreas Kling
13d7c09125
Libraries: Move to Userland/Libraries/
2021-01-12 12:17:46 +01:00