#include <vector>
#include <map>
#include <algorithm>
#include <polybori/BoolePolyRing.h>
#include <polybori/routines/pbori_func.h>
#include <polybori/common/tags.h>
#include <polybori/BooleSet.h>
#include <polybori/iterators/CTermIter.h>
#include <polybori/iterators/CGenericIter.h>
#include <polybori/iterators/CBidirectTermIter.h>
#include <polybori/BooleConstant.h>
Go to the source code of this file.
Namespaces | |
namespace | polybori |
Classes | |
class | polybori::BoolePolynomial |
This class wraps the underlying decicion diagram type and defines the necessary operations. More... | |
Defines | |
#define | PBORI_RHS_MULT(type) |
Multiplication with other left-hand side type. | |
#define | PBORI_LHS_MULT(type) |
Multiplication with other left-hand side type. | |
Functions | |
BoolePolynomial | polybori::operator+ (const BoolePolynomial &lhs, const BoolePolynomial &rhs) |
Addition operation. | |
BoolePolynomial | polybori::operator+ (const BoolePolynomial &lhs, BooleConstant rhs) |
Addition operation. | |
BoolePolynomial | polybori::operator+ (BooleConstant lhs, const BoolePolynomial &rhs) |
Addition operation. | |
template<class RHSType> | |
BoolePolynomial | polybori::operator- (const BoolePolynomial &lhs, const RHSType &rhs) |
Subtraction operation. | |
BoolePolynomial | polybori::operator- (const BooleConstant &lhs, const BoolePolynomial &rhs) |
Subtraction operation with constant right-hand-side. | |
BoolePolynomial | polybori::operator* (const BoolePolynomial &lhs, const BoolePolynomial &rhs) |
BoolePolynomial | polybori::operator* (const BoolePolynomial &lhs, const BooleMonomial &rhs) |
BoolePolynomial | polybori::operator* (const BoolePolynomial &lhs, const BooleExponent &rhs) |
BoolePolynomial | polybori::operator* (const BoolePolynomial &lhs, const BooleConstant &rhs) |
BoolePolynomial | polybori::operator* (const BooleMonomial &lhs, const BoolePolynomial &rhs) |
BoolePolynomial | polybori::operator* (const BooleExponent &lhs, const BoolePolynomial &rhs) |
BoolePolynomial | polybori::operator* (const BooleConstant &lhs, const BoolePolynomial &rhs) |
template<class RHSType> | |
BoolePolynomial | polybori::operator/ (const BoolePolynomial &lhs, const RHSType &rhs) |
Division by monomial (skipping remainder). | |
template<class RHSType> | |
BoolePolynomial | polybori::operator% (const BoolePolynomial &lhs, const RHSType &rhs) |
Modulus monomial (division remainder). | |
BoolePolynomial::bool_type | polybori::operator== (BoolePolynomial::bool_type lhs, const BoolePolynomial &rhs) |
Equality check (with constant lhs). | |
BoolePolynomial::bool_type | polybori::operator!= (BoolePolynomial::bool_type lhs, const BoolePolynomial &rhs) |
Nonquality check (with constant lhs). | |
BoolePolynomial::ostream_type & | polybori::operator<< (BoolePolynomial::ostream_type &, const BoolePolynomial &) |
Stream output operator. |
BoolePolynomial
, which can be used to access the boolean polynomials with respect to the polynomial ring, which was active on initialization time.
#define PBORI_LHS_MULT | ( | type | ) |
Value:
inline BoolePolynomial \ operator*(const type& lhs, const BoolePolynomial& rhs) { return rhs * lhs; }
#define PBORI_RHS_MULT | ( | type | ) |
Value:
inline BoolePolynomial \ operator*(const BoolePolynomial& lhs, const type& rhs) { \ return BoolePolynomial(lhs) *= rhs; }