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) {
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.
std::vector< int > origIn
Indices of the inputs of the original mapping were picked for the split mapping.
An abstract base class for objects which transform one set of coordinates to another.
std::shared_ptr< Mapping > splitMap
The Mapping that was split off.
MapSplit(Mapping const &map, std::vector< int > const &in)
Construct a MapSplit.
int getNOut() const
Get NOut: the number of output axes.
std::vector< int > origOut
Indices of the outputs of the original mapping which are fed by the picked inputs.