carl  24.04
Computer ARithmetic Library
#include <carl-common/util/hash.h>
#include <carl-arith/numbers/numbers.h>
#include <carl-arith/core/CompareResult.h>
#include <carl-arith/core/Variable.h>
#include <carl-arith/core/Variables.h>
#include <carl-arith/core/VariablePool.h>
#include <algorithm>
#include <list>
#include <numeric>
#include <set>
#include <sstream>
#include <boost/intrusive/unordered_set.hpp>
Include dependency graph for Monomial.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

class  carl::Monomial
 The general-purpose monomials. More...
 
struct  carl::hashLess
 
struct  carl::hashEqual
 
struct  std::equal_to< carl::Monomial::Arg >
 
struct  std::less< carl::Monomial::Arg >
 
struct  std::hash< carl::Monomial >
 The template specialization of std::hash for carl::Monomial. More...
 
struct  std::hash< carl::Monomial::Arg >
 The template specialization of std::hash for a shared pointer of a carl::Monomial. More...
 

Namespaces

 carl
 carl is the main namespace for the library.
 

Typedefs

using carl::exponent = std::size_t
 Type of an exponent. More...
 

Functions

bool carl::operator== (const std::pair< Variable, std::size_t > &p, Variable v)
 Compare a pair of variable and exponent with a variable. More...
 
std::ostream & carl::operator<< (std::ostream &os, const Monomial &rhs)
 Streaming operator for Monomial. More...
 
std::ostream & carl::operator<< (std::ostream &os, const Monomial::Arg &rhs)
 Streaming operator for std::shared_ptr<Monomial>. More...
 
Monomial::Arg carl::pow (Variable v, std::size_t exp)
 
void carl::variables (const Monomial &m, carlVariables &vars)
 Add the variables of the given monomial to the variables. More...
 
Comparison operators
bool carl::operator== (const Monomial &lhs, const Monomial &rhs)
 Compares two arguments where one is a Monomial and the other is either a monomial or a variable. More...
 
bool carl::operator== (const Monomial::Arg &lhs, const Monomial::Arg &rhs)
 Compares two arguments where one is a Monomial and the other is either a monomial or a variable. More...
 
bool carl::operator== (const Monomial::Arg &lhs, Variable rhs)
 Compares two arguments where one is a Monomial and the other is either a monomial or a variable. More...
 
bool carl::operator== (Variable lhs, const Monomial::Arg &rhs)
 Compares two arguments where one is a Monomial and the other is either a monomial or a variable. More...
 
bool carl::operator!= (const Monomial::Arg &lhs, const Monomial::Arg &rhs)
 Compares two arguments where one is a Monomial and the other is either a monomial or a variable. More...
 
bool carl::operator!= (const Monomial::Arg &lhs, Variable rhs)
 Compares two arguments where one is a Monomial and the other is either a monomial or a variable. More...
 
bool carl::operator!= (Variable lhs, const Monomial::Arg &rhs)
 Compares two arguments where one is a Monomial and the other is either a monomial or a variable. More...
 
bool carl::operator< (const Monomial::Arg &lhs, const Monomial::Arg &rhs)
 Compares two arguments where one is a Monomial and the other is either a monomial or a variable. More...
 
bool carl::operator< (const Monomial::Arg &lhs, Variable rhs)
 Compares two arguments where one is a Monomial and the other is either a monomial or a variable. More...
 
bool carl::operator< (Variable lhs, const Monomial::Arg &rhs)
 Compares two arguments where one is a Monomial and the other is either a monomial or a variable. More...
 
bool carl::operator<= (const Monomial::Arg &lhs, const Monomial::Arg &rhs)
 Compares two arguments where one is a Monomial and the other is either a monomial or a variable. More...
 
bool carl::operator<= (const Monomial::Arg &lhs, Variable rhs)
 Compares two arguments where one is a Monomial and the other is either a monomial or a variable. More...
 
bool carl::operator<= (Variable lhs, const Monomial::Arg &rhs)
 Compares two arguments where one is a Monomial and the other is either a monomial or a variable. More...
 
bool carl::operator> (const Monomial::Arg &lhs, const Monomial::Arg &rhs)
 Compares two arguments where one is a Monomial and the other is either a monomial or a variable. More...
 
bool carl::operator> (const Monomial::Arg &lhs, Variable rhs)
 Compares two arguments where one is a Monomial and the other is either a monomial or a variable. More...
 
bool carl::operator> (Variable lhs, const Monomial::Arg &rhs)
 Compares two arguments where one is a Monomial and the other is either a monomial or a variable. More...
 
bool carl::operator>= (const Monomial::Arg &lhs, const Monomial::Arg &rhs)
 Compares two arguments where one is a Monomial and the other is either a monomial or a variable. More...
 
bool carl::operator>= (const Monomial::Arg &lhs, Variable rhs)
 Compares two arguments where one is a Monomial and the other is either a monomial or a variable. More...
 
bool carl::operator>= (Variable lhs, const Monomial::Arg &rhs)
 Compares two arguments where one is a Monomial and the other is either a monomial or a variable. More...
 
Multiplication operators
Monomial::Arg carl::operator* (const Monomial::Arg &lhs, const Monomial::Arg &rhs)
 Perform a multiplication involving a monomial. More...
 
Monomial::Arg carl::operator* (const Monomial::Arg &lhs, Variable rhs)
 Perform a multiplication involving a monomial. More...
 
Monomial::Arg carl::operator* (Variable lhs, const Monomial::Arg &rhs)
 Perform a multiplication involving a monomial. More...
 
Monomial::Arg carl::operator* (Variable lhs, Variable rhs)
 Perform a multiplication involving a monomial. More...
 

Detailed Description

Author
Sebastian Junges
Florian Corzilius

Definition in file Monomial.h.