Class ApfloatMath
Due to different types of round-off errors that can occur in the implementation, no guarantees about e.g. monotonicity are given for any of the methods.
- Version:
- 1.14.0
- Author:
- Mikko Tommila
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionstatic Apfloat
Absolute value.static Apfloat
Inverse cosine.static Apfloat
Inverse hyperbolic cosine.static Apfloat
Arithmetic-geometric mean.static Apfloat
Airy function Ai.static Apfloat
Derivative of the Airy function Ai.static Apfloat
Airy function Bi.static Apfloat
Derivative of the Airy function Bi.static Apfloat
Inverse sine.static Apfloat
Inverse hyperbolic sine.static Apfloat
Inverse tangent.static Apfloat
Converts cartesian coordinates to polar coordinates.static Apfloat
Inverse hyperbolic tangent.static Apfloat
bernoulliB
(long n, Apfloat x) Bernoulli polynomial.static Apfloat
Modified Bessel function of the first kind.static Apfloat
Bessel function of the first kind.static Apfloat
Modified Bessel function of the second kind.static Apfloat
Bessel function of the second kind.static Apfloat
Beta function.static Apfloat
Incomplete beta function.static Apfloat
Generalized incomplete beta function.static Apfloat
Binomial coefficient.static Apfloat
catalan
(long precision) Calculates Catalan's constant, G.static Apfloat
catalan
(long precision, int radix) Calculates Catalan's constant, G.static Apfloat
Cube root.static Apint
Ceiling function.static Apfloat
chebyshevT
(Apfloat ν, Apfloat x) Chebyshev function of the first kind.static Apfloat
chebyshevU
(Apfloat ν, Apfloat x) Chebyshev function of the second kind.static Apint[]
continuedFraction
(Apfloat x, int n) Generates the firstn
terms in the continued fraction representation ofx
.static Aprational[]
convergents
(Apfloat x, int n) Generates the firstn
convergents corresponding to the continued fraction ofx
.static Apfloat
Copy sign from one argument to another.static Apfloat
Cosine.static Apfloat
Hyperbolic cosine.static Apfloat
Hyperbolic cosine integral.static Apfloat
Cosine integral.static Apfloat
Digamma function.static Apfloat
e
(long precision) Calculates e.static Apfloat
e
(long precision, int radix) Calculates e.static Apfloat
Complete elliptic integral of the second kind.static Apfloat
Complete elliptic integral of the first kind.static Apfloat
Error function.static Apfloat
Complementary error function.static Apfloat
Imaginary error function.static Apfloat
euler
(long precision) Calculates γ, the Euler-Mascheroni constant.static Apfloat
euler
(long precision, int radix) Calculates γ, the Euler-Mascheroni constant.static Apfloat
Euler polynomial.static Apfloat
Exponent function.static Apfloat
expIntegralE
(Apfloat ν, Apfloat x) Exponential integral E.static Apfloat
Exponential integral Ei.static Apfloat
Fibonacci function.static Apint
Floor function.static Apfloat
Returns x modulo y.static Apfloat
Extracts fractional part.static Apfloat
Fresnel integral C.static Apfloat
Fresnel integral S.static Apfloat
Gamma function.static Apfloat
Incomplete gamma function.static Apfloat
Generalized incomplete gamma function.static Apfloat
gegenbauerC
(Apfloat ν, Apfloat x) Renormalized Gegenbauer function.static Apfloat
gegenbauerC
(Apfloat ν, Apfloat λ, Apfloat x) Gegenbauer function.static Apfloat
glaisher
(long precision) Calculates the Glaisher‐Kinkelin constant, A.static Apfloat
glaisher
(long precision, int radix) Calculates the Glaisher‐Kinkelin constant, A.static Apfloat
Harmonic number.static Apfloat
harmonicNumber
(Apfloat x, Apfloat r) Generalized harmonic number.static Apfloat
Hermite function.static Apfloat
hypergeometric0F1
(Apfloat a, Apfloat x) Confluent hypergeometric function 0F1.static Apfloat
Regularized confluent hypergeometric function 0F̃1.static Apfloat
hypergeometric1F1
(Apfloat a, Apfloat b, Apfloat x) Kummer confluent hypergeometric function 1F1.static Apfloat
Regularized Kummer confluent hypergeometric function 1F̃1.static Apfloat
hypergeometric2F1
(Apfloat a, Apfloat b, Apfloat c, Apfloat x) Hypergeometric function 2F1.static Apfloat
hypergeometric2F1Regularized
(Apfloat a, Apfloat b, Apfloat c, Apfloat x) Regularized hypergeometric function 2F̃1.static Apfloat
hypergeometricU
(Apfloat a, Apfloat b, Apfloat x) Tricomi's confluent hypergeometric function U.static Apfloat
Inverse error function.static Apfloat
Inverse complementary error function.static Apfloat
inverseRoot
(Apfloat x, long n) Inverse positive integer root.static Apfloat
inverseRoot
(Apfloat x, long n, long targetPrecision) Inverse positive integer root.static Apfloat
inverseRoot
(Apfloat x, long n, long targetPrecision, Apfloat initialGuess) Inverse positive integer root.static Apfloat
inverseRoot
(Apfloat x, long n, long targetPrecision, Apfloat initialGuess, long initialPrecision) Inverse positive integer root.static Apfloat
Jacobi function.static Apfloat
khinchin
(long precision) Calculates Khinchin's constant, K.Uses the default radix.static Apfloat
khinchin
(long precision, int radix) Calculates Khinchin's constant, K.static Apfloat
Laguerre function.static Apfloat
Generalized Laguerre function.static Apfloat
Legendre function.static Apfloat
Associated Legendre function of the first kind.static Apfloat
Legendre function of the second kind.static Apfloat
Associated Legendre function of the second kind.static Apfloat
Natural logarithm.static Apfloat
Logarithm in arbitrary base.static Apfloat
Logarithm of the gamma function.static Apfloat
Logarithmic integral.static Apfloat
Logistic sigmoid.static Apfloat
logRadix
(long precision, int radix) Gets or calculates logarithm of a radix to required precision.static Apfloat
Returns the greater of the two values.static Apfloat
Returns the smaller of the two values.static Apfloat[]
Split to integer and fractional parts.static Apfloat
multiplyAdd
(Apfloat a, Apfloat b, Apfloat c, Apfloat d) Fused multiply-add.static Apfloat
multiplySubtract
(Apfloat a, Apfloat b, Apfloat c, Apfloat d) Fused multiply-subtract.static Apfloat
Deprecated.static Apfloat
Returns the number adjacent to the first argument in the direction of the second argument, considering the scale and precision of the first argument.static Apfloat
Returns the number adjacent to the argument in the direction of negative infinity, considering the scale and precision of the argument.static Apfloat
Returns the number adjacent to the argument in the direction of positive infinity, considering the scale and precision of the argument.static Apfloat
pi
(long precision) Calculates π.static Apfloat
pi
(long precision, int radix) Calculates π.static Apfloat
pochhammer
(Apfloat x, Apfloat n) Pochhammer symbol.static Apfloat
Polygamma function.static Apfloat
Polylogarithm.static Apfloat
Integer power.static Apfloat
Arbitrary power.static Apfloat
Product of numbers.static Apfloat
random
(long digits) Generates a random number.static Apfloat
random
(long digits, int radix) Generates a random number.static Apfloat
randomGaussian
(long digits) Generates a random, Gaussian ("normally") distributed number value with mean 0 and standard deviation 1.static Apfloat
randomGaussian
(long digits, int radix) Generates a random, Gaussian ("normally") distributed number value with mean 0 and standard deviation 1.static Apfloat
Positive integer root.static Apfloat
round
(Apfloat x, long precision, RoundingMode roundingMode) Deprecated.static Apint
roundToInteger
(Apfloat x, RoundingMode roundingMode) Roundsx
to integer using the specified rounding mode.static Apfloat
roundToMultiple
(Apfloat x, Apfloat y, RoundingMode roundingMode) Roundsx
to the nearest multiple ofy
using the specified rounding mode.static Apfloat
roundToPlaces
(Apfloat x, long places, RoundingMode roundingMode) Roundsx
to the specified number of places using the specified rounding mode.static Apfloat
roundToPrecision
(Apfloat x, long precision, RoundingMode roundingMode) Rounds the given number to the specified precision with the specified rounding mode.static Apfloat
Multiply by a power of the radix.static Apfloat
Sine.static Apfloat
Sinc.static Apfloat
Hyperbolic sine.static Apfloat
Hyperbolic sine integral.static Apfloat
Sine integral.static Apfloat
Square root.static Apfloat
Sum of numbers.static Apfloat
Tangent.static Apfloat
Hyperbolic tangent.static Apfloat
Converts an angle measured in radians to degrees.static Apfloat
Converts an angle measured in degrees to radians.static Apint
Truncates fractional part.static Apfloat
Returns the unit in the last place of the argument, considering the scale and precision.static Apfloat
Lambert W function.static Apfloat
Riemann zeta function.static Apfloat
Hurwitz zeta function.
-
Method Details
-
pow
Integer power.- Parameters:
x
- Base of the power operator.n
- Exponent of the power operator.- Returns:
x
to then
:th power, that isxn
.- Throws:
ArithmeticException
- If bothx
andn
are zero.ApfloatRuntimeException
-
sqrt
Square root.- Parameters:
x
- The argument.- Returns:
- Square root of
x
. - Throws:
ArithmeticException
- Ifx
is negative.ApfloatRuntimeException
-
cbrt
Cube root.- Parameters:
x
- The argument.- Returns:
- Cube root of
x
. - Throws:
ApfloatRuntimeException
-
root
Positive integer root.- Parameters:
x
- The argument.n
- Which root to take.- Returns:
n
:th root ofx
, that isx1/n
.- Throws:
ArithmeticException
- Ifn
is zero, orx
is negative andn
is even.ApfloatRuntimeException
-
inverseRoot
public static Apfloat inverseRoot(Apfloat x, long n) throws ArithmeticException, ApfloatRuntimeException Inverse positive integer root.- Parameters:
x
- The argument.n
- Which inverse root to take.- Returns:
- Inverse
n
:th root ofx
, that isx-1/n
. - Throws:
ArithmeticException
- Ifx
orn
is zero, orx
is negative andn
is even.ApfloatRuntimeException
-
inverseRoot
public static Apfloat inverseRoot(Apfloat x, long n, long targetPrecision) throws IllegalArgumentException, ArithmeticException, ApfloatRuntimeException Inverse positive integer root.- Parameters:
x
- The argument.n
- Which inverse root to take.targetPrecision
- Precision of the desired result.- Returns:
- Inverse
n
:th root ofx
, that isx-1/n
. - Throws:
IllegalArgumentException
- IftargetPrecision <= 0
.ArithmeticException
- Ifx
orn
is zero, orx
is negative andn
is even.ApfloatRuntimeException
-
inverseRoot
public static Apfloat inverseRoot(Apfloat x, long n, long targetPrecision, Apfloat initialGuess) throws IllegalArgumentException, ArithmeticException, ApfloatRuntimeException Inverse positive integer root.- Parameters:
x
- The argument.n
- Which inverse root to take.targetPrecision
- Precision of the desired result.initialGuess
- Initial guess for the result value, ornull
if none is available.- Returns:
- Inverse
n
:th root ofx
, that isx-1/n
. - Throws:
IllegalArgumentException
- IftargetPrecision <= 0
.ArithmeticException
- Ifx
orn
is zero, orx
is negative andn
is even.ApfloatRuntimeException
-
inverseRoot
public static Apfloat inverseRoot(Apfloat x, long n, long targetPrecision, Apfloat initialGuess, long initialPrecision) throws IllegalArgumentException, ArithmeticException, ApfloatRuntimeException Inverse positive integer root.This method is the basis for most of apfloat's non-elementary operations. It is used e.g. in
Apfloat.divide(Apfloat)
,sqrt(Apfloat)
androot(Apfloat,long)
.- Parameters:
x
- The argument.n
- Which inverse root to take.targetPrecision
- Precision of the desired result.initialGuess
- Initial guess for the result value, ornull
if none is available.initialPrecision
- Precision of the initial guess, if available.- Returns:
- Inverse
n
:th root ofx
, that isx-1/n
. - Throws:
IllegalArgumentException
- IftargetPrecision <= 0
orinitialPrecision <= 0
.ArithmeticException
- Ifx
orn
is zero, orx
is negative andn
is even.ApfloatRuntimeException
-
floor
Floor function. Returns the largest (closest to positive infinity) value that is not greater than the argument and is equal to a mathematical integer.- Parameters:
x
- The argument.- Returns:
x
rounded towards negative infinity.- Throws:
ApfloatRuntimeException
-
ceil
Ceiling function. Returns the smallest (closest to negative infinity) value that is not less than the argument and is equal to a mathematical integer.- Parameters:
x
- The argument.- Returns:
x
rounded towards positive infinity.- Throws:
ApfloatRuntimeException
-
truncate
Truncates fractional part.- Parameters:
x
- The argument.- Returns:
x
rounded towards zero.- Throws:
ApfloatRuntimeException
-
frac
Extracts fractional part.- Parameters:
x
- The argument.- Returns:
- The fractional part of
x
. - Throws:
ApfloatRuntimeException
- Since:
- 1.7.0
-
round
@Deprecated public static Apfloat round(Apfloat x, long precision, RoundingMode roundingMode) throws IllegalArgumentException, ArithmeticException, ApfloatRuntimeException Deprecated.Rounds the given number to the specified precision with the specified rounding mode.- Parameters:
x
- The number to round.precision
- The precision to round to.roundingMode
- The rounding mode to use.- Returns:
- The rounded number.
- Throws:
IllegalArgumentException
- Ifprecision
is less than zero or zero.ArithmeticException
- If rounding is necessary (result is not exact) and rounding mode isRoundingMode.UNNECESSARY
.ApfloatRuntimeException
- Since:
- 1.7.0
-
roundToPrecision
public static Apfloat roundToPrecision(Apfloat x, long precision, RoundingMode roundingMode) throws IllegalArgumentException, ArithmeticException, ApfloatRuntimeException Rounds the given number to the specified precision with the specified rounding mode.- Parameters:
x
- The number to round.precision
- The precision to round to.roundingMode
- The rounding mode to use.- Returns:
- The rounded number.
- Throws:
IllegalArgumentException
- Ifprecision
is less than zero or zero.ArithmeticException
- If rounding is necessary (result is not exact) and rounding mode isRoundingMode.UNNECESSARY
.ApfloatRuntimeException
- Since:
- 1.11.0
-
roundToInteger
public static Apint roundToInteger(Apfloat x, RoundingMode roundingMode) throws IllegalArgumentException, ArithmeticException, ApfloatRuntimeException Roundsx
to integer using the specified rounding mode.- Parameters:
x
- The number to round.roundingMode
- The rounding mode to use.- Returns:
- The rounded number.
- Throws:
ArithmeticException
- If rounding is necessary (result is not exact) and rounding mode isRoundingMode.UNNECESSARY
.IllegalArgumentException
ApfloatRuntimeException
- Since:
- 1.11.0
-
roundToPlaces
public static Apfloat roundToPlaces(Apfloat x, long places, RoundingMode roundingMode) throws IllegalArgumentException, ArithmeticException, ApfloatRuntimeException Roundsx
to the specified number of places using the specified rounding mode.- Parameters:
x
- The number to round.places
- The number of places to round to (in base 10, the number of decimal places).roundingMode
- The rounding mode to use.- Returns:
- The rounded number.
- Throws:
ArithmeticException
- If rounding is necessary (result is not exact) and rounding mode isRoundingMode.UNNECESSARY
.IllegalArgumentException
ApfloatRuntimeException
- Since:
- 1.11.0
-
roundToMultiple
public static Apfloat roundToMultiple(Apfloat x, Apfloat y, RoundingMode roundingMode) throws IllegalArgumentException, ArithmeticException, ApfloatRuntimeException Roundsx
to the nearest multiple ofy
using the specified rounding mode.- Parameters:
x
- The number to round.y
- The integer multiple to round to.roundingMode
- The rounding mode to use.- Returns:
- The rounded number.
- Throws:
ArithmeticException
- If rounding is necessary (result is not exact) and rounding mode isRoundingMode.UNNECESSARY
.IllegalArgumentException
ApfloatRuntimeException
- Since:
- 1.11.0
-
negate
Deprecated.UseApfloat.negate()
.Returns an apfloat whose value is-x
.- Parameters:
x
- The argument.- Returns:
-x
.- Throws:
ApfloatRuntimeException
-
abs
Absolute value.- Parameters:
x
- The argument.- Returns:
- Absolute value of
x
. - Throws:
ApfloatRuntimeException
-
copySign
Copy sign from one argument to another.- Parameters:
x
- The value whose sign is to be adjusted.y
- The value whose sign is to be used.- Returns:
x
with its sign changed to match the sign ofy
.- Throws:
ApfloatRuntimeException
- Since:
- 1.1
-
scale
Multiply by a power of the radix.- Parameters:
x
- The argument.scale
- The scaling factor.- Returns:
x * x.radix()scale
.- Throws:
ApfloatRuntimeException
-
modf
Split to integer and fractional parts. The integer part is simplyi = floor(x)
. For the fractional partf
the following is always true:0 <= f < 1
- Parameters:
x
- The argument.- Returns:
- An array of two apfloats,
[i, f]
, the first being the integer part and the last being the fractional part. - Throws:
ApfloatRuntimeException
-
fmod
Returns x modulo y.This function calculates the remainder
f
ofx / y
such thatx = i * y + f
, wherei
is an integer,f
has the same sign asx
, and the absolute value off
is less than the absolute value ofy
.If
y
is zero, then zero is returned.- Parameters:
x
- The dividend.y
- The divisor.- Returns:
- The remainder when x is divided by y.
- Throws:
ApfloatRuntimeException
-
multiplyAdd
public static Apfloat multiplyAdd(Apfloat a, Apfloat b, Apfloat c, Apfloat d) throws ApfloatRuntimeException Fused multiply-add. Calculatesa * b + c * d
so that the precision used in the multiplications is only what is needed for the end result. Performance can this way be better than by calculatinga.multiply(b).add(c.multiply(d))
.- Parameters:
a
- First argument.b
- Second argument.c
- Third argument.d
- Fourth argument.- Returns:
a * b + c * d
.- Throws:
ApfloatRuntimeException
-
multiplySubtract
public static Apfloat multiplySubtract(Apfloat a, Apfloat b, Apfloat c, Apfloat d) throws ApfloatRuntimeException Fused multiply-subtract. Calculatesa * b - c * d
so that the precision used in the multiplications is only what is needed for the end result. Performance can this way be better than by calculatinga.multiply(b).subtract(c.multiply(d))
.- Parameters:
a
- First argument.b
- Second argument.c
- Third argument.d
- Fourth argument.- Returns:
a * b - c * d
.- Throws:
ApfloatRuntimeException
-
agm
Arithmetic-geometric mean.- Parameters:
a
- First argument.b
- Second argument.- Returns:
- Arithmetic-geometric mean of a and b.
- Throws:
ApfloatRuntimeException
-
pi
public static Apfloat pi(long precision) throws IllegalArgumentException, NumberFormatException, ApfloatRuntimeException Calculates π. Uses default radix.- Parameters:
precision
- Number of digits of π to calculate.- Returns:
- π accurate to
precision
digits, in the default radix. - Throws:
NumberFormatException
- If the default radix is not valid.IllegalArgumentException
- In case the precision is invalid.ApfloatRuntimeException
-
pi
public static Apfloat pi(long precision, int radix) throws IllegalArgumentException, NumberFormatException, ApfloatRuntimeException Calculates π.- Parameters:
precision
- Number of digits of π to calculate.radix
- The radix in which the number should be presented.- Returns:
- π accurate to
precision
digits, in baseradix
. - Throws:
NumberFormatException
- If the radix is not valid.IllegalArgumentException
- In case the precision is invalid.ApfloatRuntimeException
-
log
Natural logarithm.The logarithm is calculated using the arithmetic-geometric mean. See the Borweins' book for the formula.
- Parameters:
x
- The argument.- Returns:
- Natural logarithm of
x
. - Throws:
ArithmeticException
- Ifx <= 0
.ApfloatRuntimeException
-
log
Logarithm in arbitrary base.The logarithm is calculated using the arithmetic-geometric mean. See the Borweins' book for the formula.
- Parameters:
x
- The argument.b
- The base.- Returns:
- Base-
b
logarithm ofx
. - Throws:
ArithmeticException
- Ifx <= 0
orb <= 0
.ApfloatRuntimeException
- Since:
- 1.6
-
logRadix
Gets or calculates logarithm of a radix to required precision. The calculated value is stored in a cache for later usage.- Parameters:
precision
- The needed precision.radix
- The radix.- Returns:
- Natural logarithm of
radix
to the specified precision. - Throws:
NumberFormatException
- If the radix is invalid.ApfloatRuntimeException
-
exp
Exponent function. Calculated using Newton's iteration for the inverse of logarithm.- Parameters:
x
- The argument.- Returns:
ex
.- Throws:
ApfloatRuntimeException
-
pow
Arbitrary power. Calculated usinglog()
andexp()
.- Parameters:
x
- The base.y
- The exponent.- Returns:
xy
.- Throws:
ArithmeticException
- If bothx
andy
are zero, orx
is negative andy
is not an integer.ApfloatRuntimeException
-
acosh
Inverse hyperbolic cosine. Calculated usinglog()
.- Parameters:
x
- The argument.- Returns:
- Inverse hyperbolic cosine of
x
. - Throws:
ArithmeticException
- Ifx < 1
.ApfloatRuntimeException
-
asinh
Inverse hyperbolic sine. Calculated usinglog()
.- Parameters:
x
- The argument.- Returns:
- Inverse hyperbolic sine of
x
. - Throws:
ApfloatRuntimeException
-
atanh
Inverse hyperbolic tangent. Calculated usinglog()
.- Parameters:
x
- The argument.- Returns:
- Inverse hyperbolic tangent of
x
. - Throws:
ArithmeticException
- Ifabs(x) >= 1
.ApfloatRuntimeException
-
cosh
Hyperbolic cosine. Calculated usingexp()
.- Parameters:
x
- The argument.- Returns:
- Hyperbolic cosine of
x
. - Throws:
ApfloatRuntimeException
-
sinh
Hyperbolic sine. Calculated usingexp()
.- Parameters:
x
- The argument.- Returns:
- Hyperbolic sine of
x
. - Throws:
ApfloatRuntimeException
-
tanh
Hyperbolic tangent. Calculated usingexp()
.- Parameters:
x
- The argument.- Returns:
- Hyperbolic tangent of
x
. - Throws:
ApfloatRuntimeException
-
acos
Inverse cosine. Calculated using complex functions.- Parameters:
x
- The argument.- Returns:
- Inverse cosine of
x
. - Throws:
ArithmeticException
- Ifabs(x) > 1
.ApfloatRuntimeException
-
asin
Inverse sine. Calculated using complex functions.- Parameters:
x
- The argument.- Returns:
- Inverse sine of
x
. - Throws:
ArithmeticException
- Ifabs(x) > 1
.ApfloatRuntimeException
-
atan
Inverse tangent. Calculated using complex functions.- Parameters:
x
- The argument.- Returns:
- Inverse tangent of
x
. - Throws:
ApfloatRuntimeException
-
atan2
public static Apfloat atan2(Apfloat y, Apfloat x) throws ArithmeticException, ApfloatRuntimeException Converts cartesian coordinates to polar coordinates. Calculated using complex functions.Computes the phase angle by computing an arc tangent of
y/x
in the range of -π < angle <= π.- Parameters:
y
- The argument.x
- The argument.- Returns:
- The angle of the point
(x, y)
in the plane. - Throws:
ArithmeticException
- Ify
andx
are both zero.ApfloatRuntimeException
-
cos
Cosine. Calculated using complex functions.- Parameters:
x
- The argument (in radians).- Returns:
- Cosine of
x
. - Throws:
ApfloatRuntimeException
-
sin
Sine. Calculated using complex functions.- Parameters:
x
- The argument (in radians).- Returns:
- Sine of
x
. - Throws:
ApfloatRuntimeException
-
tan
Tangent. Calculated using complex functions.- Parameters:
x
- The argument (in radians).- Returns:
- Tangent of
x
. - Throws:
ArithmeticException
- Ifx
is π/2 + n π where n is an integer.ApfloatRuntimeException
-
sinc
Sinc.- Parameters:
x
- The argument.- Returns:
- sinc(x)
- Throws:
ApfloatRuntimeException
- Since:
- 1.14.0
-
w
Lambert W function. The W function gives the solution to the equationW eW = x
. Also known as the product logarithm.This function only gives the solution to the principal branch, W0. For the real-valued W-1 branch, use
ApcomplexMath.w(Apcomplex,long)
.- Parameters:
x
- The argument.- Returns:
W0(x)
.- Throws:
ArithmeticException
- Ifx
is less than -1/e.ApfloatRuntimeException
- Since:
- 1.8.0
-
toDegrees
Converts an angle measured in radians to degrees.- Parameters:
x
- The angle, in radians.- Returns:
- The angle in degrees.
- Throws:
ApfloatRuntimeException
- Since:
- 1.8.0
-
toRadians
Converts an angle measured in degrees to radians.- Parameters:
x
- The angle, in degrees.- Returns:
- The angle in radians.
- Throws:
ApfloatRuntimeException
- Since:
- 1.8.0
-
product
Product of numbers. The precision used in the multiplications is only what is needed for the end result. This method may perform significantly better than simply multiplying the numbers sequentially.If there are no arguments, the return value is
1
.- Parameters:
x
- The argument(s).- Returns:
- The product of the given numbers.
- Throws:
ApfloatRuntimeException
- Since:
- 1.3
-
sum
Sum of numbers. The precision used in the additions is only what is needed for the end result. This method may perform significantly better than simply adding the numbers sequentially.If there are no arguments, the return value is
0
.- Parameters:
x
- The argument(s).- Returns:
- The sum of the given numbers.
- Throws:
ApfloatRuntimeException
- Since:
- 1.3
-
e
public static Apfloat e(long precision) throws IllegalArgumentException, NumberFormatException, ApfloatRuntimeException Calculates e. Uses default radix.- Parameters:
precision
- Number of digits of e to calculate.- Returns:
- e accurate to
precision
digits, in the default radix. - Throws:
NumberFormatException
- If the default radix is not valid.IllegalArgumentException
- In case the precision is invalid.ApfloatRuntimeException
- Since:
- 1.11.0
-
e
public static Apfloat e(long precision, int radix) throws IllegalArgumentException, NumberFormatException, ApfloatRuntimeException Calculates e.- Parameters:
precision
- Number of digits of e to calculate.radix
- The radix in which the number should be presented.- Returns:
- e accurate to
precision
digits, in baseradix
. - Throws:
NumberFormatException
- If the radix is not valid.IllegalArgumentException
- In case the precision is invalid.ApfloatRuntimeException
- Since:
- 1.11.0
-
euler
public static Apfloat euler(long precision) throws IllegalArgumentException, NumberFormatException, ApfloatRuntimeException Calculates γ, the Euler-Mascheroni constant. Uses default radix.- Parameters:
precision
- Number of digits of γ to calculate.- Returns:
- γ accurate to
precision
digits, in the default radix. - Throws:
NumberFormatException
- If the default radix is not valid.IllegalArgumentException
- In case the precision is invalid.ApfloatRuntimeException
- Since:
- 1.10.0
-
euler
public static Apfloat euler(long precision, int radix) throws IllegalArgumentException, NumberFormatException, ApfloatRuntimeException Calculates γ, the Euler-Mascheroni constant.- Parameters:
precision
- Number of digits of γ to calculate.radix
- The radix in which the number should be presented.- Returns:
- γ accurate to
precision
digits, in baseradix
. - Throws:
NumberFormatException
- If the radix is not valid.IllegalArgumentException
- In case the precision is invalid.ApfloatRuntimeException
- Since:
- 1.10.0
-
catalan
public static Apfloat catalan(long precision) throws IllegalArgumentException, NumberFormatException, ApfloatRuntimeException Calculates Catalan's constant, G. Uses the default radix.- Parameters:
precision
- Number of digits of G to calculate.- Returns:
- G accurate to
precision
digits, in the default radix. - Throws:
NumberFormatException
- If the default radix is not valid.IllegalArgumentException
- In case the precision is invalid.ApfloatRuntimeException
- Since:
- 1.11.0
- Implementation notes:
- This implementation is slow.
-
catalan
public static Apfloat catalan(long precision, int radix) throws IllegalArgumentException, NumberFormatException, ApfloatRuntimeException Calculates Catalan's constant, G. Uses the specified radix.- Parameters:
precision
- Number of digits of G to calculate.radix
- The radix in which the number should be presented.- Returns:
- G accurate to
precision
digits, in baseradix
. - Throws:
NumberFormatException
- If the radix is not valid.IllegalArgumentException
- In case the precision is invalid.ApfloatRuntimeException
- Since:
- 1.11.0
- Implementation notes:
- This implementation is slow.
-
glaisher
public static Apfloat glaisher(long precision) throws IllegalArgumentException, NumberFormatException, ApfloatRuntimeException Calculates the Glaisher‐Kinkelin constant, A. Uses the default radix.- Parameters:
precision
- Number of digits of A to calculate.- Returns:
- A accurate to
precision
digits, in the default radix. - Throws:
NumberFormatException
- If the default radix is not valid.IllegalArgumentException
- In case the precision is invalid.ApfloatRuntimeException
- Since:
- 1.11.0
- Implementation notes:
- This implementation is slow. At the time of implementation no efficient algorithm is known for the Glaisher‐Kinkelin constant.
-
glaisher
public static Apfloat glaisher(long precision, int radix) throws IllegalArgumentException, NumberFormatException, ApfloatRuntimeException Calculates the Glaisher‐Kinkelin constant, A. Uses the specified radix.- Parameters:
precision
- Number of digits of A to calculate.radix
- The radix in which the number should be presented.- Returns:
- A accurate to
precision
digits, in baseradix
. - Throws:
NumberFormatException
- If the radix is not valid.IllegalArgumentException
- In case the precision is invalid.ApfloatRuntimeException
- Since:
- 1.11.0
- Implementation notes:
- This implementation is slow. At the time of implementation no efficient algorithm is known for the Glaisher‐Kinkelin constant.
-
khinchin
public static Apfloat khinchin(long precision) throws IllegalArgumentException, NumberFormatException, ApfloatRuntimeException Calculates Khinchin's constant, K.Uses the default radix.- Parameters:
precision
- Number of digits of K to calculate.- Returns:
- K accurate to
precision
digits, in the default radix. - Throws:
NumberFormatException
- If the default radix is not valid.IllegalArgumentException
- In case the precision is invalid.ApfloatRuntimeException
- Since:
- 1.11.0
- Implementation notes:
- This implementation is slow. At the time of implementation no efficient algorithm is known for Khinchin's constant.
-
khinchin
public static Apfloat khinchin(long precision, int radix) throws IllegalArgumentException, NumberFormatException, ApfloatRuntimeException Calculates Khinchin's constant, K. Uses the specified radix.- Parameters:
precision
- Number of digits of K to calculate.radix
- The radix in which the number should be presented.- Returns:
- K accurate to
precision
digits, in baseradix
. - Throws:
NumberFormatException
- If the radix is not valid.IllegalArgumentException
- In case the precision is invalid.ApfloatRuntimeException
- Since:
- 1.11.0
- Implementation notes:
- This implementation is slow. At the time of implementation no efficient algorithm is known for Khinchin's constant.
-
gamma
Gamma function.- Parameters:
x
- The argument.- Returns:
Γ(x)
- Throws:
ArithmeticException
- Ifx
is a nonpositive integer.ApfloatRuntimeException
- Since:
- 1.9.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. The asymptotic complexity is at least O(n2log n) and it is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the gamma function.
-
gamma
public static Apfloat gamma(Apfloat a, Apfloat x) throws ArithmeticException, ApfloatRuntimeException Incomplete gamma function.- Parameters:
a
- The first argument.x
- The second argument.- Returns:
Γ(a, x)
- Throws:
ArithmeticException
- Ifa
is not a positive integer andx
is nonpositive.ApfloatRuntimeException
- Since:
- 1.10.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. The asymptotic complexity is at least O(n2log n) and it is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the gamma function.
-
gamma
public static Apfloat gamma(Apfloat a, Apfloat x0, Apfloat x1) throws ArithmeticException, ApfloatRuntimeException Generalized incomplete gamma function.This function is defined as:
Γ(a, x0, x1) = Γ(a, x0) - Γ(a, x1)
The lower gamma function can be calculated with:
γ(a, x) = Γ(a, 0, x)
- Parameters:
a
- The first argument.x0
- The second argument.x1
- The third argument.- Returns:
Γ(a, x0, x1)
- Throws:
ArithmeticException
- Ifa
is not a positive integer and eitherx0
orx1
is nonpositive.ApfloatRuntimeException
- Since:
- 1.10.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. The asymptotic complexity is at least O(n2log n) and it is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the gamma function.
-
logGamma
Logarithm of the gamma function.- Parameters:
x
- The argument.- Returns:
logΓ(x)
- Throws:
ArithmeticException
- Ifx
is nonpositive.ApfloatRuntimeException
- Since:
- 1.11.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. The asymptotic complexity is at least O(n2log n) and it is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the gamma function.
-
digamma
Digamma function.- Parameters:
x
- The argument.- Returns:
ψ(x)
- Throws:
ArithmeticException
- Ifx
is a nonpositive integer.ApfloatRuntimeException
- Since:
- 1.11.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. The asymptotic complexity is at least O(n2log n) and it is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the digamma function.
-
polygamma
public static Apfloat polygamma(long n, Apfloat x) throws ArithmeticException, ApfloatRuntimeException Polygamma function.- Parameters:
n
- The order.x
- The argument.- Returns:
ψ(n)(x)
- Throws:
ArithmeticException
- Ifn
is negative orx
is a nonpositive integer.ApfloatRuntimeException
- Since:
- 1.13.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. The asymptotic complexity is at least O(n2log n) and it is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the polygamma function.
-
beta
public static Apfloat beta(Apfloat a, Apfloat b) throws ArithmeticException, ApfloatRuntimeException Beta function.- Parameters:
a
- The first argument.b
- The second argument.- Returns:
- B(a, b)
- Throws:
ArithmeticException
- Ifa
orb
is a nonpositive integer buta + b
is not. Also if botha
andb
are nonpositive integers.ApfloatRuntimeException
- Since:
- 1.13.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. The asymptotic complexity is at least O(n2log n) and it is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the beta function.
-
beta
public static Apfloat beta(Apfloat x, Apfloat a, Apfloat b) throws ArithmeticException, ApfloatRuntimeException Incomplete beta function.- Parameters:
x
- The first argument.a
- The second argument.b
- The third argument.- Returns:
- Bx(a, b)
- Throws:
ArithmeticException
- Ifa
is a nonpositive integer orx
is zero anda
is nonpositive orx
is negative anda
is not an integer. Also ifx
> 1 and the result is not a polynomial.ApfloatRuntimeException
- Since:
- 1.13.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. The asymptotic complexity is at least O(n2log n) and it is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
beta
public static Apfloat beta(Apfloat x1, Apfloat x2, Apfloat a, Apfloat b) throws ArithmeticException, ApfloatRuntimeException Generalized incomplete beta function.- Parameters:
x1
- The first argument.x2
- The second argument.a
- The third argument.b
- The fourth argument.- Returns:
- B(x1, x2)(a, b)
- Throws:
ArithmeticException
- Ifa
is a nonpositive integer orx1
orx2
is zero anda
is nonpositive orx1
orx2
is negative anda
is not an integer. Also ifx1
> 1 orx2
> 1 and the result is not a polynomial.ApfloatRuntimeException
- Since:
- 1.13.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. The asymptotic complexity is at least O(n2log n) and it is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
pochhammer
public static Apfloat pochhammer(Apfloat x, Apfloat n) throws ArithmeticException, ApfloatRuntimeException Pochhammer symbol.- Parameters:
x
- The first argument.n
- The second argument.- Returns:
(x)n
- Throws:
ArithmeticException
- Ifx + n
is a nonpositive integer butx
is not.ApfloatRuntimeException
- Since:
- 1.13.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. The asymptotic complexity is at least O(n2log n) and it is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the pochhammer symbol.
-
binomial
public static Apfloat binomial(Apfloat n, Apfloat k) throws ArithmeticException, ApfloatRuntimeException Binomial coefficient. Calculated using thegamma(Apfloat)
function.- Parameters:
n
- The first argument.k
- The second argument.- Returns:
- Throws:
ArithmeticException
- Ifn
is a negative integer andk
is noninteger.ApfloatRuntimeException
- Since:
- 1.11.0
-
zeta
Riemann zeta function.- Parameters:
s
- The argument.- Returns:
ζ(s)
- Throws:
ArithmeticException
- Ifs
is1
.ApfloatRuntimeException
- Since:
- 1.11.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few hundred digits. At the time of implementation no generic fast algorithm is known for the zeta function.
-
zeta
public static Apfloat zeta(Apfloat s, Apfloat a) throws ArithmeticException, ApfloatRuntimeException Hurwitz zeta function.- Parameters:
s
- The first argument.a
- The second argument.- Returns:
ζ(s, a)
- Throws:
ArithmeticException
- Ifs
is1
or ifa
is a nonpositive integer or ifs
is not an integer anda
is nonpositive.ApfloatRuntimeException
- Since:
- 1.11.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few hundred digits. At the time of implementation no generic fast algorithm is known for the zeta function.
-
hypergeometric0F1
public static Apfloat hypergeometric0F1(Apfloat a, Apfloat x) throws ArithmeticException, ApfloatRuntimeException Confluent hypergeometric function 0F1.- Parameters:
a
- The first argument.x
- The second argument.- Returns:
- 0F1(; a; x)
- Throws:
ArithmeticException
- If the function value is not finite.ApfloatRuntimeException
- Since:
- 1.11.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
hypergeometric0F1Regularized
public static Apfloat hypergeometric0F1Regularized(Apfloat a, Apfloat x) throws ApfloatRuntimeException Regularized confluent hypergeometric function 0F̃1.- Parameters:
a
- The first argument.x
- The second argument.- Returns:
- 0F̃1(; a; x)
- Throws:
ApfloatRuntimeException
- Since:
- 1.13.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
hypergeometric1F1
public static Apfloat hypergeometric1F1(Apfloat a, Apfloat b, Apfloat x) throws ArithmeticException, ApfloatRuntimeException Kummer confluent hypergeometric function 1F1. Also known as the confluent hypergeometric function of the first kind.- Parameters:
a
- The first argument.b
- The second argument.x
- The third argument.- Returns:
- 1F1(a; b; x)
- Throws:
ArithmeticException
- If the function value is not finite.ApfloatRuntimeException
- Since:
- 1.11.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
hypergeometric1F1Regularized
public static Apfloat hypergeometric1F1Regularized(Apfloat a, Apfloat b, Apfloat x) throws ApfloatRuntimeException Regularized Kummer confluent hypergeometric function 1F̃1. Also known as the regularized confluent hypergeometric function of the first kind.- Parameters:
a
- The first argument.b
- The second argument.x
- The third argument.- Returns:
- 1F̃1(a; b; x)
- Throws:
ApfloatRuntimeException
- Since:
- 1.13.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
hypergeometric2F1
public static Apfloat hypergeometric2F1(Apfloat a, Apfloat b, Apfloat c, Apfloat x) throws ArithmeticException, ApfloatRuntimeException Hypergeometric function 2F1. Also known as the Gaussian or ordinary hypergeometric function.- Parameters:
a
- The first argument.b
- The second argument.c
- The third argument.x
- The fourth argument.- Returns:
- 2F1(a, b; c; x)
- Throws:
ArithmeticException
- If the function value is not finite or real.ApfloatRuntimeException
- Since:
- 1.11.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
hypergeometric2F1Regularized
public static Apfloat hypergeometric2F1Regularized(Apfloat a, Apfloat b, Apfloat c, Apfloat x) throws ApfloatRuntimeException Regularized hypergeometric function 2F̃1. Also known as the regularized Gaussian or ordinary hypergeometric function.- Parameters:
a
- The first argument.b
- The second argument.c
- The third argument.x
- The fourth argument.- Returns:
- 2F̃1(a, b; c; x)
- Throws:
ApfloatRuntimeException
- Since:
- 1.13.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
hypergeometricU
public static Apfloat hypergeometricU(Apfloat a, Apfloat b, Apfloat x) throws ArithmeticException, ApfloatRuntimeException Tricomi's confluent hypergeometric function U. Also known as the confluent hypergeometric function of the second kind.- Parameters:
a
- The first argument.b
- The second argument.x
- The third argument.- Returns:
- U(a, b, x)
- Throws:
ArithmeticException
- If the result would be complex or not finite.ApfloatRuntimeException
- Since:
- 1.13.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
erf
Error function.- Parameters:
x
- The argument.- Returns:
- erf(x)
- Throws:
ApfloatRuntimeException
- Since:
- 1.13.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
erfc
Complementary error function.- Parameters:
x
- The argument.- Returns:
- erfc(x)
- Throws:
ApfloatRuntimeException
- Since:
- 1.13.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
erfi
Imaginary error function.- Parameters:
x
- The argument.- Returns:
- erfi(x)
- Throws:
ApfloatRuntimeException
- Since:
- 1.13.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
inverseErf
Inverse error function.- Parameters:
x
- The argument.- Returns:
- erf−1(x)
- Throws:
ArithmeticException
- If|x|
is ≥ 1.ApfloatRuntimeException
- Since:
- 1.13.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
inverseErfc
Inverse complementary error function.- Parameters:
x
- The argument.- Returns:
- erfc−1(x)
- Throws:
ArithmeticException
- Ifx
is ≤ 0 or ≥ 2.ApfloatRuntimeException
- Since:
- 1.13.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
fresnelS
Fresnel integral S.- Parameters:
x
- The argument.- Returns:
- S(x)
- Throws:
ApfloatRuntimeException
- Since:
- 1.13.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
fresnelC
Fresnel integral C.- Parameters:
x
- The argument.- Returns:
- C(x)
- Throws:
ApfloatRuntimeException
- Since:
- 1.13.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
expIntegralE
public static Apfloat expIntegralE(Apfloat ν, Apfloat x) throws ArithmeticException, ApfloatRuntimeException Exponential integral E.- Parameters:
ν
- The first argument.x
- The second argument.- Returns:
- Eν(x)
- Throws:
ArithmeticException
- Ifν
is < 0 andx
is zero orν
is nonzero andx
is negative.ApfloatRuntimeException
- Since:
- 1.13.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
expIntegralEi
Exponential integral Ei.- Parameters:
x
- The argument.- Returns:
- Ei(x)
- Throws:
ArithmeticException
- Ifx
is zero.ApfloatRuntimeException
- Since:
- 1.13.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
logIntegral
Logarithmic integral.- Parameters:
x
- The argument.- Returns:
- li(x)
- Throws:
ArithmeticException
- Ifx
is nonpositive or 1.ApfloatRuntimeException
- Since:
- 1.13.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
sinIntegral
Sine integral.- Parameters:
x
- The argument.- Returns:
- Si(x)
- Throws:
ApfloatRuntimeException
- Since:
- 1.13.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
cosIntegral
Cosine integral.- Parameters:
x
- The argument.- Returns:
- Ci(x)
- Throws:
ArithmeticException
- Ifx
is nonpositive.ApfloatRuntimeException
- Since:
- 1.13.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
sinhIntegral
Hyperbolic sine integral.- Parameters:
x
- The argument.- Returns:
- Shi(x)
- Throws:
ApfloatRuntimeException
- Since:
- 1.13.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
coshIntegral
Hyperbolic cosine integral.- Parameters:
x
- The argument.- Returns:
- Chi(x)
- Throws:
ArithmeticException
- Ifx
is nonpositive.ApfloatRuntimeException
- Since:
- 1.13.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
airyAi
Airy function Ai.- Parameters:
x
- The argument.- Returns:
- Ai(x)
- Throws:
InfiniteExpansionException
- Ifx
is zero.ApfloatRuntimeException
- Since:
- 1.13.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
airyAiPrime
Derivative of the Airy function Ai.- Parameters:
x
- The argument.- Returns:
- Ai′(x)
- Throws:
InfiniteExpansionException
- Ifx
is zero.ApfloatRuntimeException
- Since:
- 1.13.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
airyBi
Airy function Bi.- Parameters:
x
- The argument.- Returns:
- Bi(x)
- Throws:
InfiniteExpansionException
- Ifx
is zero.ApfloatRuntimeException
- Since:
- 1.13.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
airyBiPrime
Derivative of the Airy function Bi.- Parameters:
x
- The argument.- Returns:
- Bi′(x)
- Throws:
InfiniteExpansionException
- Ifx
is zero.ApfloatRuntimeException
- Since:
- 1.13.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
besselJ
public static Apfloat besselJ(Apfloat ν, Apfloat x) throws ArithmeticException, ApfloatRuntimeException Bessel function of the first kind.- Parameters:
ν
- The order.x
- The argument.- Returns:
- Jν(x)
- Throws:
ArithmeticException
- Ifν
is < 0 andν
is not an integer andx
is zero. Also ifν
is not an integer andx
is < 0.ApfloatRuntimeException
- Since:
- 1.13.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
besselI
public static Apfloat besselI(Apfloat ν, Apfloat x) throws ArithmeticException, ApfloatRuntimeException Modified Bessel function of the first kind.- Parameters:
ν
- The order.x
- The argument.- Returns:
- Iν(x)
- Throws:
ArithmeticException
- Ifν
is < 0 andν
is not an integer andx
is zero. Also ifν
is not an integer andx
is < 0.ApfloatRuntimeException
- Since:
- 1.13.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
besselY
public static Apfloat besselY(Apfloat ν, Apfloat x) throws ArithmeticException, ApfloatRuntimeException Bessel function of the second kind.- Parameters:
ν
- The order.x
- The argument.- Returns:
- Yν(x)
- Throws:
ArithmeticException
- Ifx
is ≤ 0.ApfloatRuntimeException
- Since:
- 1.13.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
besselK
public static Apfloat besselK(Apfloat ν, Apfloat x) throws ArithmeticException, ApfloatRuntimeException Modified Bessel function of the second kind.- Parameters:
ν
- The order.x
- The argument.- Returns:
- Kν(x)
- Throws:
ArithmeticException
- Ifx
is ≤ 0.ApfloatRuntimeException
- Since:
- 1.13.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
ellipticK
Complete elliptic integral of the first kind.Note that this function uses the definition:
- Parameters:
x
- The argument.- Returns:
- K(x)
- Throws:
InfiniteExpansionException
- Ifx
is zero.ArithmeticException
- Ifx
is ≥ 1.ApfloatRuntimeException
- Since:
- 1.13.0
-
ellipticE
Complete elliptic integral of the second kind.Note that this function uses the definition:
- Parameters:
x
- The argument.- Returns:
- E(x)
- Throws:
InfiniteExpansionException
- Ifx
is zero.ArithmeticException
- Ifx
is > 1.ApfloatRuntimeException
- Since:
- 1.13.0
-
hermiteH
Hermite function. For integer values ofν
gives the Hermite polynomial.- Parameters:
ν
- The first argument.x
- The second argument.- Returns:
- Hν(x)
- Throws:
ApfloatRuntimeException
- Since:
- 1.14.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
laguerreL
Laguerre function. For integer values ofν
gives the Laguerre polynomial.- Parameters:
ν
- The first argument.x
- The second argument.- Returns:
- Lν(x)
- Throws:
ApfloatRuntimeException
- Since:
- 1.14.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
laguerreL
Generalized Laguerre function. For integer values ofν
gives the generalized Laguerre polynomial.- Parameters:
ν
- The first argument.λ
- The second argument.x
- The third argument.- Returns:
- Lνλ(x)
- Throws:
ApfloatRuntimeException
- Since:
- 1.14.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
legendreP
public static Apfloat legendreP(Apfloat ν, Apfloat x) throws ArithmeticException, ApfloatRuntimeException Legendre function. For integer values ofν
gives the Legendre polynomial.- Parameters:
ν
- The first argument.x
- The second argument.- Returns:
- Pν(x)
- Throws:
ArithmeticException
- Ifν
is not an integer andx
≤ -1.ApfloatRuntimeException
- Since:
- 1.14.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
legendreP
public static Apfloat legendreP(Apfloat ν, Apfloat μ, Apfloat x) throws ArithmeticException, ApfloatRuntimeException Associated Legendre function of the first kind. Gives Legendre functions of type 2.- Parameters:
ν
- The first argument.μ
- The second argument.x
- The third argument.- Returns:
- Pνμ(x)
- Throws:
ArithmeticException
- Ifx
is ≤ -1 or ≥ 1 andν
orμ
is not an integer orμ
is not even orμ
is not positive and-μ
≤ν
<μ
.ApfloatRuntimeException
- Since:
- 1.14.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
legendreQ
public static Apfloat legendreQ(Apfloat ν, Apfloat x) throws ArithmeticException, ApfloatRuntimeException Legendre function of the second kind.- Parameters:
ν
- The first argument.x
- The second argument.- Returns:
- Qν(x)
- Throws:
ArithmeticException
- Ifx
is ≥ 1 or ≤ -1.ApfloatRuntimeException
- Since:
- 1.14.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
legendreQ
public static Apfloat legendreQ(Apfloat ν, Apfloat μ, Apfloat x) throws ArithmeticException, ApfloatRuntimeException Associated Legendre function of the second kind. Gives Legendre functions of type 2.- Parameters:
ν
- The first argument.μ
- The second argument.x
- The third argument.- Returns:
- Qνμ(x)
- Throws:
ArithmeticException
- Ifx
is ≥ 1 or ≤ -1.ApfloatRuntimeException
- Since:
- 1.14.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
chebyshevT
public static Apfloat chebyshevT(Apfloat ν, Apfloat x) throws ArithmeticException, ApfloatRuntimeException Chebyshev function of the first kind. For integer values ofν
gives the Chebyshev polynomial of the first kind.- Parameters:
ν
- The first argument.x
- The second argument.- Returns:
- Tν(x)
- Throws:
ArithmeticException
- Ifx
is < -1 andν
is not an integer.ApfloatRuntimeException
- Since:
- 1.14.0
-
chebyshevU
public static Apfloat chebyshevU(Apfloat ν, Apfloat x) throws ArithmeticException, ApfloatRuntimeException Chebyshev function of the second kind. For integer values ofν
gives the Chebyshev polynomial of the second kind.- Parameters:
ν
- The first argument.x
- The second argument.- Returns:
- Uν(x)
- Throws:
ArithmeticException
- Ifx
is ≤ -1 andν
is not an integer.ApfloatRuntimeException
- Since:
- 1.14.0
-
gegenbauerC
public static Apfloat gegenbauerC(Apfloat ν, Apfloat x) throws ArithmeticException, ApfloatRuntimeException Renormalized Gegenbauer function.- Parameters:
ν
- The first argument.x
- The second argument.- Returns:
- Cν(0)(x)
- Throws:
ArithmeticException
- Ifν
is zero. Also ifx
is < -1 andν
is not an integer.ApfloatRuntimeException
- Since:
- 1.14.0
-
gegenbauerC
public static Apfloat gegenbauerC(Apfloat ν, Apfloat λ, Apfloat x) throws ArithmeticException, ApfloatRuntimeException Gegenbauer function. For nonnegative integer values ofν
gives the Gegenbauer polynomial.- Parameters:
ν
- The first argument.λ
- The second argument.x
- The third argument.- Returns:
- Cνλ(x)
- Throws:
ArithmeticException
- Ifx
is < -1 andν
is not an integer. Also ifx
is -1 andλ
is > 1/2. Also ifx
is -1 andλ
is 1/2 andν
is not an integer.ApfloatRuntimeException
- Since:
- 1.14.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
jacobiP
public static Apfloat jacobiP(Apfloat ν, Apfloat a, Apfloat b, Apfloat x) throws ArithmeticException, ApfloatRuntimeException Jacobi function. For nonnegative integer values ofν
gives the Jacobi polynomial.- Parameters:
ν
- The first argument.a
- The second argument.b
- The third argument.x
- The fourth argument.- Returns:
- Pν(a,b)(x)
- Throws:
ArithmeticException
- Ifν
is not a positive integer and eitherx
is -1 andb
is > 0 orx
is < -1. Also ifν + a
is a negative integer andν
is not an integer.ApfloatRuntimeException
- Since:
- 1.14.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
fibonacci
Fibonacci function. For nonnegative integer values ofν
gives the Fibonacci polynomial.- Parameters:
ν
- The first argument.x
- The second argument.- Returns:
- Fν(x)
- Throws:
ApfloatRuntimeException
- Since:
- 1.14.0
-
eulerE
public static Apfloat eulerE(long n, Apfloat x) throws IllegalArgumentException, ApfloatRuntimeException Euler polynomial.- Parameters:
n
- The first argument.x
- The second argument.- Returns:
- En(x)
- Throws:
IllegalArgumentException
- Ifn
< 0.ApfloatRuntimeException
- Since:
- 1.14.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
bernoulliB
public static Apfloat bernoulliB(long n, Apfloat x) throws IllegalArgumentException, ApfloatRuntimeException Bernoulli polynomial.- Parameters:
n
- The first argument.x
- The second argument.- Returns:
- Bn(x)
- Throws:
IllegalArgumentException
- Ifn
< 0.ApfloatRuntimeException
- Since:
- 1.14.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
harmonicNumber
Harmonic number.- Parameters:
x
- The argument.- Returns:
- Hx
- Throws:
ArithmeticException
- Ifx
is a negative integer.ApfloatRuntimeException
- Since:
- 1.14.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
harmonicNumber
public static Apfloat harmonicNumber(Apfloat x, Apfloat r) throws ArithmeticException, ApfloatRuntimeException Generalized harmonic number.- Parameters:
x
- The first argument.r
- The second argument.- Returns:
- Hx(r)
- Throws:
ArithmeticException
- Ifx
is a negative integer, unlessr
is a nonpositive integer. Also ifx
is < -1 andr
is not an integer.ApfloatRuntimeException
- Since:
- 1.14.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
polylog
public static Apfloat polylog(Apfloat ν, Apfloat x) throws ArithmeticException, ApfloatRuntimeException Polylogarithm.- Parameters:
ν
- The first argument.x
- The second argument.- Returns:
- Liν(x)
- Throws:
ArithmeticException
- Ifν
is ≤ 1 andx
is 1 or ifx
is > 1.ApfloatRuntimeException
- Since:
- 1.14.0
- Implementation notes:
- This implementation is slow, meaning that it isn't a fast algorithm. It is impractically slow beyond a precision of a few thousand digits. At the time of implementation no generic fast algorithm is known for the function.
-
logisticSigmoid
Logistic sigmoid.- Parameters:
x
- The argument.- Returns:
- σ(x)
- Throws:
ApfloatRuntimeException
- Since:
- 1.14.0
-
random
Generates a random number. Uses the default radix. Returned values are chosen pseudorandomly with (approximately) uniform distribution from the range0 ≤ x < 1
. The generated random numbers may have leading zeros and may thus not always have exactly the requested number of significant digits. The precision of the numbers is the requested number of digits minus the number of leading zeros. Trailing zeros do not affect the precision.- Parameters:
digits
- Maximum number of digits in the number.- Returns:
- A random number, uniformly distributed between
0 ≤ x < 1
. - Throws:
NumberFormatException
- If the default radix is not valid.IllegalArgumentException
- In case the number of specified digits is invalid.- Since:
- 1.9.0
-
random
Generates a random number. Returned values are chosen pseudorandomly with (approximately) uniform distribution from the range0 ≤ x < 1
. The generated random numbers may have leading zeros and may thus not always have exactly the requested number of significant digits. The precision of the numbers is the requested number of digits minus the number of leading zeros. Trailing zeros do not affect the precision.- Parameters:
digits
- Maximum number of digits in the number.radix
- The radix in which the number should be generated.- Returns:
- A random number, uniformly distributed between
0 ≤ x < 1
, in baseradix
. - Throws:
NumberFormatException
- If the radix is not valid.IllegalArgumentException
- In case the number of specified digits is invalid.- Since:
- 1.9.0
-
randomGaussian
Generates a random, Gaussian ("normally") distributed number value with mean 0 and standard deviation 1. Uses the default radix.- Parameters:
digits
- Maximum number of digits in the number.- Returns:
- A random number, Gaussian ("normally") distributed with mean 0 and standard deviation 1.
- Throws:
NumberFormatException
- If the default radix is not valid.IllegalArgumentException
- In case the number of specified digits is invalid.- Since:
- 1.9.0
-
randomGaussian
Generates a random, Gaussian ("normally") distributed number value with mean 0 and standard deviation 1. Uses the default radix.- Parameters:
digits
- Maximum number of digits in the number.radix
- The radix in which the number should be generated.- Returns:
- A random number, Gaussian ("normally") distributed with mean 0 and standard deviation 1.
- Throws:
NumberFormatException
- If the radix is not valid.IllegalArgumentException
- In case the number of specified digits is invalid.- Since:
- 1.9.0
-
continuedFraction
Generates the firstn
terms in the continued fraction representation ofx
.Note that the result length might be less than
n
, depending on the input value and precision. The last terms could be incorrect due to accumulating round-off errors.- Parameters:
x
- The number whose continued fraction terms should be generated.n
- The maximum number of terms to generate.- Returns:
- The continued fraction.
- Throws:
IllegalArgumentException
- Ifn
is less than one.- Since:
- 1.12.0
-
convergents
Generates the firstn
convergents corresponding to the continued fraction ofx
.Note that the result length might be less than
n
, depending on the input value and precision. The last convergents could be incorrect due to accumulating round-off errors.- Parameters:
x
- The number whose continued fraction convergents should be generated.n
- The maximum number of convergents to generate.- Returns:
- The convergents.
- Throws:
IllegalArgumentException
- Ifn
is less than one.- Since:
- 1.12.0
-
max
-
min
-
nextAfter
Returns the number adjacent to the first argument in the direction of the second argument, considering the scale and precision of the first argument. If the precision of the first argument is infinite, the first argument is returned. If both arguments compare as equal then the first argument is returned.- Parameters:
start
- The starting value.direction
- Value indicating which ofstart
's neighbors orstart
should be returned.- Returns:
- The number adjacent to
start
in the direction ofdirection
. - Since:
- 1.10.0
-
nextUp
Returns the number adjacent to the argument in the direction of positive infinity, considering the scale and precision of the argument. If the precision of the argument is infinite, the argument is returned.- Parameters:
x
- The starting value.- Returns:
- The adjacent value closer to positive infinity.
- Since:
- 1.10.0
-
nextDown
Returns the number adjacent to the argument in the direction of negative infinity, considering the scale and precision of the argument. If the precision of the argument is infinite, the argument is returned.- Parameters:
x
- The starting value.- Returns:
- The adjacent value closer to negative infinity.
- Since:
- 1.10.0
-
ulp
Returns the unit in the last place of the argument, considering the scale and precision. This is same as the difference between the argument and the value returned fromnextUp(Apfloat)
. If the precision of the argument is infinite, zero is returned.For example, ulp of
1.
is1
, ulp of1.1
is0.1
and ulp of1.001
is0.001
(considering significant digits only).- Parameters:
x
- The argument.- Returns:
- The ulp of the argument.
- Since:
- 1.10.0
-
Apfloat.negate()
.