AMulet 2.0
AIG Multiplier Verification Tool
Polynomial Class Reference

#include <polynomial.h>

Collaboration diagram for Polynomial:

Public Member Functions

 Polynomial ()
 
 Polynomial (int _idx)
 
int get_idx () const
 
void set_idx (int idx_)
 
int get_level () const
 
void set_level (int level_)
 
std::deque< Monomial * >::const_iterator mon_begin () const
 
std::deque< Monomial * >::const_iterator mon_end () const
 
void mon_push_back (Monomial *m)
 
void mon_push_front (Monomial *m)
 
Termget_lt () const
 
Polynomialcopy () const
 
void print (FILE *file, bool end=1) const
 
 ~Polynomial ()
 
bool is_constant_zero_poly () const
 
bool is_constant_one_poly () const
 
int min_term_size () const
 

Private Attributes

int idx
 index as used in pac proofs More...
 
int level = 1
 level of polynomials needed for certificates More...
 
std::deque< Monomial * > mon
 sorted deque of monomials More...
 

Detailed Description

This class is used to polynomials.

Constructor & Destructor Documentation

Polynomial::Polynomial ( )

Constructor

Polynomial::Polynomial ( int  _idx)

Constructor

Parameters
_idxdefault for index is zero
Polynomial::~Polynomial ( )

Destructor

Member Function Documentation

Polynomial * Polynomial::copy ( ) const

Copy routine

Returns
A hard copy of the current polynomial
int Polynomial::get_idx ( ) const
inline

Getter for member idx

Returns
integer
int Polynomial::get_level ( ) const
inline

Getter for member level

Returns
integer
Term* Polynomial::get_lt ( ) const
inline

Returns the leading term

Returns
Term*
bool Polynomial::is_constant_one_poly ( ) const

Returns whether the polynomial is the constant one polynomial

Returns
bool
bool Polynomial::is_constant_zero_poly ( ) const

Returns whether the polynomial is the constant zero polynomial

Returns
bool
int Polynomial::min_term_size ( ) const

Returns the size of the smallest term

Returns
integer
std::deque<Monomial*>::const_iterator Polynomial::mon_begin ( ) const
inline

Getter for begin of mon

Returns
std::deque<Monomial*>::const_iterator
std::deque<Monomial*>::const_iterator Polynomial::mon_end ( ) const
inline

Getter for end of mon

Returns
std::deque<Monomial*>::const_iterator
void Polynomial::mon_push_back ( Monomial m)
inline

Appends monomial m to mon

Parameters
mMonomial*
void Polynomial::mon_push_front ( Monomial m)
inline

Prepends monomial m to mon

Parameters
mMonomial*
void Polynomial::print ( FILE *  file,
bool  end = 1 
) const

Printing routine

Parameters
fileOutput file
endif true we print trailing ";"
void Polynomial::set_idx ( int  idx_)
inline

Setter for idx

Parameters
idx_integer
void Polynomial::set_level ( int  level_)
inline

Setter for level

Parameters
level_integer

Member Data Documentation

int Polynomial::idx
private

index as used in pac proofs

int Polynomial::level = 1
private

level of polynomials needed for certificates

std::deque<Monomial*> Polynomial::mon
private

sorted deque of monomials


The documentation for this class was generated from the following files: