torch.ScaleDim
export type ScaleDim<
S extends Shape,
Dim extends number,
Factor extends number,
> = number extends S['length']
? DynamicShape
: number extends Dim
? DynamicShape
: number extends Factor
? DynamicShape
: Dim extends 0
? S extends readonly [infer First extends number, ...infer Rest extends number[]]
? readonly [MultiplyBy<First, Factor>, ...Rest]
: DynamicShape
: S extends readonly [infer First extends number, ...infer Rest extends number[]]
? readonly [First, ...ScaleDim<readonly [...Rest], Subtract1<Dim>, Factor>]
: DynamicShape;Sextends ShapeDimextends numberFactorextends numberScale (multiply) a dimension by a factor. ScaleDim<[4, 8], 1, 3> = [4, 24] (multiply dim 1 by 3) Used for repeat_interleave shape tracking.