PolyBoRi
Classes | Namespaces | Macros | Functions
BoolePolynomial.h File Reference
#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.

Classes

class  polybori::CIndirectIter< IteratorType, MonomType >
 
class  polybori::COrderedIter< IteratorType, MonomType >
 
class  polybori::CDelayedTermIter< class, class, class, class >
 
class  polybori::CGenericIter< OrderType, NavigatorType, MonomType >
 
class  polybori::CExpIter< NavigatorType, ExpType >
 
class  polybori::BoolePolynomial
 This class wraps the underlying decicion diagram type and defines the necessary operations. More...
 

Namespaces

namespace  polybori
 

Macros

#define PBORI_RHS_MULT(type)
 Multiplication with other left-hand side type. More...
 
#define PBORI_LHS_MULT(type)
 Multiplication with other left-hand side type. More...
 

Functions

BoolePolynomial polybori::operator+ (const BoolePolynomial &lhs, const BoolePolynomial &rhs)
 Addition operation. More...
 
BoolePolynomial polybori::operator+ (const BoolePolynomial &lhs, BooleConstant rhs)
 Addition operation. More...
 
BoolePolynomial polybori::operator+ (BooleConstant lhs, const BoolePolynomial &rhs)
 Addition operation. More...
 
template<class RHSType >
BoolePolynomial polybori::operator- (const BoolePolynomial &lhs, const RHSType &rhs)
 Subtraction operation. More...
 
BoolePolynomial polybori::operator- (const BooleConstant &lhs, const BoolePolynomial &rhs)
 Subtraction operation with constant right-hand-side. More...
 
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) More...
 
template<class RHSType >
BoolePolynomial polybori::operator% (const BoolePolynomial &lhs, const RHSType &rhs)
 Modulus monomial (division remainder) More...
 
BoolePolynomial::bool_type polybori::operator== (BoolePolynomial::bool_type lhs, const BoolePolynomial &rhs)
 Equality check (with constant lhs) More...
 
BoolePolynomial::bool_type polybori::operator!= (BoolePolynomial::bool_type lhs, const BoolePolynomial &rhs)
 Nonquality check (with constant lhs) More...
 
BoolePolynomial::ostream_type & polybori::operator<< (BoolePolynomial::ostream_type &, const BoolePolynomial &)
 Stream output operator. More...
 

Detailed Description

Author
Alexander Dreyer
Date
2006-03-10

This file carries the definition of class BoolePolynomial, which can be used to access the boolean polynomials with respect to the polynomial ring, which was active on initialization time.

Copyright:
(c) 2006-2010 by The PolyBoRi Team

Macro Definition Documentation

#define PBORI_LHS_MULT (   type)
Value:
operator*(const type& lhs, const BoolePolynomial& rhs) { return rhs * lhs; }

Multiplication with other left-hand side type.

#define PBORI_RHS_MULT (   type)
Value:
operator*(const BoolePolynomial& lhs, const type& rhs) { \
return BoolePolynomial(lhs) *= rhs; }

Multiplication with other left-hand side type.