Package org.apache.commons.math.util
Class BigReal
- java.lang.Object
-
- org.apache.commons.math.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
BigDecimal
in order to implement theFieldElement
interface.- Since:
- 2.0
- See Also:
- Serialized Form
-
-
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 BigReal
add(BigReal a)
Compute this + a.java.math.BigDecimal
bigDecimalValue()
Get the BigDecimal value corresponding to the instance.int
compareTo(BigReal a)
BigReal
divide(BigReal a)
Compute this ÷ a.double
doubleValue()
Get the double value corresponding to the instance.boolean
equals(java.lang.Object other)
Field<BigReal>
getField()
Get theField
to which the instance belongs.java.math.RoundingMode
getRoundingMode()
Gets the rounding mode for division operations The default isRoundingMode.HALF_UP
int
getScale()
Sets the scale for division operations.int
hashCode()
BigReal
multiply(BigReal a)
Compute this × a.void
setRoundingMode(java.math.RoundingMode roundingMode)
Sets the rounding mode for decimal divisions.void
setScale(int scale)
Sets the scale for division operations.BigReal
subtract(BigReal a)
Compute this - a.
-
-
-
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:
add
in 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:
subtract
in interfaceFieldElement<BigReal>
- Parameters:
a
- element to subtract- Returns:
- a new element representing this - a
-
divide
public BigReal divide(BigReal a) throws java.lang.ArithmeticException
Compute this ÷ a.- Specified by:
divide
in interfaceFieldElement<BigReal>
- Parameters:
a
- element to add- Returns:
- a new element representing this ÷ a
- Throws:
java.lang.ArithmeticException
- if a is the zero of the additive operation (i.e. additive identity)
-
multiply
public BigReal multiply(BigReal a)
Compute this × a.- Specified by:
multiply
in interfaceFieldElement<BigReal>
- Parameters:
a
- element to multiply- Returns:
- a new element representing this × a
-
compareTo
public int compareTo(BigReal a)
- Specified by:
compareTo
in 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:
equals
in classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
-