Class MutableFPNumber

java.lang.Object
org.xlsx4j.org.apache.poi.ss.util.MutableFPNumber

final class MutableFPNumber extends Object
  • Field Details

    • BI_MIN_BASE

      private static final BigInteger BI_MIN_BASE
      The minimum value in 'Base-10 normalised form'.
      When _binaryExponent == 46 this is the the minimum #_frac value (1014-0.05) * 2^17
      Values between (1014-0.05) and 1014 will be represented as '1' followed by 14 zeros. Values less than (1014-0.05) will get shifted by one more power of 10 This frac value rounds to '1' followed by fourteen zeros with an incremented decimal exponent
    • BI_MAX_BASE

      private static final BigInteger BI_MAX_BASE
      For 'Base-10 normalised form'
      The maximum #_frac value when _binaryExponent == 49 (10^15-0.5) * 2^14
    • C_64

      private static final int C_64
      Width of a long
      See Also:
    • MIN_PRECISION

      private static final int MIN_PRECISION
      Minimum precision after discarding whole 32-bit words from the significand
      See Also:
    • _significand

      private BigInteger _significand
    • _binaryExponent

      private int _binaryExponent
  • Constructor Details

    • MutableFPNumber

      public MutableFPNumber(BigInteger frac, int binaryExponent)
  • Method Details

    • copy

      public MutableFPNumber copy()
    • normalise64bit

      public void normalise64bit()
    • get64BitNormalisedExponent

      public int get64BitNormalisedExponent()
    • isBelowMaxRep

      public boolean isBelowMaxRep()
    • isAboveMinRep

      public boolean isAboveMinRep()
    • createNormalisedDecimal

      public NormalisedDecimal createNormalisedDecimal(int pow10)
    • multiplyByPowerOfTen

      public void multiplyByPowerOfTen(int pow10)
    • mulShift

      private void mulShift(BigInteger multiplicand, int multiplierShift)
    • createExpandedDouble

      public ExpandedDouble createExpandedDouble()