Package com.jogamp.common.os
Class MachineDataInfo
- java.lang.Object
-
- com.jogamp.common.os.MachineDataInfo
-
public class MachineDataInfo extends Object
Machine data description for alignment and size onle, seecom.jogamp.gluegen.little-endian/big/endiandescription is left, allowing re-using instances inStaticConfig. Use {@link {@link PlatformPropsImpl#LITTLE_ENDIAN}.Further more, the value {@ MachineDataInfo#pageSizeInBytes} shall be ignored in
StaticConfig, seecompatible(MachineDataInfo).
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classMachineDataInfo.StaticConfigStatic enumeration ofMachineDataInfoinstances used for high performance data size and alignment lookups, e.g.
-
Constructor Summary
Constructors Constructor Description 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 Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancompatible(MachineDataInfo md)Checks whether twoMachineDataInfoobjects are equal.intdoubleAlignmentInBytes()intdoubleSizeInBytes()booleanequals(Object obj)Checks whether two size objects are equal.intfloatAlignmentInBytes()intfloatSizeInBytes()intint16AlignmentInBytes()intint16SizeInBytes()intint32AlignmentInBytes()intint32SizeInBytes()intint64AlignmentInBytes()intint64SizeInBytes()intint8AlignmentInBytes()intint8SizeInBytes()intintAlignmentInBytes()intintSizeInBytes()booleanisRuntimeValidated()intldoubleAlignmentInBytes()intldoubleSizeInBytes()intlongAlignmentInBytes()intlongSizeInBytes()intpageAlignedSize(int size)intpageCount(int size)intpageSizeInBytes()intpointerAlignmentInBytes()intpointerSizeInBytes()StringtoString()StringBuildertoString(StringBuilder sb)
-
-
-
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()
- 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 ofMachineDataInfoare considered equal if all components match butruntimeValidated,isRuntimeValidated().
-
compatible
public final boolean compatible(MachineDataInfo md)
Checks whether twoMachineDataInfoobjects are equal.Two
MachineDataInfoinstances are considered equal if all components match butisRuntimeValidated()andpageSizeInBytes().- Returns:
trueif the twoMachineDataInfoare equal; otherwisefalse.
-
toString
public StringBuilder toString(StringBuilder sb)
-
-