mirror of
https://github.com/lcn2/calc.git
synced 2025-08-16 01:03:29 +03:00
Converted all ASCII tabs to ASCII spaces using a 8 character tab stop, for all files, except for all Makefiles (plus rpm.mk). The `git diff -w` reports no changes.
79 lines
2.6 KiB
Plaintext
79 lines
2.6 KiB
Plaintext
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/
|