com.jogamp.common.os

## Class MachineDescription

- java.lang.Object
- - com.jogamp.common.os.MachineDescription

-     public class MachineDescription
      extends Object

  For alignment and size see `com.jogamp.gluegen`

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `static class` | `MachineDescription.ID`
    `static class` | `MachineDescription.StaticConfig`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `MachineDescription(boolean runtimeValidated, boolean littleEndian, 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 Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `compatible(MachineDescription md)` Checks whether two size objects are equal.
    `int` | `doubleAlignmentInBytes()`
    `int` | `doubleSizeInBytes()`
    `boolean` | `equals(Object obj)` Checks whether two size objects are equal.
    `int` | `floatAlignmentInBytes()`
    `int` | `floatSizeInBytes()`
    `int` | `int16AlignmentInBytes()`
    `int` | `int16SizeInBytes()`
    `int` | `int32AlignmentInBytes()`
    `int` | `int32SizeInBytes()`
    `int` | `int64AlignmentInBytes()`
    `int` | `int64SizeInBytes()`
    `int` | `int8AlignmentInBytes()`
    `int` | `int8SizeInBytes()`
    `int` | `intAlignmentInBytes()`
    `int` | `intSizeInBytes()`
    `boolean` | `is32Bit()` Returns true if this JVM/ARCH is 32bit.
    `boolean` | `is64Bit()` Returns true if this JVM/ARCH is 64bit.
    `boolean` | `isLittleEndian()` Returns true only if this system uses little endian byte ordering.
    `boolean` | `isRuntimeValidated()`
    `int` | `ldoubleAlignmentInBytes()`
    `int` | `ldoubleSizeInBytes()`
    `int` | `longAlignmentInBytes()`
    `int` | `longSizeInBytes()`
    `int` | `pageAlignedSize(int size)`
    `int` | `pageCount(int size)`
    `int` | `pageSizeInBytes()`
    `int` | `pointerAlignmentInBytes()`
    `int` | `pointerSizeInBytes()`
    `String` | `toString()`
    `StringBuilder` | `toString(StringBuilder sb)`

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

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

- - ### Constructor Detail

    - #### MachineDescription

          public MachineDescription(boolean runtimeValidated,
                            boolean littleEndian,
                            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()

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

    - #### isLittleEndian

          public final boolean isLittleEndian()

      Returns true only if this system uses little endian byte ordering.

    - #### is32Bit

          public final boolean is32Bit()

      Returns true if this JVM/ARCH is 32bit.

    - #### is64Bit

          public final boolean is64Bit()

      Returns true if this JVM/ARCH is 64bit.

    - #### 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 `MachineDescription` are considered equal if all components match but `runtimeValidated`, `isRuntimeValidated()`.
      Overrides:
        `equals` in class `Object`
      Returns:
        `true` if the two MachineDescription are equal; otherwise `false`.

    - #### compatible

          public final boolean compatible(MachineDescription md)

      Checks whether two size objects are equal. Two instances of `MachineDescription` are considered equal if all components match but `isRuntimeValidated()` and `pageSizeInBytes()`.
      Returns:
        `true` if the two MachineDescription are equal; otherwise `false`.

    - #### toString

          public StringBuilder toString(StringBuilder sb)

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `Object`