## 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 the `FieldElement` interface.

Since:
  2.0
Version:
  $Revision: 925812 $ $Date: 2010-03-21 11:49:31 -0400 (Sun, 21 Mar 2010) $
See Also:
  Serialized Form

Field Summary
`private java.math.BigDecimal` `d` Underlying BigDecimal.
`static BigReal` `ONE` A big real representing 1.
`private java.math.RoundingMode` `roundingMode` Rounding mode for divisions.
`private int` `scale` BigDecimal scale
`private static long` `serialVersionUID` Serializable version identifier.
`static BigReal` `ZERO` A big real representing 0.

Constructor Summary
`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.
`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.

Method Summary
`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 the `Field` to which the instance belongs.
`java.math.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.
`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.

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.

### 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 value
    `scale` - 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 value
    `scale` - scale to use
    `mc` - to used

### BigReal

    public BigReal(java.math.BigInteger val,
                   java.math.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,
                   java.math.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,
                   java.math.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,
                   java.math.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,
                   java.math.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,
                   java.math.MathContext mc)

  Build an instance from a long.

  Parameters:
    `val` - value of the instance
    `mc` - 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 value
    `mc` - context to use

Method Detail

### getRoundingMode

    public java.math.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(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 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

### divide

    public BigReal divide(BigReal a)
                   throws java.lang.ArithmeticException

  Compute this ÷ a.

  Specified by:
    `divide` in interface `FieldElement<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 interface `FieldElement<BigReal>`
  Parameters:
    `a` - element to multiply
  Returns:
    a new element representing this × a

### compareTo

    public int compareTo(BigReal a)

  Specified by:
    `compareTo` in interface `java.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 class `java.lang.Object`

### hashCode

    public int hashCode()

  Overrides:
    `hashCode` in class `java.lang.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 (c) 2003-2010 Apache Software Foundation