Data Types ¶
Array API specification for supported data types.
A conforming implementation of the array API standard must provide and support the following data types.
bool ¶
Boolean (
True
or
False
).
int8 ¶
An 8bit signed integer whose values exist on the interval
[128,
+127]
.
int16 ¶
A 16bit signed integer whose values exist on the interval
[−32,767,
+32,767]
.
int32 ¶
A 32bit signed integer whose values exist on the interval
[−2,147,483,647,
+2,147,483,647]
.
int64 ¶
A 64bit signed integer whose values exist on the interval
[−9,223,372,036,854,775,807,
+9,223,372,036,854,775,807]
.
uint8 ¶
An 8bit unsigned integer whose values exist on the interval
[0,
+255]
.
uint16 ¶
A 16bit unsigned integer whose values exist on the interval
[0,
+65,535]
.
uint32 ¶
A 32bit unsigned integer whose values exist on the interval
[0,
+4,294,967,295]
.
uint64 ¶
A 64bit unsigned integer whose values exist on the interval
[0,
+18,446,744,073,709,551,615]
.
float32 ¶
IEEE 754 singleprecision (32bit) binary floatingpoint number (see IEEE 7542019).
float64 ¶
IEEE 754 doubleprecision (64bit) binary floatingpoint number (see IEEE 7542019).
Future extension
complex64
and
complex128
dtypes are expected to be included in the next
version of this standard and to have the following casting rules (will be added
to
Type Promotion Rules
):
See arrayapi/issues/102 for more details.
Note
A conforming implementation of the array API standard may provide and support additional data types beyond those described in this specification.
Data Type Objects ¶
Data types (“dtypes”) are objects which are used as
dtype
specifiers in functions and methods (e.g.,
zeros((2,
3),
dtype=float32)
).
Note
A conforming implementation may add additional methods or attributes to data type objects beyond those described in this specification.
Note
Implementations may provide other ways to specify data types (e.g.,
zeros((2,
3),
dtype='f4')
) which are not described in this specification; however, in order to ensure portability, array library consumers are recommended to use data type objects as provided by specification conforming array libraries.
A conforming implementation of the array API standard must provide and support data type objects having the following attributes and methods.
Methods ¶
__eq__(self, other, /) ¶
Computes the truth value of
self
==
other
in order to test for data type object equality.
Parameters ¶

self : <dtype>

data type instance. May be any supported data type.


other : <dtype>

other data type instance. May be any supported data type.

Returns ¶

out : <bool>

a boolean indicating whether the data type objects are equal.

Default Data Types ¶
A conforming implementation of the array API standard must define a default floatingpoint data type (either
float32
or
float64
) and a default integer data type (
int32
or
int64
).
The default data types must be the same across platforms.
The default integer data type may vary depending on whether Python is 32bit or 64bit.
Note
The default floatingpoint and integer data types should be clearly defined in a conforming library’s documentation.
Data Type Categories ¶
For the purpose of organizing functions within this specification, the following data type categories are defined.
Note
Conforming libraries are not required to organize dtypes according to these categories. These categories are only intended for use within this specification.
Note
Future versions of the specification will include additional categories for complex data types.
Numeric Data Types ¶
int8
,
int16
,
int32
,
int64
,
uint8
,
uint16
,
uint32
,
uint64
,
float32
, and
float64
(i.e., all dtypes except for
bool
).
Integer Data Types ¶
int8
,
int16
,
int32
,
int64
,
uint8
,
uint16
,
uint32
, and
uint64
.
Floatingpoint Data Types ¶
float32
and
float64
.
Boolean Data Types ¶
bool
.