org.apache.commons.math3.util

## Class BigReal

- java.lang.Object
- - 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 1294043 2012-02-27 06:32:59Z celestin $
  See Also:
    Serialized Form

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static BigReal` | `ONE` A big real representing 1.
    `static BigReal` | `ZERO` A big real representing 0.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `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

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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)

      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()

      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-2012 The Apache Software Foundation. All Rights Reserved.