> 
> This patch can speed up function call 'primes(1, 10^7);'
> by 20%.

OK.

> diff --git a/src/algebra/integer.spad b/src/algebra/integer.spad
> index a5689694..924ba6db 100644
> --- a/src/algebra/integer.spad
> +++ b/src/algebra/integer.spad
> @@ -183,6 +183,18 @@
>  --    TT := InnerModularGcd(%, ZP, 67108859 pretend %, myNextPrime)
>  --    gcdPolynomial(p, q) == modularGcd(p, q)$TT
> 
> +      -- copied from IntegerNumberSystem to get inline optimization,
> +      -- speeds up functions like 'primes'
> +      powmod(x, n, p) ==
> +         if negative? x then x := positiveRemainder(x, p)
> +         zero? x => 0
> +         zero? n => 1
> +         y : % := 1
> +         z := x
> +         repeat
> +            if odd? n then y := mulmod(y, z, p)
> +            zero?(n := shift(n, -1)) => return y
> +            z := mulmod(z, z, p)
> 
>  )abbrev domain NNI NonNegativeInteger
>  ++ Author:
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "FriCAS - computer algebra system" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected].
> To post to this group, send email to [email protected].
> Visit this group at https://groups.google.com/group/fricas-devel.
> For more options, visit https://groups.google.com/d/optout.
> 


-- 
                              Waldek Hebisch

-- 
You received this message because you are subscribed to the Google Groups 
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/fricas-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to