Author mark.dickinson
Recipients mark.dickinson, pablogsal, rhettinger, skrah, steven.daprano, tim.peters
Date 2019-02-19.10:41:11
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1550572871.94.0.520372433591.issue36027@roundup.psfhosted.org>
In-reply-to
Content
Here's an example of some code in the standard library that would have benefited from the availability of `pow(x, n, m)` for arbitrary negative n: https://github.com/python/cpython/blob/e7a4bb554edb72fc6619d23241d59162d06f249a/Lib/_pydecimal.py#L957-L960

    if self._exp >= 0:
        exp_hash = pow(10, self._exp, _PyHASH_MODULUS)
    else:
        exp_hash = pow(_PyHASH_10INV, -self._exp, _PyHASH_MODULUS)

where:

    _PyHASH_10INV = pow(10, _PyHASH_MODULUS - 2, _PyHASH_MODULUS)

With the proposed addition, that just becomes `pow(10, self._exp, _PyHASH_MODULUS)`, and the `_PyHASH_10INV` constant isn't needed any more.
History
Date User Action Args
2019-02-19 10:41:11mark.dickinsonsetrecipients: + mark.dickinson, tim.peters, rhettinger, steven.daprano, skrah, pablogsal
2019-02-19 10:41:11mark.dickinsonsetmessageid: <1550572871.94.0.520372433591.issue36027@roundup.psfhosted.org>
2019-02-19 10:41:11mark.dickinsonlinkissue36027 messages
2019-02-19 10:41:11mark.dickinsoncreate