45#include <unordered_map>
80 const std::vector<std::string> & varnames,
83 bool print_parens)
const;
84 void display(std::ostream& o,
const std::vector<std::string> & varnames)
const
86 display(o, varnames,
true,
false,
false);
88 std::string
toString(
const std::vector<std::string> & varnames,
91 bool print_parens)
const;
92 std::string
toString(
const std::vector<std::string> & varnames)
const
94 return toString(varnames,
true,
false,
false);
114 std::unordered_map<std::string_view, int>
mMap;
127 auto find(std::string_view
s)
const ->
int
129 auto foundloc =
mMap.find(
s);
130 return (foundloc !=
mMap.end() ? foundloc->second : -1);
BasicPoly parseBasicPoly(std::string poly, std::vector< std::string > varnames)
static void displayCoefficient(std::ostream &o, T val, bool print_plus, bool print_one)
std::string toString(const std::vector< std::string > &varnames) const
std::vector< int > mMonomials
void display(std::ostream &o, const std::vector< std::string > &varnames, bool print_one, bool print_plus, bool print_parens) const
std::vector< int > mComponents
std::vector< mpz_class > mCoefficients
void display(std::ostream &o, const std::vector< std::string > &varnames) const
std::string toString(const std::vector< std::string > &varnames, bool print_one, bool print_plus, bool print_parens) const
void debug_display(std::ostream &o) const
Standalone, self-contained polynomial representation independent of any engine Ring — coefficients ar...
IdentifierHash(std::vector< std::string > &idens)
auto find(std::string_view s) const -> int
std::vector< std::string > mAllocatedStrings
std::unordered_map< std::string_view, int > mMap
IdentifierHash: used to facilitate parsing of polynomials from strings and files.
namespace exc — internal C++ exception types and the TRY / CATCH macro pair.
VALGRIND_MAKE_MEM_DEFINED & result(result)
engine_error(const std::string &msg)
parsing_error(const std::string &msg)