3-arg float pow()
phr-n2001 at nightsong.com
Tue Sep 4 00:11:34 CEST 2001
"Tim Peters" <tim.one at home.com> writes:
> > A possibility that springs to mind would be a pow() that allows
> > any type for the first and third arguments but requires a positive
> > integer for the exponent.
> That would disallow the pow(2, -5) example above, and we don't want to
> disallow that.
That doesn't seem so bad. 2**-5 is already not allowed.
> > So pow(3., 500, 7.) would be legal, and also would be computed
> > efficiently using whatever you call the repeated-squaring thing.
> I would only care about this if it's *useful*, but (outside of the Python
> test suite) I've never seen 3-argument pow with a non-None 3rd argument used
> except when the first two arguments were of integer types. Change the
> example to pow(3.1, 500, 7.), and the result is doomed to be gibberish no
> matter how implemented (short of heroic efforts that would bloat the code
> for something never used -- but this isn't Common Lisp <wink>).
Part of this discussion would be simpler if the artificial example
were different--what should pow(3., 50000, 7.) do? What about pow(3.,
50000., 7.)? I think it's entirely appropriate for 3-arg pow to only
work if all 3 args are integers.
> > Not that I actually see any use for this with floats, but I _do_
> > use a Pow() that works exactly like this for powers of matricies
> > and things...
> That's fine, but seems a different issue.
I don't have ANY reasonable suggestions for what 3-arg pow of matrices
should do except throw errors.
More information about the Python-list