mirror of
https://github.com/Ed94/Odin.git
synced 2026-06-24 06:35:00 -07:00
big: Add pow.
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user