Class BigReal

java.lang.Object
org.apache.commons.math4.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
See Also:
Serialized Form
  • Field Summary

    Fields 
    Modifier and Type Field Description
    static BigReal ONE
    A big real representing 1.
    static BigReal ZERO
    A 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

    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 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​(int n)
    Compute n × this.
    BigReal multiply​(BigReal a)
    Compute this × a.
    BigReal negate()
    Returns the additive inverse of this element.
    BigReal reciprocal()
    Returns the multiplicative inverse of this element.
    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 Details

    • ZERO

      public static final BigReal ZERO
      A big real representing 0.
    • ONE

      public static final BigReal ONE
      A big real representing 1.
  • Constructor Details

    • 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 Details

    • 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
    • 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 divide by
      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 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