Package org.apache.commons.math3.util
Class BigReal
- java.lang.Object
-
- org.apache.commons.math3.util.BigReal
-
- All Implemented Interfaces:
java.io.Serializable,java.lang.Comparable<BigReal>,FieldElement<BigReal>
public class BigReal extends java.lang.Object implements FieldElement<BigReal>, java.lang.Comparable<BigReal>, java.io.Serializable
Arbitrary precision decimal number.This class is a simple wrapper around the standard
BigDecimalin order to implement theFieldElementinterface.- Since:
- 2.0
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description private java.math.BigDecimaldUnderlying BigDecimal.static BigRealONEA big real representing 1.private java.math.RoundingModeroundingModeRounding mode for divisions.private intscaleBigDecimal scaleprivate static longserialVersionUIDSerializable version identifier.static BigRealZEROA big real representing 0.
-
Constructor Summary
Constructors Constructor Description BigReal(char[] in)Build an instance from a characters representation.BigReal(char[] in, int offset, int len)Build an instance from a characters representation.BigReal(char[] in, int offset, int len, java.math.MathContext mc)Build an instance from a characters representation.BigReal(char[] in, java.math.MathContext mc)Build an instance from a characters representation.BigReal(double val)Build an instance from a double.BigReal(double val, java.math.MathContext mc)Build an instance from a double.BigReal(int val)Build an instance from an int.BigReal(int val, java.math.MathContext mc)Build an instance from an int.BigReal(long val)Build an instance from a long.BigReal(long val, java.math.MathContext mc)Build an instance from a long.BigReal(java.lang.String val)Build an instance from a String representation.BigReal(java.lang.String val, java.math.MathContext mc)Build an instance from a String representation.BigReal(java.math.BigDecimal val)Build an instance from a BigDecimal.BigReal(java.math.BigInteger val)Build an instance from a BigInteger.BigReal(java.math.BigInteger unscaledVal, int scale)Build an instance from an unscaled BigInteger.BigReal(java.math.BigInteger unscaledVal, int scale, java.math.MathContext mc)Build an instance from an unscaled BigInteger.BigReal(java.math.BigInteger val, java.math.MathContext mc)Build an instance from a BigInteger.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description BigRealadd(BigReal a)Compute this + a.java.math.BigDecimalbigDecimalValue()Get the BigDecimal value corresponding to the instance.intcompareTo(BigReal a)BigRealdivide(BigReal a)Compute this ÷ a.doubledoubleValue()Get the double value corresponding to the instance.booleanequals(java.lang.Object other)Field<BigReal>getField()Get theFieldto which the instance belongs.java.math.RoundingModegetRoundingMode()Gets the rounding mode for division operations The default isRoundingMode.HALF_UPintgetScale()Sets the scale for division operations.inthashCode()BigRealmultiply(int n)Compute n × this.BigRealmultiply(BigReal a)Compute this × a.BigRealnegate()Returns the additive inverse ofthiselement.BigRealreciprocal()Returns the multiplicative inverse ofthiselement.voidsetRoundingMode(java.math.RoundingMode roundingMode)Sets the rounding mode for decimal divisions.voidsetScale(int scale)Sets the scale for division operations.BigRealsubtract(BigReal a)Compute this - a.
-
-
-
Field Detail
-
ZERO
public static final BigReal ZERO
A big real representing 0.
-
ONE
public static final BigReal ONE
A big real representing 1.
-
serialVersionUID
private static final long serialVersionUID
Serializable version identifier.- See Also:
- Constant Field Values
-
d
private final java.math.BigDecimal d
Underlying BigDecimal.
-
roundingMode
private java.math.RoundingMode roundingMode
Rounding mode for divisions.
-
scale
private int scale
BigDecimal scale
-
-
Constructor Detail
-
BigReal
public BigReal(java.math.BigDecimal val)
Build an instance from a BigDecimal.- Parameters:
val- value of the instance
-
BigReal
public BigReal(java.math.BigInteger val)
Build an instance from a BigInteger.- Parameters:
val- value of the instance
-
BigReal
public BigReal(java.math.BigInteger unscaledVal, int scale)Build an instance from an unscaled BigInteger.- Parameters:
unscaledVal- unscaled valuescale- scale to use
-
BigReal
public BigReal(java.math.BigInteger unscaledVal, int scale, java.math.MathContext mc)Build an instance from an unscaled BigInteger.- Parameters:
unscaledVal- unscaled valuescale- scale to usemc- to used
-
BigReal
public BigReal(java.math.BigInteger val, java.math.MathContext mc)Build an instance from a BigInteger.- Parameters:
val- value of the instancemc- context to use
-
BigReal
public BigReal(char[] in)
Build an instance from a characters representation.- Parameters:
in- character representation of the value
-
BigReal
public BigReal(char[] in, int offset, int len)Build an instance from a characters representation.- Parameters:
in- character representation of the valueoffset- offset of the first character to analyzelen- length of the array slice to analyze
-
BigReal
public BigReal(char[] in, int offset, int len, java.math.MathContext mc)Build an instance from a characters representation.- Parameters:
in- character representation of the valueoffset- offset of the first character to analyzelen- length of the array slice to analyzemc- context to use
-
BigReal
public BigReal(char[] in, java.math.MathContext mc)Build an instance from a characters representation.- Parameters:
in- character representation of the valuemc- context to use
-
BigReal
public BigReal(double val)
Build an instance from a double.- Parameters:
val- value of the instance
-
BigReal
public BigReal(double val, java.math.MathContext mc)Build an instance from a double.- Parameters:
val- value of the instancemc- context to use
-
BigReal
public BigReal(int val)
Build an instance from an int.- Parameters:
val- value of the instance
-
BigReal
public BigReal(int val, java.math.MathContext mc)Build an instance from an int.- Parameters:
val- value of the instancemc- context to use
-
BigReal
public BigReal(long val)
Build an instance from a long.- Parameters:
val- value of the instance
-
BigReal
public BigReal(long val, java.math.MathContext mc)Build an instance from a long.- Parameters:
val- value of the instancemc- context to use
-
BigReal
public BigReal(java.lang.String val)
Build an instance from a String representation.- Parameters:
val- character representation of the value
-
BigReal
public BigReal(java.lang.String val, java.math.MathContext mc)Build an instance from a String representation.- Parameters:
val- character representation of the valuemc- context to use
-
-
Method Detail
-
getRoundingMode
public java.math.RoundingMode getRoundingMode()
Gets the rounding mode for division operations The default isRoundingMode.HALF_UP- Returns:
- the rounding mode.
- Since:
- 2.1
-
setRoundingMode
public void setRoundingMode(java.math.RoundingMode roundingMode)
Sets the rounding mode for decimal divisions.- Parameters:
roundingMode- rounding mode for decimal divisions- Since:
- 2.1
-
getScale
public int getScale()
Sets the scale for division operations. The default is 64- Returns:
- the scale
- Since:
- 2.1
-
setScale
public void setScale(int scale)
Sets the scale for division operations.- Parameters:
scale- scale for division operations- Since:
- 2.1
-
add
public BigReal add(BigReal a)
Compute this + a.- Specified by:
addin interfaceFieldElement<BigReal>- Parameters:
a- element to add- Returns:
- a new element representing this + a
-
subtract
public BigReal subtract(BigReal a)
Compute this - a.- Specified by:
subtractin interfaceFieldElement<BigReal>- Parameters:
a- element to subtract- Returns:
- a new element representing this - a
-
negate
public BigReal negate()
Returns the additive inverse ofthiselement.- Specified by:
negatein interfaceFieldElement<BigReal>- Returns:
- the opposite of
this.
-
divide
public BigReal divide(BigReal a) throws MathArithmeticException
Compute this ÷ a.- Specified by:
dividein interfaceFieldElement<BigReal>- Parameters:
a- element to divide by- Returns:
- a new element representing this ÷ a
- Throws:
MathArithmeticException- ifais zero
-
reciprocal
public BigReal reciprocal() throws MathArithmeticException
Returns the multiplicative inverse ofthiselement.- Specified by:
reciprocalin interfaceFieldElement<BigReal>- Returns:
- the inverse of
this. - Throws:
MathArithmeticException- ifthisis zero
-
multiply
public BigReal multiply(BigReal a)
Compute this × a.- Specified by:
multiplyin interfaceFieldElement<BigReal>- Parameters:
a- element to multiply- Returns:
- a new element representing this × a
-
multiply
public BigReal multiply(int n)
Compute n × this. Multiplication by an integer number is defined as the following sumn × this = ∑i=1n this. - Specified by:
multiplyin interfaceFieldElement<BigReal>- Parameters:
n- Number of timesthismust be added to itself.- Returns:
- A new element representing n × this.
-
compareTo
public int compareTo(BigReal a)
- Specified by:
compareToin interfacejava.lang.Comparable<BigReal>
-
doubleValue
public double doubleValue()
Get the double value corresponding to the instance.- Returns:
- double value corresponding to the instance
-
bigDecimalValue
public java.math.BigDecimal bigDecimalValue()
Get the BigDecimal value corresponding to the instance.- Returns:
- BigDecimal value corresponding to the instance
-
equals
public boolean equals(java.lang.Object other)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
-