big: Add pow.

This commit is contained in:
Jeroen van Rijn
2021-07-23 22:47:44 +02:00
parent c3a4d7dda2
commit d953e40fb3
3 changed files with 54 additions and 7 deletions
+6 -1
View File
@@ -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