Class DfpDec

  • All Implemented Interfaces:
    CalculusFieldElement<Dfp>, FieldElement<Dfp>

    public class DfpDec
    extends Dfp
    Subclass of Dfp which hides the radix-10000 artifacts of the superclass. This should give outward appearances of being a decimal number with DIGITS*4-3 decimal digits. This class can be subclassed to appear to be an arbitrary number of decimal digits less than DIGITS*4-3.
    • Constructor Detail

      • DfpDec

        protected DfpDec​(DfpField factory)
        Makes an instance with a value of zero.
        Parameters:
        factory - factory linked to this instance
      • DfpDec

        protected DfpDec​(DfpField factory,
                         byte x)
        Create an instance from a byte value.
        Parameters:
        factory - factory linked to this instance
        x - value to convert to an instance
      • DfpDec

        protected DfpDec​(DfpField factory,
                         int x)
        Create an instance from an int value.
        Parameters:
        factory - factory linked to this instance
        x - value to convert to an instance
      • DfpDec

        protected DfpDec​(DfpField factory,
                         long x)
        Create an instance from a long value.
        Parameters:
        factory - factory linked to this instance
        x - value to convert to an instance
      • DfpDec

        protected DfpDec​(DfpField factory,
                         double x)
        Create an instance from a double value.
        Parameters:
        factory - factory linked to this instance
        x - value to convert to an instance
      • DfpDec

        public DfpDec​(Dfp d)
        Copy constructor.
        Parameters:
        d - instance to copy
      • DfpDec

        protected DfpDec​(DfpField factory,
                         String s)
        Create an instance from a String representation.
        Parameters:
        factory - factory linked to this instance
        s - string representation of the instance
      • DfpDec

        protected DfpDec​(DfpField factory,
                         byte sign,
                         byte nans)
        Creates an instance with a non-finite value.
        Parameters:
        factory - factory linked to this instance
        sign - sign of the Dfp to create
        nans - code of the value, must be one of Dfp.INFINITE, Dfp.SNAN, Dfp.QNAN
    • Method Detail

      • newInstance

        public Dfp newInstance()
        Create an instance with a value of 0. Use this internally in preference to constructors to facilitate subclasses
        Overrides:
        newInstance in class Dfp
        Returns:
        a new instance with a value of 0
      • newInstance

        public Dfp newInstance​(byte x)
        Create an instance from a byte value.
        Overrides:
        newInstance in class Dfp
        Parameters:
        x - value to convert to an instance
        Returns:
        a new instance with value x
      • newInstance

        public Dfp newInstance​(int x)
        Create an instance from an int value.
        Overrides:
        newInstance in class Dfp
        Parameters:
        x - value to convert to an instance
        Returns:
        a new instance with value x
      • newInstance

        public Dfp newInstance​(long x)
        Create an instance from a long value.
        Overrides:
        newInstance in class Dfp
        Parameters:
        x - value to convert to an instance
        Returns:
        a new instance with value x
      • newInstance

        public Dfp newInstance​(double x)
        Create an instance corresponding to a constant real value.
        Specified by:
        newInstance in interface CalculusFieldElement<Dfp>
        Overrides:
        newInstance in class Dfp
        Parameters:
        x - constant real value
        Returns:
        instance corresponding to a constant real value
      • newInstance

        public Dfp newInstance​(Dfp d)
        Create an instance by copying an existing one. Use this internally in preference to constructors to facilitate subclasses.
        Overrides:
        newInstance in class Dfp
        Parameters:
        d - instance to copy
        Returns:
        a new instance with the same value as d
      • newInstance

        public Dfp newInstance​(String s)
        Create an instance from a String representation. Use this internally in preference to constructors to facilitate subclasses.
        Overrides:
        newInstance in class Dfp
        Parameters:
        s - string representation of the instance
        Returns:
        a new instance parsed from specified string
      • newInstance

        public Dfp newInstance​(byte sign,
                               byte nans)
        Creates an instance with a non-finite value.
        Overrides:
        newInstance in class Dfp
        Parameters:
        sign - sign of the Dfp to create
        nans - code of the value, must be one of Dfp.INFINITE, Dfp.SNAN, Dfp.QNAN
        Returns:
        a new instance with a non-finite value
      • getDecimalDigits

        protected int getDecimalDigits()
        Get the number of decimal digits this class is going to represent. Default implementation returns Dfp.getRadixDigits()*4-3. Subclasses can override this to return something less.
        Returns:
        number of decimal digits this class is going to represent
      • round

        protected int round​(int in)
        Round this given the next digit n using the current rounding mode.
        Overrides:
        round in class Dfp
        Parameters:
        in - ???
        Returns:
        the IEEE flag if an exception occurred
      • nextAfter

        public Dfp nextAfter​(Dfp x)
        Returns the next number greater than this one in the direction of x. If this==x then simply returns this.
        Overrides:
        nextAfter in class Dfp
        Parameters:
        x - direction where to look at
        Returns:
        closest number next to instance in the direction of x