-
-
Notifications
You must be signed in to change notification settings - Fork 660
Open
Description
The power_mod
function is redundant, since python already supports this.
sage: pow?
Type: builtin_function_or_method
Base Class: <type 'builtin_function_or_method'>
String Form: <built-in function pow>
Namespace: Python builtin
Docstring:
pow(x, y[, z]) -> number
With two arguments, equivalent to x**y. With three arguments,
equivalent to (x**y) % z, but may be more efficient (e.g. for longs).
Class Docstring:
<attribute '__doc__' of 'builtin_function_or_method' objects>
This would call the __pow__
method of the function in question with the right arguments, so we can handle the modulo powering operation in the right place. Recall that the signature of the __pow__
method is actually:
__pow__(self, other[, modulus]).
So the objective of this ticket should be changed to:
- change the
__pow__
methods insage.structure.element
to accept a third argument - deprecate
sage.rings.arith.power_mod
- deprecate
Integer.powermod
Component: basic arithmetic
Issue created by migration from https://trac.sagemath.org/ticket/5082