carl  24.04
Computer ARithmetic Library
FactorizedPolynomial.h File Reference
Include dependency graph for FactorizedPolynomial.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

class  carl::FactorizedPolynomial< P >
 
struct  carl::needs_cache_type< FactorizedPolynomial< P > >
 
struct  carl::is_factorized_type< FactorizedPolynomial< P > >
 
struct  std::hash< carl::FactorizedPolynomial< P > >
 

Namespaces

 carl
 carl is the main namespace for the library.
 

Macros

#define ASSERT_CACHE_EQUAL(_cacheA, _cacheB)   assert( _cacheA == nullptr || _cacheB == nullptr || _cacheA == _cacheB )
 
#define ASSERT_CACHE_REF_LEGAL(_fp)   assert( (_fp.pCache() == nullptr) == (_fp.cacheRef() == CACHE::NO_REF) )
 

Typedefs

template<typename P >
using carl::Coeff = typename UnderlyingNumberType< P >::type
 

Functions

template<typename P >
bool carl::is_one (const FactorizedPolynomial< P > &fp)
 
template<typename P >
bool carl::is_zero (const FactorizedPolynomial< P > &fp)
 
template<typename P >
carl::computePolynomial (const FactorizedPolynomial< P > &_fpoly)
 Obtains the polynomial (representation) of this factorized polynomial. More...
 
template<typename P >
std::ostream & carl::operator<< (std::ostream &_out, const FactorizedPolynomial< P > &_fpoly)
 Prints the factorization representation of the given factorized polynomial on the given output stream. More...
 
Equality comparison operators
template<typename P >
bool carl::operator== (const FactorizedPolynomial< P > &_lhs, const FactorizedPolynomial< P > &_rhs)
 Checks if the two arguments are equal. More...
 
template<typename P >
bool carl::operator== (const FactorizedPolynomial< P > &_lhs, const typename FactorizedPolynomial< P >::CoeffType &_rhs)
 Checks if the two arguments are equal. More...
 
template<typename P >
bool carl::operator== (const typename FactorizedPolynomial< P >::CoeffType &_lhs, const FactorizedPolynomial< P > &_rhs)
 Checks if the two arguments are equal. More...
 
Inequality comparison operators
template<typename P >
bool carl::operator!= (const FactorizedPolynomial< P > &_lhs, const FactorizedPolynomial< P > &_rhs)
 Checks if the two arguments are not equal. More...
 
template<typename P >
bool carl::operator!= (const FactorizedPolynomial< P > &_lhs, const typename FactorizedPolynomial< P >::CoeffType &_rhs)
 Checks if the two arguments are not equal. More...
 
template<typename P >
bool carl::operator!= (const typename FactorizedPolynomial< P >::CoeffType &_lhs, const FactorizedPolynomial< P > &_rhs)
 Checks if the two arguments are not equal. More...
 
Less than comparison operators
template<typename P >
bool carl::operator< (const FactorizedPolynomial< P > &_lhs, const FactorizedPolynomial< P > &_rhs)
 Checks if the first arguments is less than the second. More...
 
template<typename P >
bool carl::operator< (const FactorizedPolynomial< P > &_lhs, const typename FactorizedPolynomial< P >::CoeffType &_rhs)
 Checks if the first arguments is less than the second. More...
 
template<typename P >
bool carl::operator< (const typename FactorizedPolynomial< P >::CoeffType &_lhs, const FactorizedPolynomial< P > &_rhs)
 Checks if the first arguments is less than the second. More...
 
Less or equal comparison operators
template<typename P >
bool carl::operator<= (const FactorizedPolynomial< P > &_lhs, const FactorizedPolynomial< P > &_rhs)
 Checks if the first arguments is less or equal than the second. More...
 
template<typename P >
bool carl::operator<= (const FactorizedPolynomial< P > &_lhs, const typename FactorizedPolynomial< P >::CoeffType &_rhs)
 Checks if the first arguments is less or equal than the second. More...
 
template<typename P >
bool carl::operator<= (const typename FactorizedPolynomial< P >::CoeffType &_lhs, const FactorizedPolynomial< P > &_rhs)
 Checks if the first arguments is less or equal than the second. More...
 
Greater than comparison operators
template<typename P >
bool carl::operator> (const FactorizedPolynomial< P > &_lhs, const FactorizedPolynomial< P > &_rhs)
 Checks if the first arguments is greater than the second. More...
 
