Types¶
Usage
use 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 that is not an
extern
class, or when the argument isnil
.
-
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
enum
types. 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
enum
types. 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-
param
function.
-
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-
param
function.
-
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.