Class 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.
    • 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​(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