big: More refactoring.

This commit is contained in:
Jeroen van Rijn
2021-08-11 20:59:54 +02:00
parent d505a05d36
commit 1ebb0bd9d6
6 changed files with 530 additions and 432 deletions
+4 -2
View File
@@ -15,11 +15,13 @@ package big
Determines if an Integer is divisible by one of the _PRIME_TABLE primes.
Returns true if it is, false if not.
*/
int_prime_is_divisible :: proc(a: ^Int) -> (res: bool, err: Error) {
int_prime_is_divisible :: proc(a: ^Int, allocator := context.allocator) -> (res: bool, err: Error) {
assert_if_nil(a);
if err = internal_clear_if_uninitialized(a, allocator); err != nil { return {}, err; }
rem: DIGIT;
for prime in _private_prime_table {
if rem, err = mod(a, prime); err != nil { return false, err; }
if rem, err = #force_inline int_mod_digit(a, prime); err != nil { return false, err; }
if rem == 0 { return true, nil; }
}
/*