460 |
CHECK_NUMBER_OR_FLOAT (arg1); |
CHECK_NUMBER_OR_FLOAT (arg1); |
461 |
CHECK_NUMBER_OR_FLOAT (arg2); |
CHECK_NUMBER_OR_FLOAT (arg2); |
462 |
if (INTEGERP (arg1) /* common lisp spec */ |
if (INTEGERP (arg1) /* common lisp spec */ |
463 |
&& INTEGERP (arg2)) /* don't promote, if both are ints */ |
&& INTEGERP (arg2) /* don't promote, if both are ints, and */ |
464 |
|
&& 0 <= XINT (arg2)) /* we are not computing the -ARG2 root */ |
465 |
{ /* this can be improved by pre-calculating */ |
{ /* this can be improved by pre-calculating */ |
466 |
EMACS_INT acc, x, y; /* some binary powers of x then accumulating */ |
EMACS_INT acc, x, y; /* some binary powers of x then accumulating */ |
467 |
Lisp_Object val; |
Lisp_Object val; |