carl  24.04
Computer ARithmetic Library
carl::TarskiQueryManager< Number > Class Template Reference

#include <TarskiQueryManager.h>

Collaboration diagram for carl::TarskiQueryManager< Number >:

Public Types

using QueryResultType = int
 

Public Member Functions

 TarskiQueryManager ()=default
 
template<typename InputIt >
 TarskiQueryManager (InputIt first, InputIt last)
 
QueryResultType operator() (const Polynomial &p) const
 
QueryResultType operator() (const Number &c) const
 
Polynomial reduceProduct (const Polynomial &a, const Polynomial &b) const
 

Private Types

using Polynomial = MultivariatePolynomial< Number >
 

Private Member Functions

bool isUnivariateManager () const
 
bool getCached (const Polynomial &p, QueryResultType &res) const
 
void cache (const Polynomial &p, const QueryResultType res) const
 

Private Attributes

UnivariatePolynomial< Number > mZ = UnivariatePolynomial<Number>(Variable::NO_VARIABLE)
 
UnivariatePolynomial< Number > mDer = UnivariatePolynomial<Number>(Variable::NO_VARIABLE)
 
MultiplicationTable< Number > mTab
 
bool mTrivialGb = false
 
std::map< Polynomial, QueryResultTypemCache
 

Detailed Description

template<typename Number>
class carl::TarskiQueryManager< Number >

Definition at line 25 of file TarskiQueryManager.h.

Member Typedef Documentation

◆ Polynomial

template<typename Number >
using carl::TarskiQueryManager< Number >::Polynomial = MultivariatePolynomial<Number>
private

Definition at line 31 of file TarskiQueryManager.h.

◆ QueryResultType

template<typename Number >
using carl::TarskiQueryManager< Number >::QueryResultType = int

Definition at line 28 of file TarskiQueryManager.h.

Constructor & Destructor Documentation

◆ TarskiQueryManager() [1/2]

template<typename Number >
carl::TarskiQueryManager< Number >::TarskiQueryManager ( )
default

◆ TarskiQueryManager() [2/2]

template<typename Number >
template<typename InputIt >
carl::TarskiQueryManager< Number >::TarskiQueryManager ( InputIt  first,
InputIt  last 
)
inline

Definition at line 47 of file TarskiQueryManager.h.

Here is the call graph for this function:

Member Function Documentation

◆ cache()

template<typename Number >
void carl::TarskiQueryManager< Number >::cache ( const Polynomial p,
const QueryResultType  res 
) const
inlineprivate

Definition at line 149 of file TarskiQueryManager.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ getCached()

template<typename Number >
bool carl::TarskiQueryManager< Number >::getCached ( const Polynomial p,
QueryResultType res 
) const
inlineprivate

Definition at line 137 of file TarskiQueryManager.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ isUnivariateManager()

template<typename Number >
bool carl::TarskiQueryManager< Number >::isUnivariateManager ( ) const
inlineprivate

Definition at line 130 of file TarskiQueryManager.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator()() [1/2]

template<typename Number >
QueryResultType carl::TarskiQueryManager< Number >::operator() ( const Number &  c) const
inline

Definition at line 111 of file TarskiQueryManager.h.

◆ operator()() [2/2]

template<typename Number >
QueryResultType carl::TarskiQueryManager< Number >::operator() ( const Polynomial p) const
inline

Definition at line 76 of file TarskiQueryManager.h.

Here is the call graph for this function:

◆ reduceProduct()

template<typename Number >
Polynomial carl::TarskiQueryManager< Number >::reduceProduct ( const Polynomial a,
const Polynomial b 
) const
inline

Definition at line 115 of file TarskiQueryManager.h.

Here is the call graph for this function:

Field Documentation

◆ mCache

template<typename Number >
std::map<Polynomial, QueryResultType> carl::TarskiQueryManager< Number >::mCache
mutableprivate

Definition at line 41 of file TarskiQueryManager.h.

◆ mDer

template<typename Number >
UnivariatePolynomial<Number> carl::TarskiQueryManager< Number >::mDer = UnivariatePolynomial<Number>(Variable::NO_VARIABLE)
private

Definition at line 35 of file TarskiQueryManager.h.

◆ mTab

template<typename Number >
MultiplicationTable<Number> carl::TarskiQueryManager< Number >::mTab
private

Definition at line 38 of file TarskiQueryManager.h.

◆ mTrivialGb

template<typename Number >
bool carl::TarskiQueryManager< Number >::mTrivialGb = false
private

Definition at line 39 of file TarskiQueryManager.h.

◆ mZ

template<typename Number >
UnivariatePolynomial<Number> carl::TarskiQueryManager< Number >::mZ = UnivariatePolynomial<Number>(Variable::NO_VARIABLE)
private

Definition at line 34 of file TarskiQueryManager.h.


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