mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-09-02 15:46:33 +00:00
LibCrypto+LibJS: Move Power
to method of {Unsigned,Signed}BigInteger
Having it as a method instead of a free function is necessary for the next commits and generally allows for optimizations that require deeper access into the `UnsignedBigInteger` / `SignedBigInteger`. Also restrict the exponent to 32 bits to avoid huge memory allocations.
This commit is contained in:
parent
a952d000be
commit
5a4cfd05d0
Notes:
github-actions[bot]
2025-05-23 09:58:36 +00:00
Author: https://github.com/devgianlu
Commit: 5a4cfd05d0
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/4507
Reviewed-by: https://github.com/gmta ✅
7 changed files with 53 additions and 46 deletions
|
@ -109,6 +109,7 @@ public:
|
|||
[[nodiscard]] UnsignedBigInteger as_n_bits(size_t n) const;
|
||||
[[nodiscard]] UnsignedBigInteger multiplied_by(UnsignedBigInteger const& other) const;
|
||||
[[nodiscard]] UnsignedDivisionResult divided_by(UnsignedBigInteger const& divisor) const;
|
||||
[[nodiscard]] UnsignedBigInteger pow(u32 exponent) const;
|
||||
[[nodiscard]] UnsignedBigInteger gcd(UnsignedBigInteger const& other) const;
|
||||
|
||||
[[nodiscard]] ErrorOr<UnsignedBigInteger> try_bitwise_not_fill_to_one_based_index(size_t) const;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue