torch.RearrangeShape
export type RearrangeShape<
Pattern extends string,
InputShape extends Shape,
Axes extends AxesRecord = Record<string, never>,
> =
IsNever<SplitArrow<Pattern>> extends true
? einops_error_invalid_pattern<Pattern>
: SplitArrow<Pattern> extends {
left: infer Left extends string;
right: infer Right extends string;
}
? ParsePattern<Left> extends infer InputDims extends ParsedDim[]
? ParsePattern<Right> extends infer OutputDims extends ParsedDim[]
? HasEllipsis<InputDims> extends true
? RearrangeShapeWithEllipsis<InputDims, OutputDims, InputShape, Axes>
: RearrangeShapeNoEllipsis<InputDims, OutputDims, InputShape, Axes>
: DynamicShape
: DynamicShape
: einops_error_invalid_pattern<Pattern>;Patternextends stringInputShapeextends ShapeAxesextends AxesRecord