NAME
    power - evaluate a numerical power to specified accuracy

SYNOPSIS
    power(x, y, [, eps])

TYPES
    x		number
    y		number
    eps		nonzero real, defaults to epsilon()

    return	number

DESCRIPTION
    For real or complex x and y, power(x,y,eps) returns a real or
    complex number for which the real and imaginary parts are multiples
    of epsilon differing from the true real and imaginary parts of the
    principal y-th power of x by less than 0.75 * abs(eps), usually by
    less than 0.5 * abs(eps).  If the principal y-th power of x is a
    multiple of eps, it will be returned exactly.

    If y is a large integer but x^y is not large, and accuracy
    represented by eps is all that is required, power(x,y,eps) may be
    considerably faster than appr(x^y, eps, 24), the difference between
    the two results being probably at most abs(eps).

EXAMPLE
    ; print power(1.2345, 10, 1e-5), power(1.2345, 10, 1e-10)
    8.22074 8.2207405646

    ; print power(1+3i, 3, 1e-5), power(1 + 3i, 2+ 1i, 1e-5)
    -26-18i -2.50593-1.39445i

    ; print power(1+ 1e-30, 1e30, 1e-20)
    2.71828182845904523536

    ; print power(1i, 1i, 1e-20)
    0.20787957635076190855

    ; print power(exp(1, 1e-20), pi(1e-20) * 1i/2, 1e-20)
    1i

LIMITS
    If x = 0, y in power(x,y,eps) has to have positive real part,
    except in the case of y = 0; power(0, 0, eps) is the multiple of
    eps nearest 1.

    eps != 0

LINK LIBRARY
    void powervalue(VALUE *x, VALUE *y, VALUE *eps, VALUE *result)
    NUMBER *qpower(NUMBER *x, NUMBER *y, NUMBER *eps)
    COMPLEX *c_power(COMPLEX *x, COMPLEX *y, NUMBER *eps)

SEE ALSO
    root

## Copyright (C) 1999,2021,2023  Landon Curt Noll
##
## Calc is open software; you can redistribute it and/or modify it under
## the terms of the version 2.1 of the GNU Lesser General Public License
## as published by the Free Software Foundation.
##
## Calc is distributed in the hope that it will be useful, but WITHOUT
## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
## or FITNESS FOR A PARTICULAR PURPOSE.	 See the GNU Lesser General
## Public License for more details.
##
## A copy of version 2.1 of the GNU Lesser General Public License is
## distributed with calc under the filename COPYING-LGPL.  You should have
## received a copy with calc; if not, write to Free Software Foundation, Inc.
## 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
##
## Under source code control:	1995/10/25 04:03:46
## File existed as early as:	1995
##
## chongo <was here> /\oo/\	http://www.isthe.com/chongo/
## Share and enjoy!  :-)	http://www.isthe.com/chongo/tech/comp/calc/
