torch.IndexSelectShape
export type IndexSelectShape<
S extends Shape,
Dim extends number,
IndexLen extends number,
> = number extends Dim
? DynamicShape
: number extends S['length']
? DynamicShape
: number extends IndexLen
? DynamicShape
: LessThan<Dim, S['length']> extends true
? ReplaceDim<S, Dim, IndexLen> // Valid - replace dim size with index length
: index_select_error_dim_out_of_range<Dim, S['length']>;Sextends ShapeDimextends numberIndexLenextends numberCompute output shape of index_select with bounds checking.
index_select(dim, index) replaces dimension dim size with index size.