carl  24.04
Computer ARithmetic Library
carl::detail Namespace Reference

Data Structures

struct  stream_joined_impl
 
struct  tuple_accumulate_impl
 Helper functor for carl::tuple_accumulate that actually does the work. More...
 
struct  variant_is_type_visitor
 
struct  variant_extend_visitor
 
struct  variant_hash
 
struct  is_from_variant_wrapper
 
struct  is_from_variant_wrapper< Check, T, Variant< Args... > >
 

Functions

uint next_prime (const uint &n, const PrimeFactory< uint > &pf)
 
mpz_class next_prime (const mpz_class &n, const PrimeFactory< mpz_class > &)
 
template<typename Coeff , typename Integer >
UnivariatePolynomial< Coeffexclude_linear_factors (const UnivariatePolynomial< Coeff > &poly, FactorMap< Coeff > &linearFactors, const Integer &maxInt)
 
template<typename CoeffType >
void var_info_term (VarInfo< CoeffType > &info, const typename CoeffType::TermType &term, const Variable var, bool collect_coeff)
 
template<typename Coeff , typename Ordering , typename Policies >
void vars_info_term (VarsInfo< MultivariatePolynomial< Coeff, Ordering, Policies >> &infos, const typename MultivariatePolynomial< Coeff, Ordering, Policies >::TermType &term, bool collect_coeff)
 
template<typename Tuple , std::size_t... I>
std::ostream & stream_tuple_impl (std::ostream &os, const Tuple &t, std::index_sequence< I... >)
 Helper function that actually outputs a std::tuple. More...
 
template<typename T , typename F >
std::ostream & operator<< (std::ostream &os, const stream_joined_impl< T, F > &sji)
 
template<typename Tuple1 , typename Tuple2 , std::size_t... I1, std::size_t... I2>
auto tuple_cat_impl (Tuple1 &&t1, Tuple2 &&t2, std::index_sequence< I1... >, std::index_sequence< I2... >)
 Helper method for carl::tuple_apply that actually performs the call. More...
 
template<typename Tuple , std::size_t... I>
auto tuple_tail_impl (Tuple &&t, std::index_sequence< I... >)
 Helper method for carl::tuple_tail that actually performs the call. More...
 
template<typename F , typename Tuple , std::size_t... I>
auto tuple_apply_impl (F &&f, Tuple &&t, std::index_sequence< I... >)
 Helper method for carl::tuple_apply that actually performs the call. More...
 
template<typename F , typename Tuple , std::size_t... I>
auto tuple_foreach_impl (F &&f, Tuple &&t, std::index_sequence< I... >)
 Helper method for carl::tuple_foreach that actually does the work. More...
 

Function Documentation

◆ exclude_linear_factors()

template<typename Coeff , typename Integer >
UnivariatePolynomial<Coeff> carl::detail::exclude_linear_factors ( const UnivariatePolynomial< Coeff > &  poly,
FactorMap< Coeff > &  linearFactors,
const Integer maxInt 
)

Definition at line 88 of file Factorization_univariate.h.

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

◆ next_prime() [1/2]

mpz_class carl::detail::next_prime ( const mpz_class &  n,
const PrimeFactory< mpz_class > &   
)
inline

Definition at line 60 of file PrimeFactory.h.

◆ next_prime() [2/2]

uint carl::detail::next_prime ( const uint n,
const PrimeFactory< uint > &  pf 
)
inline

Definition at line 50 of file PrimeFactory.h.

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

◆ operator<<()

template<typename T , typename F >
std::ostream& carl::detail::operator<< ( std::ostream &  os,
const stream_joined_impl< T, F > &  sji 
)

Definition at line 297 of file streamingOperators.h.

◆ stream_tuple_impl()

template<typename Tuple , std::size_t... I>
std::ostream& carl::detail::stream_tuple_impl ( std::ostream &  os,
const Tuple &  t,
std::index_sequence< I... >   
)

Helper function that actually outputs a std::tuple.

The format is (<item>, <item>, ...)

Parameters
osOutput stream.
ttuple to be printed.
Returns
Output stream.

Definition at line 199 of file streamingOperators.h.

Here is the caller graph for this function:

◆ tuple_apply_impl()

template<typename F , typename Tuple , std::size_t... I>
auto carl::detail::tuple_apply_impl ( F &&  f,
Tuple &&  t,
std::index_sequence< I... >   
)

Helper method for carl::tuple_apply that actually performs the call.

Definition at line 80 of file tuple_util.h.

Here is the caller graph for this function:

◆ tuple_cat_impl()

template<typename Tuple1 , typename Tuple2 , std::size_t... I1, std::size_t... I2>
auto carl::detail::tuple_cat_impl ( Tuple1 &&  t1,
Tuple2 &&  t2,
std::index_sequence< I1... >  ,
std::index_sequence< I2... >   
)

Helper method for carl::tuple_apply that actually performs the call.

Definition at line 18 of file tuple_util.h.

Here is the caller graph for this function:

◆ tuple_foreach_impl()

template<typename F , typename Tuple , std::size_t... I>
auto carl::detail::tuple_foreach_impl ( F &&  f,
Tuple &&  t,
std::index_sequence< I... >   
)

Helper method for carl::tuple_foreach that actually does the work.

Definition at line 100 of file tuple_util.h.

Here is the caller graph for this function:

◆ tuple_tail_impl()

template<typename Tuple , std::size_t... I>
auto carl::detail::tuple_tail_impl ( Tuple &&  t,
std::index_sequence< I... >   
)

Helper method for carl::tuple_tail that actually performs the call.

Definition at line 37 of file tuple_util.h.

Here is the caller graph for this function:

◆ var_info_term()

template<typename CoeffType >
void carl::detail::var_info_term ( VarInfo< CoeffType > &  info,
const typename CoeffType::TermType &  term,
const Variable  var,
bool  collect_coeff 
)
inline

Definition at line 11 of file VarInfo.h.

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

◆ vars_info_term()

template<typename Coeff , typename Ordering , typename Policies >
void carl::detail::vars_info_term ( VarsInfo< MultivariatePolynomial< Coeff, Ordering, Policies >> &  infos,
const typename MultivariatePolynomial< Coeff, Ordering, Policies >::TermType &  term,
bool  collect_coeff 
)
inline

Definition at line 33 of file VarInfo.h.

Here is the call graph for this function: