#include "mlir/Dialect/Polynomial/IR/PolynomialAttributes.h"
#include "mlir/Dialect/Polynomial/IR/Polynomial.h"
#include "mlir/Support/LLVM.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/ADT/StringSet.h"
namespace mlir {
namespace polynomial {
void IntPolynomialAttr::print(AsmPrinter &p) const { … }
void FloatPolynomialAttr::print(AsmPrinter &p) const { … }
ParseCoefficientFn;
template <typename Monomial>
ParseResult
parseMonomial(AsmParser &parser, Monomial &monomial, llvm::StringRef &variable,
bool &isConstantTerm, bool &shouldParseMore,
ParseCoefficientFn<Monomial> parseAndStoreCoefficient) { … }
template <typename Monomial>
LogicalResult
parsePolynomialAttr(AsmParser &parser, llvm::SmallVector<Monomial> &monomials,
llvm::StringSet<> &variables,
ParseCoefficientFn<Monomial> parseAndStoreCoefficient) { … }
Attribute IntPolynomialAttr::parse(AsmParser &parser, Type type) { … }
Attribute FloatPolynomialAttr::parse(AsmParser &parser, Type type) { … }
}
}