My Project
|
Functions | |
bool | getBroadcastedShape (ArrayRef< int64_t > shape1, ArrayRef< int64_t > shape2, SmallVectorImpl< int64_t > &resultShape) |
Type | getBroadcastedType (Type type1, Type type2) |
bool mlir::OpTrait::util::getBroadcastedShape | ( | ArrayRef< int64_t > | shape1, |
ArrayRef< int64_t > | shape2, | ||
SmallVectorImpl< int64_t > & | resultShape | ||
) |
Returns true and sets resultShape
to the broadcasted shape from the two given shapes if they are broadcast compatible. Returns false and clears resultShape
otherwise.
The rules for determining the result shape are:
Zip together the dimensions in the two given shapes by prepending the shape with less dimensions with 1s. For each dimension pair, deduces the result dimension according to the following order:
Returns the result broadcast composition type from the two given types by following NumPy broadcast semantics. Returned type may have dynamic shape if either of the input types has dynamic shape. Returns null type if the two given types are not broadcast-compatible.