Class FloatFormat

java.lang.Object
ghidra.pcode.floatformat.FloatFormat

public class FloatFormat extends Object
  • Field Details

    • BIG_NaN

      public static final BigDecimal BIG_NaN
    • BIG_POSITIVE_INFINITY

      public static final BigDecimal BIG_POSITIVE_INFINITY
    • BIG_NEGATIVE_INFINITY

      public static final BigDecimal BIG_NEGATIVE_INFINITY
    • maxValue

      public final BigFloat maxValue
      A constant holding the largest positive finite value
    • minValue

      public final BigFloat minValue
      A constant holding the smallest positive normal value
  • Method Details

    • getSize

      public int getSize()
    • round

      public BigDecimal round(BigFloat bigFloat)
      Round bigFloat using this format's displayContext.
      Parameters:
      bigFloat - any BigFloat
      Returns:
      a BigDecimal rounded according to this format's displayContext
    • getZeroEncoding

      public long getZeroEncoding(boolean sgn)
    • getInfinityEncoding

      public long getInfinityEncoding(boolean sgn)
    • getBigZeroEncoding

      public BigInteger getBigZeroEncoding(boolean sgn)
    • getBigZero

      public BigFloat getBigZero(boolean sgn)
    • getBigInfinityEncoding

      public BigInteger getBigInfinityEncoding(boolean sgn)
    • getBigInfinity

      public BigFloat getBigInfinity(boolean sgn)
    • getNaNEncoding

      public long getNaNEncoding(boolean sgn)
    • getBigNaNEncoding

      public BigInteger getBigNaNEncoding(boolean sgn)
    • getBigNaN

      public BigFloat getBigNaN(boolean sgn)
    • getBigFloat

      public BigFloat getBigFloat(float f)
    • getBigFloat

      public BigFloat getBigFloat(double d)
    • getBigFloat

      public BigFloat getBigFloat(long encoding)
      Decode encoding to a BigFloat using this format. NB: this method should not be used if size>8
      Parameters:
      encoding - the encoding
      Returns:
      the decoded value as a BigFloat
    • getHostFloat

      public double getHostFloat(long encoding)
    • getHostFloat

      public BigFloat getHostFloat(BigInteger encoding)
    • getEncoding

      public long getEncoding(double host)
    • getEncoding

      public BigInteger getEncoding(BigFloat value)
    • toBinaryString

      public String toBinaryString(long encoding)
      Convert an encoded value to a binary floating point representation. NB: this method should not be used if size>8
      Parameters:
      encoding - the encoding of a floating point value in this format
      Returns:
      a binary string representation of the encoded floating point encoding
    • toBigFloat

      public static BigFloat toBigFloat(float f)
      Parameters:
      f - a float
      Returns:
      BigFloat equal to f
    • toBigFloat

      public static BigFloat toBigFloat(double d)
      Parameters:
      d - a double
      Returns:
      BigFloat equal to f
    • toBinaryString

      public static String toBinaryString(float f)
      Parameters:
      f - a float
      Returns:
      binary representation of f
    • toBinaryString

      public static String toBinaryString(double d)
      Parameters:
      d - a double
      Returns:
      binary representation of f
    • opEqual

      public long opEqual(long a, long b)
    • opEqual

      public BigInteger opEqual(BigInteger a, BigInteger b)
    • opNotEqual

      public long opNotEqual(long a, long b)
    • opNotEqual

      public BigInteger opNotEqual(BigInteger a, BigInteger b)
    • opLess

      public long opLess(long a, long b)
    • opLess

      public BigInteger opLess(BigInteger a, BigInteger b)
    • opLessEqual

      public long opLessEqual(long a, long b)
    • opLessEqual

      public BigInteger opLessEqual(BigInteger a, BigInteger b)
    • opNan

      public long opNan(long a)
    • opNan

      public BigInteger opNan(BigInteger a)
    • opAdd

      public long opAdd(long a, long b)
    • opAdd

      public BigInteger opAdd(BigInteger a, BigInteger b)
    • opSub

      public long opSub(long a, long b)
    • opSub

      public BigInteger opSub(BigInteger a, BigInteger b)
    • opDiv

      public long opDiv(long a, long b)
    • opDiv

      public BigInteger opDiv(BigInteger a, BigInteger b)
    • opMult

      public long opMult(long a, long b)
    • opMult

      public BigInteger opMult(BigInteger a, BigInteger b)
    • opNeg

      public long opNeg(long a)
    • opNeg

      public BigInteger opNeg(BigInteger a)
    • opAbs

      public long opAbs(long a)
    • opAbs

      public BigInteger opAbs(BigInteger a)
    • opSqrt

      public long opSqrt(long a)
    • opSqrt

      public BigInteger opSqrt(BigInteger a)
    • opInt2Float

      public long opInt2Float(long a, int sizein)
    • opInt2Float

      public BigInteger opInt2Float(BigInteger a, int sizein, boolean signed)
    • opFloat2Float

      public long opFloat2Float(long a, FloatFormat outformat)
    • opFloat2Float

      public BigInteger opFloat2Float(BigInteger a, FloatFormat outformat)
    • opTrunc

      public long opTrunc(long a, int sizeout)
    • opTrunc

      public BigInteger opTrunc(BigInteger a, int sizeout)
    • opCeil

      public long opCeil(long a)
    • opCeil

      public BigInteger opCeil(BigInteger a)
    • opFloor

      public long opFloor(long a)
    • opFloor

      public BigInteger opFloor(BigInteger a)
    • opRound

      public long opRound(long a)
    • opRound

      public BigInteger opRound(BigInteger a)