# HG changeset patch # User Rik # Date 1637820384 28800 # Node ID 045d93c84fe7fe0450083a96f5354facfaddde37 # Parent c33284f080905514c795b071d48234351f9675be# Parent 08f6bbd3ed232bedd20a543fc73879aa4b39c03c maint: merge away extra head. diff -r c33284f08090 -r 045d93c84fe7 libinterp/corefcn/__isprimelarge__.cc --- a/libinterp/corefcn/__isprimelarge__.cc Wed Nov 24 20:26:59 2021 -0800 +++ b/libinterp/corefcn/__isprimelarge__.cc Wed Nov 24 22:06:24 2021 -0800 @@ -27,14 +27,13 @@ #include "error.h" #include "ovl.h" -#include - OCTAVE_NAMESPACE_BEGIN // This function implements the Schrage technique for modular multiplication. // The returned value is equivalent to "mod (a*b, modulus)" // but calculated without overflow. -uint64_t safemultiply (uint64_t a, uint64_t b, uint64_t modulus) +uint64_t +safemultiply (uint64_t a, uint64_t b, uint64_t modulus) { if (! a || ! b) return 0; @@ -58,7 +57,8 @@ // This function returns "mod (a^b, modulus)" // but calculated without overflow. -uint64_t safepower (uint64_t a, uint64_t b, uint64_t modulus) +uint64_t +safepower (uint64_t a, uint64_t b, uint64_t modulus) { uint64_t retval = 1; while (b > 0) @@ -73,7 +73,8 @@ // This function implements a single round of Miller-Rabin primality testing. // Returns false if composite, true if pseudoprime for this divisor. -bool millerrabin (uint64_t div, uint64_t d, uint64_t r, uint64_t n) +bool +millerrabin (uint64_t div, uint64_t d, uint64_t r, uint64_t n) { uint64_t x = safepower (div, d, n); if (x == 1 || x == n-1) @@ -90,7 +91,8 @@ // This function uses the Miller-Rabin test to find out whether the input is // prime or composite. The input is required to be a scalar 64-bit integer. -bool isprimescalar (uint64_t n) +bool +isprimescalar (uint64_t n) { // Fast return for even numbers. // n==2 is excluded by the time this function is called. @@ -101,10 +103,10 @@ uint64_t d = n-1; uint64_t r = 0; while (! (d & 1)) - { - d >>= 1; - r++; - } + { + d >>= 1; + r++; + } // Miller-Rabin test with the first 12 primes. // If the number passes all 12 tests, then it is prime.