Class DfpDec

java.lang.Object
org.hipparchus.dfp.Dfp
org.hipparchus.dfp.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 Details

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

    • 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