Class 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 Detail

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

      • isRuntimeValidated

        public final boolean isRuntimeValidated()
        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)
        number of pages required for size in bytes
      • pageAlignedSize

        public int pageAlignedSize​(int size)
        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().
        equals in class Object
        true if the two MachineDataInfo are equal; otherwise false.