Package icyllis.arc3d.compiler.tree
Class Type.ScalarType
java.lang.Object
icyllis.arc3d.compiler.tree.Node
icyllis.arc3d.compiler.tree.Symbol
icyllis.arc3d.compiler.tree.Type
icyllis.arc3d.compiler.tree.Type.ScalarType
- Enclosing class:
Type
-
Nested Class Summary
Nested classes/interfaces inherited from class icyllis.arc3d.compiler.tree.Type
Type.AliasType, Type.ArrayType, Type.CoercionCost, Type.Field, Type.GenericType, Type.ImageType, Type.MatrixType, Type.SamplerType, Type.ScalarType, Type.StructType, Type.VectorTypeNested classes/interfaces inherited from class icyllis.arc3d.compiler.tree.Node
Node.ElementKind, Node.ExpressionKind, Node.StatementKind, Node.SymbolKind -
Field Summary
Fields inherited from class icyllis.arc3d.compiler.tree.Type
kArray_TypeKind, kBoolean_ScalarKind, kFloat_ScalarKind, kGeneric_TypeKind, kMatrix_TypeKind, kMaxNestingDepth, kNonScalar_ScalarKind, kOther_TypeKind, kSampler_TypeKind, kScalar_TypeKind, kSigned_ScalarKind, kStruct_TypeKind, kUnsigned_ScalarKind, kUnsizedArray, kVector_TypeKind, kVoid_TypeKind -
Method Summary
Modifier and TypeMethodDescriptionintgetCols()For matrices, returns the number of columns (e.g.intFor type that contains scalars, returns the number of scalars.doubleReturns the maximum value that can fit in the type.doubleReturns the minimum value that can fit in the type.intFor scalars, returns the minimum size in bits of the type.intgetRank()Returns the "rank" of a numeric type, in order of float > half > int > short.intgetRows()For matrices and vectors, returns the number of rows (e.g.byteReturns the ScalarKind of this type (always NonScalar for non-scalar values).intgetWidth()For scalars, returns the size in bits of the type.booleanisScalar()Methods inherited from class icyllis.arc3d.compiler.tree.Type
canCoerceTo, checkLiteralOutOfRange, coerceExpression, convertArraySize, convertArraySize, getArrayName, getArrayName, getArraySize, getCoercibleTypes, getCoercionCost, getComponentType, getDesc, getDimensions, getElementType, getFields, getKind, getNestingDepth, getType, getTypeKind, isArray, isArrayed, isBoolean, isBooleanOrCompound, isCombinedSampler, isFloat, isFloatOrCompound, isGeneric, isInBuiltinTypes, isInteger, isInterfaceBlock, isMatrix, isMultiSampled, isNumeric, isOpaque, isRelaxedPrecision, isSampled, isSeparateSampler, isShadow, isSigned, isSignedOrCompound, isStorageImage, isStruct, isUnsigned, isUnsignedOrCompound, isUnsizedArray, isUsableInArray, isVector, isVoid, makeAliasType, makeAliasType, makeArrayType, makeCombinedType, makeGenericType, makeImageType, makeMatrixType, makeSamplerType, makeScalarType, makeScalarType, makeSeparateType, makeSpecialType, makeStructType, makeTextureType, makeVectorType, matches, resolve, toCompound, toString, toVectorMethods inherited from class icyllis.arc3d.compiler.tree.Node
getEndOffset, getStartOffset
-
Method Details
-
isScalar
public boolean isScalar() -
getScalarKind
public byte getScalarKind()Description copied from class:TypeReturns the ScalarKind of this type (always NonScalar for non-scalar values).- Overrides:
getScalarKindin classType
-
getRank
public int getRank()Description copied from class:TypeReturns the "rank" of a numeric type, in order of float > half > int > short. When operating on two numeric types, the result is the higher-rank type. -
getMinWidth
public int getMinWidth()Description copied from class:TypeFor scalars, returns the minimum size in bits of the type.- Overrides:
getMinWidthin classType
-
getWidth
public int getWidth()Description copied from class:TypeFor scalars, returns the size in bits of the type. -
getCols
public int getCols()Description copied from class:TypeFor matrices, returns the number of columns (e.g. mat3x4 returns 3). For scalars and vectors, returns 1. For all other types, causes an assertion failure. -
getRows
public int getRows()Description copied from class:TypeFor matrices and vectors, returns the number of rows (e.g. mat3x4 return 4). For scalars, returns 1. For all other types, causes an assertion failure. -
getComponents
public int getComponents()Description copied from class:TypeFor type that contains scalars, returns the number of scalars. For all other types, causes an assertion failure.- Overrides:
getComponentsin classType
-
getMinValue
public double getMinValue()Description copied from class:TypeReturns the minimum value that can fit in the type.- Overrides:
getMinValuein classType
-
getMaxValue
public double getMaxValue()Description copied from class:TypeReturns the maximum value that can fit in the type.- Overrides:
getMaxValuein classType
-