@@ -142,15 +142,60 @@ declare module '@stdlib/types/array' {
142142 */
143143 type TypedAndGenericDataType = TypedDataType | 'generic' ; // "typed_and_generic"
144144
145+ /**
146+ * Data type for integer index arrays.
147+ */
148+ type IntegerIndexDataType = 'int32' ; // "integer_index"
149+
150+ /**
151+ * Data type for integer index and generic arrays.
152+ */
153+ type IntegerIndexAndGenericDataType = IntegerIndexDataType | 'generic' ; // "integer_index_and_generic"
154+
155+ /**
156+ * Data type for boolean index arrays.
157+ */
158+ type BooleanIndexDataType = BooleanDataType ; // "boolean_index"
159+
160+ /**
161+ * Data type for boolean index and generic arrays.
162+ */
163+ type BooleanIndexAndGenericDataType = BooleanIndexDataType | 'generic' ; // "boolean_index_and_generic"
164+
165+ /**
166+ * Data type for mask index arrays.
167+ */
168+ type MaskIndexDataType = 'uint8' ; // "mask_index"
169+
170+ /**
171+ * Data type for mask index and generic arrays.
172+ */
173+ type MaskIndexAndGenericDataType = MaskIndexDataType | 'generic' ; // "mask_index_and_generic"
174+
175+ /**
176+ * Data type for typed index arrays.
177+ */
178+ type TypedIndexDataType = IntegerIndexDataType | BooleanIndexDataType | MaskIndexDataType ; // "typed_index"
179+
180+ /**
181+ * Data type for typed index and generic arrays.
182+ */
183+ type TypedIndexAndGenericDataType = TypedIndexDataType | 'generic' ; // "typed_index_and_generic"
184+
185+ /**
186+ * Data type for index arrays.
187+ */
188+ type IndexDataType = TypedIndexAndGenericDataType ;
189+
145190 /**
146191 * Strict data type "kinds".
147192 */
148- type StrictDataTypeKind = 'typed' | 'numeric' | 'real' | 'floating_point' | 'real_floating_point' | 'complex_floating_point' | 'integer' | 'signed_integer' | 'unsigned_integer' | 'boolean' ;
193+ type StrictDataTypeKind = 'typed' | 'numeric' | 'real' | 'floating_point' | 'real_floating_point' | 'complex_floating_point' | 'integer' | 'signed_integer' | 'unsigned_integer' | 'boolean' | 'integer_index' | 'boolean_index' | 'mask_index' | 'typed_index' | 'index' ;
149194
150195 /**
151196 * Data type "kinds".
152197 */
153- type DataTypeKind = StrictDataTypeKind | 'all' | 'typed_and_generic' | 'numeric_and_generic' | 'real_and_generic' | 'floating_point_and_generic' | 'real_floating_point_and_generic' | 'complex_floating_point_and_generic' | 'integer_and_generic' | 'signed_integer_and_generic' | 'unsigned_integer_and_generic' | 'boolean_and_generic' ;
198+ type DataTypeKind = StrictDataTypeKind | 'all' | 'typed_and_generic' | 'numeric_and_generic' | 'real_and_generic' | 'floating_point_and_generic' | 'real_floating_point_and_generic' | 'complex_floating_point_and_generic' | 'integer_and_generic' | 'signed_integer_and_generic' | 'unsigned_integer_and_generic' | 'boolean_and_generic' | 'integer_index_and_generic' | 'boolean_index_and_generic' | 'mask_index_and_generic' | 'typed_index_and_generic' ;
154199
155200 /**
156201 * An array-like value.
@@ -1494,25 +1539,70 @@ declare module '@stdlib/types/ndarray' {
14941539 */
14951540 type TypedAndGenericDataType = TypedDataType | 'generic' ; // "typed_and_generic"
14961541
1542+ /**
1543+ * Data type for integer index arrays.
1544+ */
1545+ type IntegerIndexDataType = 'int32' ; // "integer_index"
1546+
1547+ /**
1548+ * Data type for integer index and generic arrays.
1549+ */
1550+ type IntegerIndexAndGenericDataType = IntegerIndexDataType | 'generic' ; // "integer_index_and_generic"
1551+
1552+ /**
1553+ * Data type for boolean index arrays.
1554+ */
1555+ type BooleanIndexDataType = BooleanDataType ; // "boolean_index"
1556+
1557+ /**
1558+ * Data type for boolean index and generic arrays.
1559+ */
1560+ type BooleanIndexAndGenericDataType = BooleanIndexDataType | 'generic' ; // "boolean_index_and_generic"
1561+
1562+ /**
1563+ * Data type for mask index arrays.
1564+ */
1565+ type MaskIndexDataType = 'uint8' ; // "mask_index"
1566+
1567+ /**
1568+ * Data type for mask index and generic arrays.
1569+ */
1570+ type MaskIndexAndGenericDataType = MaskIndexDataType | 'generic' ; // "mask_index_and_generic"
1571+
1572+ /**
1573+ * Data type for typed index arrays.
1574+ */
1575+ type TypedIndexDataType = IntegerIndexDataType | BooleanIndexDataType | MaskIndexDataType ; // "typed_index"
1576+
1577+ /**
1578+ * Data type for typed index and generic arrays.
1579+ */
1580+ type TypedIndexAndGenericDataType = TypedIndexDataType | 'generic' ; // "typed_index_and_generic"
1581+
1582+ /**
1583+ * Data type for index arrays.
1584+ */
1585+ type IndexDataType = TypedIndexAndGenericDataType ;
1586+
14971587 /**
14981588 * Strict data type "kinds".
14991589 */
1500- type StrictDataTypeKind = 'typed' | 'numeric' | 'real' | 'floating_point' | 'real_floating_point' | 'complex_floating_point' | 'integer' | 'signed_integer' | 'unsigned_integer' | 'boolean' ;
1590+ type StrictDataTypeKind = 'typed' | 'numeric' | 'real' | 'floating_point' | 'real_floating_point' | 'complex_floating_point' | 'integer' | 'signed_integer' | 'unsigned_integer' | 'boolean' | 'integer_index' | 'boolean_index' | 'mask_index' | 'typed_index' | 'index' ;
15011591
15021592 /**
15031593 * Data type "kinds".
15041594 */
1505- type DataTypeKind = StrictDataTypeKind | 'all' | 'typed_and_generic' | 'numeric_and_generic' | 'real_and_generic' | 'floating_point_and_generic' | 'real_floating_point_and_generic' | 'complex_floating_point_and_generic' | 'integer_and_generic' | 'signed_integer_and_generic' | 'unsigned_integer_and_generic' | 'boolean_and_generic' ;
1595+ type DataTypeKind = StrictDataTypeKind | 'all' | 'typed_and_generic' | 'numeric_and_generic' | 'real_and_generic' | 'floating_point_and_generic' | 'real_floating_point_and_generic' | 'complex_floating_point_and_generic' | 'integer_and_generic' | 'signed_integer_and_generic' | 'unsigned_integer_and_generic' | 'boolean_and_generic' | 'integer_index_and_generic' | 'boolean_index_and_generic' | 'mask_index_and_generic' | 'typed_index_and_generic' ;
15061596
15071597 /**
15081598 * Strict output data type policy.
15091599 */
1510- type StrictOutputPolicy = 'default' | 'same' | 'promoted' | 'boolean' | 'numeric' | 'real' | 'floating_point' | 'real_floating_point' | 'complex_floating_point' | 'integer' | 'signed_integer' | 'unsigned_integer' ;
1600+ type StrictOutputPolicy = 'default' | 'same' | 'promoted' | 'boolean' | 'numeric' | 'real' | 'floating_point' | 'real_floating_point' | 'complex_floating_point' | 'integer' | 'signed_integer' | 'unsigned_integer' | 'accumulation' ;
15111601
15121602 /**
15131603 * Output data type policy.
15141604 */
1515- type OutputPolicy = StrictOutputPolicy | 'boolean_and_generic' | 'numeric_and_generic' | 'real_and_generic' | 'floating_point_and_generic' | 'real_floating_point_and_generic' | 'complex_floating_point_and_generic' | 'integer_and_generic' | 'signed_integer_and_generic' | 'unsigned_integer_and_generic' ;
1605+ type OutputPolicy = StrictOutputPolicy | 'boolean_and_generic' | 'numeric_and_generic' | 'real_and_generic' | 'floating_point_and_generic' | 'real_floating_point_and_generic' | 'complex_floating_point_and_generic' | 'integer_and_generic' | 'signed_integer_and_generic' | 'unsigned_integer_and_generic' | 'accumulation_and_generic' ;
15161606
15171607 /**
15181608 * Array order.
0 commit comments