Package com.oracle.truffle.api.utilities

## Class PrimitiveValueProfile

- java.lang.Object
- - com.oracle.truffle.api.utilities.ValueProfile
  - - com.oracle.truffle.api.utilities.PrimitiveValueProfile

    public class PrimitiveValueProfile
    extends ValueProfile

Represents a `ValueProfile` that speculates on the primitive equality or object identity of values.

Note that for {code float} and `double` values we compare primitive equality via `Float.floatToRawIntBits(float)` and `Double.doubleToRawLongBits(double)`, so that for example `-0.0` is not considered the same as `0.0`, even though primitive equality would normally say that it was.

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`static boolean` `exactCompare​(double a, double b)`
`static boolean` `exactCompare​(float a, float b)`
`java.lang.Object` `getCachedValue()`
`boolean` `isGeneric()`
`boolean` `isUninitialized()`
`boolean` `profile​(boolean value)`
`byte` `profile​(byte value)`
`char` `profile​(char value)`
`double` `profile​(double value)`
`float` `profile​(float value)`
`int` `profile​(int value)`
`long` `profile​(long value)`
`short` `profile​(short value)`
`java.lang.Object` `profile​(java.lang.Object value)`
`java.lang.String` `toString()`

### Methods inherited from class com.oracle.truffle.api.utilities.ValueProfile

`createClassProfile, createIdentityProfile, createPrimitiveProfile`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Method Detail

#### profile

    public java.lang.Object profile​(java.lang.Object value)

Specified by:
  `profile` in class `ValueProfile`

#### profile

    public byte profile​(byte value)

#### profile

    public short profile​(short value)

#### profile

    public int profile​(int value)

#### profile

    public long profile​(long value)

#### profile

    public float profile​(float value)

#### profile

    public double profile​(double value)

#### profile

    public boolean profile​(boolean value)

#### profile

    public char profile​(char value)

#### isGeneric

    public boolean isGeneric()

#### isUninitialized

    public boolean isUninitialized()

#### getCachedValue

    public java.lang.Object getCachedValue()

#### toString

    public java.lang.String toString()

Overrides:
  `toString` in class `java.lang.Object`

#### exactCompare

    public static boolean exactCompare​(float a,
                                       float b)

#### exactCompare

    public static boolean exactCompare​(double a,
                                       double b)