38 AstMapping *rawSplitMap;
44 splitMap = Object::fromAstObject<Mapping>(
reinterpret_cast<AstObject *
>(rawSplitMap),
false);
47 const int newNOut =
splitMap->getNOut();
48 for (
int i = 0; i < newNOut; ++i) {
MapSplit(Mapping const &map, std::vector< int > const &in)
Construct a MapSplit.
std::shared_ptr< Mapping > splitMap
The Mapping that was split off.
std::vector< int > origIn
Indices of the inputs of the original mapping were picked for the split mapping.
std::vector< int > origOut
Indices of the outputs of the original mapping which are fed by the picked inputs.
An abstract base class for objects which transform one set of coordinates to another.
int getNOut() const
Get NOut: the number of output axes.
AstObject const * getRawPtr() const
Get the raw AST pointer.
AST wrapper classes and functions.
void assertOK(AstObject *rawPtr1=nullptr, AstObject *rawPtr2=nullptr)
Throw std::runtime_error if AST's state is bad.