org.apache.commons.math3.util
Class BigReal

java.lang.Object
  extended by org.apache.commons.math3.util.BigReal
All Implemented Interfaces:
Serializable, Comparable<BigReal>, FieldElement<BigReal>

public class BigReal
extends Object
implements FieldElement<BigReal>, Comparable<BigReal>, Serializable

Arbitrary precision decimal number.

This class is a simple wrapper around the standard BigDecimal in order to implement the FieldElement interface.

Since:
2.0
Version:
$Id: BigReal.java 1416643 2012-12-03 19:37:14Z tn $
See Also:
Serialized Form

Field Summary
static BigReal ONE
          A big real representing 1.
static BigReal ZERO
          A big real representing 0.
 
Constructor Summary
BigReal(BigDecimal val)
          Build an instance from a BigDecimal.
BigReal(BigInteger val)
          Build an instance from a BigInteger.
BigReal(BigInteger unscaledVal, int scale)
          Build an instance from an unscaled BigInteger.
BigReal(BigInteger unscaledVal, int scale, MathContext mc)
          Build an instance from an unscaled BigInteger.
BigReal(BigInteger val, MathContext mc)
          Build an instance from a BigInteger.
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, MathContext mc)
          Build an instance from a characters representation.
BigReal(char[] in, MathContext mc)
          Build an instance from a characters representation.
BigReal(double val)
          Build an instance from a double.
BigReal(double val, MathContext mc)
          Build an instance from a double.
BigReal(int val)
          Build an instance from an int.
BigReal(int val, MathContext mc)
          Build an instance from an int.
BigReal(long val)
          Build an instance from a long.
BigReal(long val, MathContext mc)
          Build an instance from a long.
BigReal(String val)
          Build an instance from a String representation.
BigReal(String val, MathContext mc)
          Build an instance from a String representation.
 
Method Summary
 BigReal add(BigReal a)
          Compute this + a.
 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(Object other)
          
 Field<BigReal> getField()
          Get the Field to which the instance belongs.
 RoundingMode getRoundingMode()
          Gets the rounding mode for division operations The default is RoundingMode.HALF_UP
 int getScale()
          Sets the scale for division operations.
 int hashCode()
          
 BigReal multiply(BigReal a)
          Compute this × a.
 BigReal multiply(int n)
          Compute n × this.
 BigReal negate()
          Returns the additive inverse of this element.
 BigReal reciprocal()
          Returns the multiplicative inverse of this element.
 void setRoundingMode(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.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ZERO

public static final BigReal ZERO
A big real representing 0.


ONE

public static final BigReal ONE
A big real representing 1.

Constructor Detail

BigReal

public BigReal(BigDecimal val)
Build an instance from a BigDecimal.

Parameters:
val - value of the instance

BigReal

public BigReal(BigInteger val)
Build an instance from a BigInteger.

Parameters:
val - value of the instance

BigReal

public BigReal(BigInteger unscaledVal,
               int scale)
Build an instance from an unscaled BigInteger.

Parameters:
unscaledVal - unscaled value
scale - scale to use

BigReal

public BigReal(BigInteger unscaledVal,
               int scale,
               MathContext mc)
Build an instance from an unscaled BigInteger.

Parameters:
unscaledVal - unscaled value
scale - scale to use
mc - to used

BigReal

public BigReal(BigInteger val,
               MathContext mc)
Build an instance from a BigInteger.

Parameters:
val - value of the instance
mc - 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 value
offset - offset of the first character to analyze
len - length of the array slice to analyze

BigReal

public BigReal(char[] in,
               int offset,
               int len,
               MathContext mc)
Build an instance from a characters representation.

Parameters:
in - character representation of the value
offset - offset of the first character to analyze
len - length of the array slice to analyze
mc - context to use

BigReal

public BigReal(char[] in,
               MathContext mc)
Build an instance from a characters representation.

Parameters:
in - character representation of the value
mc - 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,
               MathContext mc)
Build an instance from a double.

Parameters:
val - value of the instance
mc - 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,
               MathContext mc)
Build an instance from an int.

Parameters:
val - value of the instance
mc - 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,
               MathContext mc)
Build an instance from a long.

Parameters:
val - value of the instance
mc - context to use

BigReal

public BigReal(String val)
Build an instance from a String representation.

Parameters:
val - character representation of the value

BigReal

public BigReal(String val,
               MathContext mc)
Build an instance from a String representation.

Parameters:
val - character representation of the value
mc - context to use
Method Detail

getRoundingMode

public RoundingMode getRoundingMode()
Gets the rounding mode for division operations The default is RoundingMode.HALF_UP

Returns:
the rounding mode.
Since:
2.1

setRoundingMode

public void setRoundingMode(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 interface FieldElement<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 interface FieldElement<BigReal>
Parameters:
a - element to subtract
Returns:
a new element representing this - a

negate

public BigReal negate()
Returns the additive inverse of this element.

Specified by:
negate in interface FieldElement<BigReal>
Returns:
the opposite of this.

divide

public BigReal divide(BigReal a)
               throws MathArithmeticException
Compute this ÷ a.

Specified by:
divide in interface FieldElement<BigReal>
Parameters:
a - element to add
Returns:
a new element representing this ÷ a
Throws:
MathArithmeticException - if a is zero

reciprocal

public BigReal reciprocal()
                   throws MathArithmeticException
Returns the multiplicative inverse of this element.

Specified by:
reciprocal in interface FieldElement<BigReal>
Returns:
the inverse of this.
Throws:
MathArithmeticException - if this is zero

multiply

public BigReal multiply(BigReal a)
Compute this × a.

Specified by:
multiply in interface FieldElement<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 sum
n × this = ∑i=1n this.

Specified by:
multiply in interface FieldElement<BigReal>
Parameters:
n - Number of times this must be added to itself.
Returns:
A new element representing n × this.

compareTo

public int compareTo(BigReal a)

Specified by:
compareTo in interface Comparable<BigReal>

doubleValue

public double doubleValue()
Get the double value corresponding to the instance.

Returns:
double value corresponding to the instance

bigDecimalValue

public BigDecimal bigDecimalValue()
Get the BigDecimal value corresponding to the instance.

Returns:
BigDecimal value corresponding to the instance

equals

public boolean equals(Object other)

Overrides:
equals in class Object

hashCode

public int hashCode()

Overrides:
hashCode in class Object

getField

public Field<BigReal> getField()
Get the Field to which the instance belongs.

Specified by:
getField in interface FieldElement<BigReal>
Returns:
Field to which the instance belongs


Copyright © 2003-2013 The Apache Software Foundation. All Rights Reserved.