template<typename P >
bool carl::operator> (const FactorizedPolynomial< P > &_lhs, const typename FactorizedPolynomial< P >::CoeffType &_rhs)
 Checks if the first arguments is greater than the second. More...
 
template<typename P >
bool carl::operator> (const typename FactorizedPolynomial< P >::CoeffType &_lhs, const FactorizedPolynomial< P > &_rhs)
 Checks if the first arguments is greater than the second. More...
 
Greater or equal comparison operators
template<typename P >
bool carl::operator>= (const FactorizedPolynomial< P > &_lhs, const FactorizedPolynomial< P > &_rhs)
 Checks if the first arguments is greater or equal than the second. More...
 
template<typename P >
bool carl::operator>= (const FactorizedPolynomial< P > &_lhs, const typename FactorizedPolynomial< P >::CoeffType &_rhs)
 Checks if the first arguments is greater or equal than the second. More...
 
template<typename P >
bool carl::operator>= (const typename FactorizedPolynomial< P >::CoeffType &_lhs, const FactorizedPolynomial< P > &_rhs)
 Checks if the first arguments is greater or equal than the second. More...
 
Addition operators
template<typename P >
FactorizedPolynomial< P > carl::operator+ (const FactorizedPolynomial< P > &_lhs, const FactorizedPolynomial< P > &_rhs)
 Performs an addition involving a polynomial. More...
 
template<typename P >
FactorizedPolynomial< P > carl::operator+ (const FactorizedPolynomial< P > &_lhs, const typename FactorizedPolynomial< P >::CoeffType &_rhs)
 Performs an addition involving a polynomial. More...
 
template<typename P >
FactorizedPolynomial< P > carl::operator+ (const typename FactorizedPolynomial< P >::CoeffType &_lhs, const FactorizedPolynomial< P > &_rhs)
 Performs an addition involving a polynomial. More...
 
Subtraction operators
template<typename P >
FactorizedPolynomial< P > carl::operator- (const FactorizedPolynomial< P > &_lhs, const FactorizedPolynomial< P > &_rhs)
 Performs an subtraction involving a polynomial. More...
 
template<typename P >
FactorizedPolynomial< P > carl::operator- (const FactorizedPolynomial< P > &_lhs, const typename FactorizedPolynomial< P >::CoeffType &_rhs)
 Performs an subtraction involving a polynomial. More...
 
template<typename P >
FactorizedPolynomial< P > carl::operator- (const typename FactorizedPolynomial< P >::CoeffType &_lhs, const FactorizedPolynomial< P > &_rhs)
 Performs an subtraction involving a polynomial. More...
 
Multiplication operators
template<typename P >
FactorizedPolynomial< P > carl::operator* (const FactorizedPolynomial< P > &_lhs, const FactorizedPolynomial< P > &_rhs)
 Perform a multiplication involving a polynomial. More...
 
template<typename P >
FactorizedPolynomial< P > carl::operator* (const FactorizedPolynomial< P > &_lhs, const typename FactorizedPolynomial< P >::CoeffType &_rhs)
 Perform a multiplication involving a polynomial. More...
 
template<typename P >
FactorizedPolynomial< P > carl::operator* (const typename FactorizedPolynomial< P >::CoeffType &_lhs, const FactorizedPolynomial< P > &_rhs)
 Perform a multiplication involving a polynomial. More...
 
template<typename P >
FactorizedPolynomial< P > carl::operator/ (const FactorizedPolynomial< P > &_lhs, const typename FactorizedPolynomial< P >::CoeffType &_rhs)
 Perform a multiplication involving a polynomial. More...
 

Macro Definition Documentation

◆ ASSERT_CACHE_EQUAL

#define ASSERT_CACHE_EQUAL (   _cacheA,
  _cacheB 
)    assert( _cacheA == nullptr || _cacheB == nullptr || _cacheA == _cacheB )

Definition at line 93 of file FactorizedPolynomial.h.

◆ ASSERT_CACHE_REF_LEGAL

#define ASSERT_CACHE_REF_LEGAL (   _fp)    assert( (_fp.pCache() == nullptr) == (_fp.cacheRef() == CACHE::NO_REF) )

Definition at line 95 of file FactorizedPolynomial.h.