carl
24.04
Computer ARithmetic Library
|
#include "Monomial.h"
#include "MonomialPool.h"
#include <carl-arith/numbers/numbers.h>
#include <memory>
#include "Term.tpp"
Go to the source code of this file.
Data Structures | |
class | carl::Term< Coefficient > |
Represents a single term, that is a numeric coefficient and a monomial. More... | |
struct | std::hash< carl::Term< Coefficient > > |
Specialization of std::hash for a Term. More... | |
Namespaces | |
carl | |
carl is the main namespace for the library. | |
Functions | |
template<typename Coeff > | |
bool | carl::is_zero (const Term< Coeff > &term) |
Checks whether a term is zero. More... | |
template<typename Coeff > | |
void | carl::variables (const Term< Coeff > &t, carlVariables &vars) |
Add the variables of the given term to the variables. More... | |
template<typename Coeff > | |
bool | carl::is_one (const Term< Coeff > &term) |
Checks whether a term is one. More... | |
template<typename Coeff > | |
Term< Coeff > | carl::operator- (const Term< Coeff > &rhs) |
In-place multiplication operators | |
template<typename Coeff > | |
Term< Coeff > & | carl::operator*= (Term< Coeff > &lhs, const Coeff &rhs) |
Multiply a term with something and return the changed term. More... | |
template<typename Coeff > | |
Term< Coeff > & | carl::operator*= (Term< Coeff > &lhs, Variable rhs) |
Multiply a term with something and return the changed term. More... | |
template<typename Coeff > | |
Term< Coeff > & | carl::operator*= (Term< Coeff > &lhs, const Monomial::Arg &rhs) |
Multiply a term with something and return the changed term. More... | |
template<typename Coeff > | |
Term< Coeff > & | carl::operator*= (Term< Coeff > &lhs, const Term< Coeff > &rhs) |
Multiply a term with something and return the changed term. More... | |
Comparison operators | |
template<typename Coeff > | |
bool | carl::operator== (const Term< Coeff > &lhs, const Term< Coeff > &rhs) |
Compares two arguments where one is a term and the other is either a term, a monomial or a variable. More... | |
template<typename Coeff > | |
bool | carl::operator== (const Term< Coeff > &lhs, const Monomial &rhs) |
Compares two arguments where one is a term and the other is either a term, a monomial or a variable. More... | |
template<typename Coeff > | |
bool | carl::operator== (const Term< Coeff > &lhs, Variable rhs) |
Compares two arguments where one is a term and the other is either a term, a monomial or a variable. More... | |
template<typename Coeff > | |
bool | carl::operator== (const Term< Coeff > &lhs, const Coeff &rhs) |
Compares two arguments where one is a term and the other is either a term, a monomial or a variable. More... | |
template<typename Coeff > | |
bool | carl::operator== (const Monomial::Arg &lhs, const Term< Coeff > &rhs) |
Compares two arguments where one is a term and the other is either a term, a monomial or a variable. More... | |
template<typename Coeff > | |
bool | carl::operator== (Variable lhs, const Term< Coeff > &rhs) |
Compares two arguments where one is a term and the other is either a term, a monomial or a variable. More... | |
template<typename Coeff > | |
bool | carl::operator== (const Coeff &lhs, const Term< Coeff > &rhs) |
Compares two arguments where one is a term and the other is either a term, a monomial or a variable. More... | |
template<typename Coeff > | |
bool | carl::operator!= (const Term< Coeff > &lhs, const Term< Coeff > &rhs) |
Compares two arguments where one is a term and the other is either a term, a monomial or a variable. More... | |
template<typename Coeff > | |
bool | carl::operator!= (const Term< Coeff > &lhs, const Monomial::Arg &rhs) |
Compares two arguments where one is a term and the other is either a term, a monomial or a variable. More... | |
template<typename Coeff > | |
bool | carl::operator!= (const Term< Coeff > &lhs, Variable rhs) |
Compares two arguments where one is a term and the other is either a term, a monomial or a variable. More... | |
template<typename Coeff > | |
bool | carl::operator!= (const Term< Coeff > &lhs, const Coeff &rhs) |
Compares two arguments where one is a term and the other is either a term, a monomial or a variable. More... | |
template<typename Coeff > | |
bool | carl::operator!= (const Monomial::Arg &lhs, const Term< Coeff > &rhs) |
Compares two arguments where one is a term and the other is either a term, a monomial or a variable. More... | |
template<typename Coeff > | |
bool | carl::operator!= (Variable lhs, const Term< Coeff > &rhs) |
Compares two arguments where one is a term and the other is either a term, a monomial or a variable. More... | |
template<typename Coeff > | |
bool | carl::operator!= (const Coeff &lhs, const Term< Coeff > &rhs) |
Compares two arguments where one is a term and the other is either a term, a monomial or a variable. More... | |
template<typename Coeff > | |
bool | carl::operator< (const Term< Coeff > &lhs, const Term< Coeff > &rhs) |
Compares two arguments where one is a term and the other is either a term, a monomial or a variable. More... | |
template<typename Coeff > | |
bool | carl::operator< (const Term< Coeff > &lhs, const Monomial::Arg &rhs) |
Compares two arguments where one is a term and the other is either a term, a monomial or a variable. More... | |
template<typename Coeff > | |
bool | carl::operator< (const Term< Coeff > &lhs, Variable rhs) |
Compares two arguments where one is a term and the other is either a term, a monomial or a variable. More... | |
template<typename Coeff > | |
bool | carl::operator< (const Term< Coeff > &lhs, const Coeff &rhs) |
Compares two arguments where one is a term and the other is either a term, a monomial or a variable. More... | |
template<typename Coeff > | |
bool | carl::operator< (const Monomial::Arg &lhs, const Term< Coeff > &rhs) |
Compares two arguments where one is a term and the other is either a term, a monomial or a variable. More... | |
template<typename Coeff > | |
bool | carl::operator< (Variable lhs, const Term< Coeff > &rhs) |
Compares two arguments where one is a term and the other is either a term, a monomial or a variable. More... | |
template<typename Coeff > | |
bool | carl::operator< (const Coeff &lhs, const Term< Coeff > &rhs) |
Compares two arguments where one is a term and the other is either a term, a monomial or a variable. More... | |
template<typename Coeff > | |
bool | carl::operator<= (const Term< Coeff > &lhs, const Term< Coeff > &rhs) |
Compares two arguments where one is a term and the other is either a term, a monomial or a variable. More... | |
template<typename Coeff > | |
bool | carl::operator<= (const Term< Coeff > &lhs, const Monomial::Arg &rhs) |
Compares two arguments where one is a term and the other is either a term, a monomial or a variable. More... | |
template<typename Coeff > | |
bool | carl::operator<= (const Term< Coeff > &lhs, Variable rhs) |
Compares two arguments where one is a term and the other is either a term, a monomial or a variable. More... | |
template<typename Coeff > | |
bool | carl::operator<= (const Term< Coeff > &lhs, const Coeff &rhs) |
Compares two arguments where one is a term and the other is either a term, a monomial or a variable. More... | |
template<typename Coeff > | |
bool | carl::operator<= (const Monomial::Arg &lhs, const Term< Coeff > &rhs) |
Compares two arguments where one is a term and the other is either a term, a monomial or a variable. More... | |
template<typename Coeff > | |
bool | carl::operator<= (Variable lhs, const Term< Coeff > &rhs) |
Compares two arguments where one is a term and the other is either a term, a monomial or a variable. More... | |
template<typename Coeff > | |
bool | carl::operator<= (const Coeff &lhs, const Term< Coeff > &rhs) |
Compares two arguments where one is a term and the other is either a term, a monomial or a variable. More... | |
template<typename Coeff > | |
bool | carl::operator> (const Term< Coeff > &lhs, const Term< Coeff > &rhs) |
Compares two arguments where one is a term and the other is either a term, a monomial or a variable. More... | |
template<typename Coeff > | |
bool | carl::operator> (const Term< Coeff > &lhs, const Monomial::Arg &rhs) |
Compares two arguments where one is a term and the other is either a term, a monomial or a variable. More... | |
template<typename Coeff > | |
bool | carl::operator> (const Term< Coeff > &lhs, Variable rhs) |
Compares two arguments where one is a term and the other is either a term, a monomial or a variable. More... | |
template<typename Coeff > | |
bool | carl::operator> (const Term< Coeff > &lhs, const Coeff &rhs) |
Compares two arguments where one is a term and the other is either a term, a monomial or a variable. More... | |
template<typename Coeff > | |
bool | carl::operator> (const Monomial::Arg &lhs, const Term< Coeff > &rhs) |
Compares two arguments where one is a term and the other is either a term, a monomial or a variable. More... | |
template<typename Coeff > | |
bool | carl::operator> (Variable lhs, const Term< Coeff > &rhs) |
Compares two arguments where one is a term and the other is either a term, a monomial or a variable. More... | |
template<typename Coeff > | |
bool | carl::operator> (const Coeff &lhs, const Term< Coeff > &rhs) |
Compares two arguments where one is a term and the other is either a term, a monomial or a variable. More... | |
template<typename Coeff > | |
bool | carl::operator>= (const Term< Coeff > &lhs, const Term< Coeff > &rhs) |
Compares two arguments where one is a term and the other is either a term, a monomial or a variable. More... | |
template<typename Coeff > | |
bool | carl::operator>= (const Term< Coeff > &lhs, const Monomial::Arg &rhs) |
Compares two arguments where one is a term and the other is either a term, a monomial or a variable. More... | |
template<typename Coeff > | |
bool | carl::operator>= (const Term< Coeff > &lhs, Variable rhs) |
Compares two arguments where one is a term and the other is either a term, a monomial or a variable. More... | |
template<typename Coeff > | |
bool | carl::operator>= (const Term< Coeff > &lhs, const Coeff &rhs) |
Compares two arguments where one is a term and the other is either a term, a monomial or a variable. More... | |
template<typename Coeff > | |
bool | carl::operator>= (const Monomial::Arg &lhs, const Term< Coeff > &rhs) |
Compares two arguments where one is a term and the other is either a term, a monomial or a variable. More... | |
template<typename Coeff > | |
bool | carl::operator>= (Variable lhs, const Term< Coeff > &rhs) |
Compares two arguments where one is a term and the other is either a term, a monomial or a variable. More... | |
template<typename Coeff > | |
bool | carl::operator>= (const Coeff &lhs, const Term< Coeff > &rhs) |
Compares two arguments where one is a term and the other is either a term, a monomial or a variable. More... | |
Multiplication operators | |
template<typename Coeff > | |
Term< Coeff > | carl::operator* (Term< Coeff > lhs, const Term< Coeff > &rhs) |
Perform a multiplication involving a term. More... | |
template<typename Coeff > | |
Term< Coeff > | carl::operator* (Term< Coeff > lhs, const Monomial::Arg &rhs) |
Perform a multiplication involving a term. More... | |
template<typename Coeff > | |
Term< Coeff > | carl::operator* (Term< Coeff > lhs, Variable rhs) |
Perform a multiplication involving a term. More... | |
template<typename Coeff > | |
Term< Coeff > | carl::operator* (Term< Coeff > lhs, const Coeff &rhs) |
Perform a multiplication involving a term. More... | |
template<typename Coeff > | |
Term< Coeff > | carl::operator* (const Monomial::Arg &lhs, const Term< Coeff > &rhs) |
Perform a multiplication involving a term. More... | |
template<typename Coeff , EnableIf< carl::is_number_type< Coeff >> = dummy> | |
Term< Coeff > | carl::operator* (const Monomial::Arg &lhs, const Coeff &rhs) |
Perform a multiplication involving a term. More... | |
template<typename Coeff > | |
Term< Coeff > | carl::operator* (Variable lhs, const Term< Coeff > &rhs) |
Perform a multiplication involving a term. More... | |
template<typename Coeff > | |
Term< Coeff > | carl::operator* (Variable lhs, const Coeff &rhs) |
Perform a multiplication involving a term. More... | |
template<typename Coeff > | |
Term< Coeff > | carl::operator* (const Coeff &lhs, const Term< Coeff > &rhs) |
Perform a multiplication involving a term. More... | |
template<typename Coeff , EnableIf< carl::is_number_type< Coeff >> = dummy> | |
Term< Coeff > | carl::operator* (const Coeff &lhs, const Monomial::Arg &rhs) |
Perform a multiplication involving a term. More... | |
template<typename Coeff > | |
Term< Coeff > | carl::operator* (const Coeff &lhs, Variable rhs) |
Perform a multiplication involving a term. More... | |
template<typename Coeff , EnableIf< carl::is_subset_of_rationals_type< Coeff >> = dummy> | |
Term< Coeff > | carl::operator/ (const Term< Coeff > &lhs, const Coeff &rhs) |
Perform a multiplication involving a term. More... | |
template<typename Coeff , EnableIf< carl::is_subset_of_rationals_type< Coeff >> = dummy> | |
Term< Coeff > | carl::operator/ (const Monomial::Arg &lhs, const Coeff &rhs) |
Perform a multiplication involving a term. More... | |
template<typename Coeff , EnableIf< carl::is_subset_of_rationals_type< Coeff >> = dummy> | |
Term< Coeff > | carl::operator/ (Variable &lhs, const Coeff &rhs) |
Perform a multiplication involving a term. More... | |