Class MachineDataInfo

java.lang.Object
com.jogamp.common.os.MachineDataInfo

public class MachineDataInfo extends Object
Machine data description for alignment and size onle, see com.jogamp.gluegen.

little-endian / big/endian description is left, allowing re-using instances in StaticConfig. Use {@link {@link PlatformPropsImpl#LITTLE_ENDIAN}.

Further more, the value {@ MachineDataInfo#pageSizeInBytes} shall be ignored in StaticConfig, see compatible(MachineDataInfo).

  • Constructor Details

    • MachineDataInfo

      public MachineDataInfo(boolean runtimeValidated, int intSizeInBytes, int longSizeInBytes, int floatSizeInBytes, int doubleSizeInBytes, int ldoubleSizeInBytes, int pointerSizeInBytes, int pageSizeInBytes, int int8AlignmentInBytes, int int16AlignmentInBytes, int int32AlignmentInBytes, int int64AlignmentInBytes, int intAlignmentInBytes, int longAlignmentInBytes, int floatAlignmentInBytes, int doubleAlignmentInBytes, int ldoubleAlignmentInBytes, int pointerAlignmentInBytes)
  • Method Details

    • isRuntimeValidated

      public final boolean isRuntimeValidated()
      Returns:
      true if all values are validated at runtime, otherwise false (i.e. for static compilation w/ preset values)
    • intSizeInBytes

      public final int intSizeInBytes()
    • longSizeInBytes

      public final int longSizeInBytes()
    • int8SizeInBytes

      public final int int8SizeInBytes()
    • int16SizeInBytes

      public final int int16SizeInBytes()
    • int32SizeInBytes

      public final int int32SizeInBytes()
    • int64SizeInBytes

      public final int int64SizeInBytes()
    • floatSizeInBytes

      public final int floatSizeInBytes()
    • doubleSizeInBytes

      public final int doubleSizeInBytes()
    • ldoubleSizeInBytes

      public final int ldoubleSizeInBytes()
    • pointerSizeInBytes

      public final int pointerSizeInBytes()
    • pageSizeInBytes

      public final int pageSizeInBytes()
    • intAlignmentInBytes

      public final int intAlignmentInBytes()
    • longAlignmentInBytes

      public final int longAlignmentInBytes()
    • int8AlignmentInBytes

      public final int int8AlignmentInBytes()
    • int16AlignmentInBytes

      public final int int16AlignmentInBytes()
    • int32AlignmentInBytes

      public final int int32AlignmentInBytes()
    • int64AlignmentInBytes

      public final int int64AlignmentInBytes()
    • floatAlignmentInBytes

      public final int floatAlignmentInBytes()
    • doubleAlignmentInBytes

      public final int doubleAlignmentInBytes()
    • ldoubleAlignmentInBytes

      public final int ldoubleAlignmentInBytes()
    • pointerAlignmentInBytes

      public final int pointerAlignmentInBytes()
    • pageCount

      public int pageCount(int size)
      Returns:
      number of pages required for size in bytes
    • pageAlignedSize

      public int pageAlignedSize(int size)
      Returns:
      page aligned size in bytes
    • equals

      public final boolean equals(Object obj)
      Checks whether two size objects are equal. Two instances of MachineDataInfo are considered equal if all components match but runtimeValidated, isRuntimeValidated().
      Overrides:
      equals in class Object
      Returns:
      true if the two MachineDataInfo are equal; otherwise false.
    • compatible

      public final boolean compatible(MachineDataInfo md)
      Checks whether two MachineDataInfo objects are equal.

      Two MachineDataInfo instances are considered equal if all components match but isRuntimeValidated() and pageSizeInBytes().

      Returns:
      true if the two MachineDataInfo are equal; otherwise false.
    • toString

      public StringBuilder toString(StringBuilder sb)
    • toString

      public String toString()
      Overrides:
      toString in class Object