1 #ifndef realroot_sparse_monomial_glue_hpp 
    2 #define realroot_sparse_monomial_glue_hpp 
    3 #include <basix/mmx_syntax.hpp> 
    4 #include <numerix/kernel.hpp> 
    7 #define TMPL template <class C> 
    8 #define RING ring<C, Sparse,DegRevLex > 
    9 #define Polynomial polynomial< C, with<Sparse,DegRevLex> > 
   11 #define SparseDegRevLex with<Sparse,DegRevLex> 
   24     syntactic CF= 
flatten(scalar_set<C>());
 
   25     vector<syntactic> Lv; Lv <<CF;
 
   26     for(
int i=0;i<rg.nbvar();i++)
 
   27       Lv<<syntactic(RING::var[i].data());
 
   28     return apply (GEN_ACCESS, Lv);
 
   34     for(nat i=0;i<
N(s);i++)   v <<
" "<<s[i];
 
   41     for(nat i=0;i<
N(s);i++) v <<
" "<<as_mmx(s[i]);
 
   47     for(nat j=0;j<
N(s);j++) 
 
   53     typedef typename Polynomial::const_iterator iterator;
 
   54     typedef typename Polynomial::Ring           Ring;
 
   56     for(iterator it=p.begin(); it!=p.end();it++) {
 
   57       syntactic m= 
flatten(it->coeff());
 
   58       for(
unsigned i=0;i<it->nbvar();i++) {
 
   59     syntactic v = Ring::var[i].data();
 
   60     m = m*
pow(v,syntactic((*it)[i]));
 
   90    for(
unsigned i=0; i< l.
size(); i++)
 
   91      r<< as<generic>(l[i]);
 
   97    typedef typename Polynomial::const_iterator const_iterator;
 
   99    for(const_iterator it=p.begin(); it!=p.end();it++)
 
  100      r<< as<generic>(it->coeff());
 
  106    typedef typename Polynomial::const_iterator const_iterator;
 
  109    for(const_iterator it=p.begin(); it!=p.end();it++){
 
  119   return sparse::eval<generic>(p.rep(),v);
 
  127 #endif //realroot_sparse_monomial_glue_hpp 
bool operator==(const extended< NT > &lhs, const extended< NT > &rhs)
Definition: extended.hpp:88
TMPL RING ring_sparse_string(const scalar_set< C > &rg, const vector< string > &s)
Definition: polynomial_sparse_glue.hpp:32
Sequence of terms with reference counter. 
Definition: Seq.hpp:28
T pow(const T &a, int i)
Definition: binomials.hpp:12
TMPL generic polynomial_sparse_eval_generic(const Polynomial &p, const vector< generic > &v)
Definition: polynomial_sparse_glue.hpp:118
TMPL bool exact_neq(const Monomial &v1, const Monomial &v2)
Definition: monomial_glue.hpp:24
TMPL Polynomial polynomial_sparse(const RING &r, const C &c)
Definition: polynomial_sparse_glue.hpp:68
#define TMPL
Definition: polynomial_sparse_glue.hpp:7
#define Polynomial
Definition: polynomial_sparse_glue.hpp:9
#define Monomial
Definition: monomial.hpp:56
TMPL RING ring_sparse_generic(const scalar_set< C > &rg, const vector< generic > &s)
Definition: polynomial_sparse_glue.hpp:39
TMPL int N(const MONOMIAL &v)
Definition: monomial_glue.hpp:60
TMPL unsigned exact_hash(const Monomial &m)
Definition: monomial_glue.hpp:32
TMPL unsigned hash(const Monomial &v)
Definition: monomial_glue.hpp:26
TMPL vector< generic > polynomial_sparse_monomials(const Polynomial &p)
Definition: polynomial_sparse_glue.hpp:105
polynomial< COEFF, with< MonomialTensor > > Polynomial
Definition: solver_mv_cf.cpp:23
size_type size() const 
Definition: Seq.hpp:166
#define RING
Definition: polynomial_sparse_glue.hpp:8
TMPL syntactic flatten(const MONOMIAL &v)
Definition: monomial_glue.hpp:36
char * as_charp(const scalar< MPZ > &b)
Definition: scalar_integer.hpp:444
TMPL bool exact_eq(const Monomial &v1, const Monomial &v2)
Definition: monomial_glue.hpp:23
TMPL RING ring_sparse_extend_generic(const RING &R, const vector< generic > &s)
Definition: polynomial_sparse_glue.hpp:45
const C & c
Definition: Interval_glue.hpp:45
double C
Definition: solver_mv_fatarcs.cpp:16
bool operator!=(const extended< NT > &lhs, const extended< NT > &rhs)
Definition: extended.hpp:95
TMPL int nbvar(const Polynomial &mp)
Definition: polynomial_fcts.hpp:43
TMPL vector< generic > polynomial_sparse_coefficients(const Polynomial &f, const int &v)
Definition: polynomial_sparse_glue.hpp:87
TMPL unsigned soft_hash(const Monomial &m)
Definition: monomial_glue.hpp:33
TMPL Seq< typename ring< C, Bernstein >::Polynomial > coefficients(const typename ring< C, Bernstein >::Polynomial &pol, int v)
Definition: polynomial_bernstein.hpp:74