42 for (
int const& innum : perm) {
43 maxConst =
std::max(maxConst, -innum);
45 if (maxConst > numConst) {
47 os << name <<
" specifies max constant number (min negative number) " << maxConst <<
", but only "
48 << numConst <<
" constants are available";
62 if (outperm.empty()) {
66 checkConstant(constant.size(), inperm,
"inperm");
67 checkConstant(constant.size(), outperm,
"outperm");
69 double const* constptr = constant.size() > 0 ? constant.data() :
nullptr;
70 auto result = astPermMap(inperm.size(), inperm.data(), outperm.size(), outperm.data(), constptr,
"%s",
AST wrapper classes and functions.
void assertOK(AstObject *rawPtr1=nullptr, AstObject *rawPtr2=nullptr)
Throw std::runtime_error if AST's state is bad.