diff options
| author | Jeroen van Rijn <Kelimion@users.noreply.github.com> | 2021-07-23 22:47:44 +0200 |
|---|---|---|
| committer | Jeroen van Rijn <Kelimion@users.noreply.github.com> | 2021-08-11 20:59:51 +0200 |
| commit | d953e40fb30daecb4571e600d64a19a9dd2baac4 (patch) | |
| tree | 874ac6c69be90fea8f930f4673feaa6a3a8cec69 /core/math/big/basic.odin | |
| parent | c3a4d7dda258d092fab7a101d63f7ffe6009db8e (diff) | |
big: Add `pow`.
Diffstat (limited to 'core/math/big/basic.odin')
| -rw-r--r-- | core/math/big/basic.odin | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/core/math/big/basic.odin b/core/math/big/basic.odin index fbb533ddf..18186b38c 100644 --- a/core/math/big/basic.odin +++ b/core/math/big/basic.odin @@ -516,7 +516,7 @@ int_mul_digit :: proc(dest, src: ^Int, multiplier: DIGIT) -> (err: Error) { }
if is_power_of_two(int(multiplier)) {
ix: int;
- if ix, err = log_n(multiplier, 2); err != .None { return err; }
+ if ix, err = log(multiplier, 2); err != .None { return err; }
return shl(dest, src, ix);
}
@@ -648,6 +648,11 @@ int_mul :: proc(dest, src, multiplier: ^Int) -> (err: Error) { mul :: proc { int_mul, int_mul_digit, };
+sqr :: proc(dest, src: ^Int) -> (err: Error) {
+ return mul(dest, src, src);
+}
+
+
/*
==========================
Low-level routines
|