BoolePolynomial.h File Reference

#include <vector>
#include <map>
#include <algorithm>
#include "BooleRing.h"
#include "CDDInterface.h"
#include "CTermIter.h"
#include "CBidirectTermIter.h"
#include "pbori_func.h"
#include "pbori_tags.h"
#include "BooleSet.h"
#include "BooleConstant.h"

Go to the source code of this file.

Classes

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

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 by The PolyBoRi Team

Define Documentation

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

Multiplication with other left-hand side type.

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

Multiplication with other left-hand side type.


Function Documentation

BoolePolynomial::bool_type operator!= ( BoolePolynomial::bool_type  lhs,
const BoolePolynomial rhs 
) [inline]

Nonquality check (with constant lhs).

template<class RHSType >
BoolePolynomial operator% ( const BoolePolynomial lhs,
const RHSType &  rhs 
) [inline]

Modulus monomial (division remainder).

BoolePolynomial operator* ( const BooleConstant lhs,
const BoolePolynomial rhs 
) [inline]
BoolePolynomial operator* ( const BooleExponent lhs,
const BoolePolynomial rhs 
) [inline]
BoolePolynomial operator* ( const BooleMonomial lhs,
const BoolePolynomial rhs 
) [inline]
BoolePolynomial operator* ( const BoolePolynomial lhs,
const BooleConstant rhs 
) [inline]
BoolePolynomial operator* ( const BoolePolynomial lhs,
const BooleExponent rhs 
) [inline]
BoolePolynomial operator* ( const BoolePolynomial lhs,
const BooleMonomial rhs 
) [inline]
BoolePolynomial operator* ( const BoolePolynomial lhs,
const BoolePolynomial rhs 
) [inline]
BoolePolynomial operator+ ( BooleConstant  lhs,
const BoolePolynomial rhs 
) [inline]

Addition operation.

BoolePolynomial operator+ ( const BoolePolynomial lhs,
BooleConstant  rhs 
) [inline]

Addition operation.

BoolePolynomial operator+ ( const BoolePolynomial lhs,
const BoolePolynomial rhs 
) [inline]

Addition operation.

BoolePolynomial operator- ( const BooleConstant lhs,
const BoolePolynomial rhs 
) [inline]

Subtraction operation with constant right-hand-side.

template<class RHSType >
BoolePolynomial operator- ( const BoolePolynomial lhs,
const RHSType &  rhs 
) [inline]

Subtraction operation.

template<class RHSType >
BoolePolynomial operator/ ( const BoolePolynomial lhs,
const RHSType &  rhs 
) [inline]

Division by monomial (skipping remainder).

Stream output operator.

References BoolePolynomial::print().

BoolePolynomial::bool_type operator== ( BoolePolynomial::bool_type  lhs,
const BoolePolynomial rhs 
) [inline]

Equality check (with constant lhs).


Generated on 23 Dec 2009 for PolyBoRi by  doxygen 1.6.1