com.jogamp.common.os
Class MachineDescription

java.lang.Object
  extended by com.jogamp.common.os.MachineDescription

public class MachineDescription
extends Object

For alignment and size see com.jogamp.gluegen


Nested Class Summary
static class MachineDescription.ID
           
static class MachineDescription.StaticConfig
           
 
Constructor Summary
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
 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