Types¶
Functions related to predefined types.
Note
All Chapel programs automatically use this module by default.
An explicit use statement is not necessary.
-
proc
isType(e) param¶ Returns true if the argument is a type.
-
proc
isParam(e) param¶ Returns true if the argument is a param.
-
proc
isPrimitiveType(type t) param¶ Returns true if the type t is a primitive type, as defined by the language specification.
-
proc
isNumericType(type t) param¶ Returns true if the type t is one the following types, of any width: int, uint, real, imag, complex.
-
proc
isIntegralType(type t) param¶ Returns true if the type t is one the following types, of any width: int, uint.
-
proc
isFloatType(type t) param¶ Returns true if the type t is one the following types, of any width: real, imag.
-
proc
isVoidType(type t) param¶ Returns true if the type t is the void type.
-
proc
isBoolType(type t) param¶ Returns true if the type t is a bool type, of any width.
-
proc
isIntType(type t) param¶ Returns true if the type t is an int type, of any width.
-
proc
isUintType(type t) param¶ Returns true if the type t is a uint type, of any width.
-
proc
isEnumType(type t) param¶ Returns true if the type t is an enum type.
-
proc
isComplexType(type t) param¶ Returns true if the type t is a complex type, of any width.
-
proc
isRealType(type t) param¶ Returns true if the type t is a real type, of any width.
-
proc
isImagType(type t) param¶ Returns true if the type t is an imag type, of any width.
-
proc
isStringType(type t) param¶ Returns true if the type t is the string type.
-
proc
isPrimitive(e) param¶ Returns true if the argument is a primitive type, as defined by the language specification, or a value of a primitive type.
-
proc
isNumeric(e) param¶ Returns true if the argument is one the following types, of any width: int, uint, real, imag, complex, or a value of such a type.
-
proc
isIntegral(e) param¶ Returns true if the argument is one the following types, of any width: int, uint, or a value of such a type.
-
proc
isFloat(e) param¶ Returns true if the argument is one the following types, of any width: real, imag, or a value of such a type.
-
proc
isBool(e) param¶ Returns true if the argument is a bool type or value, of any width.
-
proc
isInt(e) param¶ Returns true if the argument is an int type or value, of any width.
-
proc
isUint(e) param¶ Returns true if the argument is a uint type or value, of any width.
-
proc
isReal(e) param¶ Returns true if the argument is a real type or value, of any width.
-
proc
isImag(e) param¶ Returns true if the argument is an imag type or value, of any width.
-
proc
isComplex(e) param¶ Returns true if the argument is a complex type or value, of any width.
-
proc
isString(e) param¶ Returns true if the argument is a string or the string type.
-
proc
isEnum(e) param¶ Returns true if the argument is an enum type or value, of any width.
-
proc
isTuple(e) param¶ Returns true if the argument is a tuple type or value.
-
proc
isHomogeneousTuple(e: _tuple) param¶ Returns true if the argument is a homogeneous tuple. The argument must be a tuple or any type.
-
proc
isClass(e) param¶ Returns true if the argument is a class type or value.
-
proc
isRecord(e) param¶ Returns true if the argument is a record type or value.
-
proc
isUnion(e) param¶ Returns true if the argument is a union type or value.
-
proc
isRange(e) param¶ Returns true if the argument is a range type or value.
-
proc
isDmap(e) param¶ Returns true if the argument is a domain map or a domain map type.
-
proc
isDomain(e) param¶ Returns true if the argument is a domain or a domain type.
-
proc
isArray(e) param¶ Returns true if the argument is an array or an array type.
-
proc
isSync(e) param¶ Returns true if the argument is a sync type or a sync variable.
-
proc
isSingle(e) param¶ Returns true if the argument is a single type or a single variable.
-
proc
isAtomic(e) param¶ Returns true if the argument is an atomic type or an atomic variable.
-
proc
isSubtype(type sub, type super) param¶ Returns true if the type sub is a subtype of the type super.
-
proc
isProperSubtype(type sub, type super) param¶ Returns true if the type sub is a subtype of the type super and is not super.
-
proc
numBits(type t) param¶ Returns the number of bits used to store the values of type t. This is available for all numeric types, fixed-width bool types, and
enumtypes. It is not available for default-width bool.
-
proc
numBytes(type t) param¶ Returns the number of bytes used to store the values of type t. This is available for all numeric types, fixed-width bool types, and
enumtypes. It is not available for default-width bool.
-
proc
min(type t) param¶ Returns the minimum value the type t can store. t can be one of the following types, of any width: bool, int, uint, real, imag, complex. When t is a bool type, it returns false. When t is real, imag, or complex type, it is a non-
paramfunction.
-
proc
max(type t) param¶ Returns the maximum value the type t can store. t can be one of the following types, of any width: bool, int, uint, real, imag, complex. When t is a bool type, it returns false. When t is a real, imag, or complex type, it is a non-
paramfunction.
-
proc
integral.safeCast(type T): T¶ Returns this, cast to the type T. Generates a run-time error if this cannot be represented by T, for example
(-1).safeCast(uint)or256.safeCast(uint(8)).This method performs the minimum number of runtime checks. For example, when casting from uint(8) to uint(64), no checks at all will be done.