| Karim Belabas on Mon, 21 Mar 2005 14:46:33 +0100 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
| Re: ispower error? |
* cino hilliard [2005-03-21 05:30]:
> (14:42) gp > ispower(1)
> *** ispower: isanypower: argument must be > 1.
ispower(x) does not return a boolean value, but the largest exponent k > 1
such that x is a k-th power. This is not defined for x = 1, so the above is
correct.
On the other hand ispower(x, 2), with explicit second argument, returns a
boolean.
Perhaps this is confusing; I hesitated a lot before settling for the
current interface. The other possibility was to split ispower in two
functions:
ispower(x, k, {&n}) \\ k is now mandatory
issomepower(x, {&n}) \\ for the current ispower(x, /*omitted*/, &n)
I eventually overloaded ispower because I couldn't come up with a
satisfactory name for the is_some_unspecified_power functionnality.
Suggestions/Opinions are welcome.
Cheers,
Karim.
--
Karim Belabas Tel: (+33) (0)1 69 15 57 48
Dep. de Mathematiques, Bat. 425 Fax: (+33) (0)1 69 15 60 19
Universite Paris-Sud http://www.math.u-psud.fr/~belabas/
F-91405 Orsay (France) http://pari.math.u-bordeaux.fr/ [PARI/GP]