1 #ifndef realroot_ring_bernstein_glue_hpp
2 #define realroot_ring_bernstein_glue_hpp
3 #include <basix/mmx_syntax.hpp>
4 #include <numerix/kernel.hpp>
10 #define TMPL template <class C>
11 #define RING ring<C,Bernstein>
12 #define POLYNOMIAL polynomial<C, with<Bernstein> >
28 syntactic CF=
flatten(scalar_set<C>());
29 vector<syntactic> Lv; Lv <<CF;
30 for(
int i=0;i<rg.nbvar();i++) {
31 Lv<<syntactic(RING::var[i].data());
33 Lv<<syntactic(
"Bernstein");
34 return apply (GEN_ACCESS, Lv);
40 for(nat i=0;i<
N(s);i++) v <<
" "<<s[i];
46 typedef ring<C, Bernstein > Ring;
48 for(
int i=0; i<r.nbvar(); i++) {
50 if(i<r.nbvar()-1) v +=
" ";
52 return RING(v.data());;
58 for(
int i=0; i<r.nbvar(); i++) {
59 v += ring<C, Sparse, DegRevLex >::var[i];
60 if(i<r.nbvar()-1) v +=
" ";
62 return RING(v.data());;
69 for(nat i=0;i<
N(s);i++) v <<
" "<<as_mmx(s[i]);
76 for(nat j=0;j<
N(s);j++)
116 TMPL polynomial<C, with<Sparse,DegRevLex> >
118 polynomial<C, with<Sparse,DegRevLex> > r;
123 TMPL polynomial<C, with<MonomialTensor> >
125 polynomial<C, with<MonomialTensor> > r;
134 for(
unsigned i=0; i< l.
size(); i++)
135 r<< as<generic>(l[i]);
142 for(
unsigned i=0; i< p.size();i++)
143 r<< as<generic>(p[i]);
151 #endif //realroot_ring_bernstein_tensor_glue_hpp
void print_flatten(SYNTAX &out, const monomials< C > &mpl, const variables &Var=monom< C >::var)
Definition: tensor_monomials_fcts.hpp:332
bool operator==(const extended< NT > &lhs, const extended< NT > &rhs)
Definition: extended.hpp:88
Sequence of terms with reference counter.
Definition: Seq.hpp:28
const C & b
Definition: Interval_glue.hpp:25
TMPL bool exact_neq(const Monomial &v1, const Monomial &v2)
Definition: monomial_glue.hpp:24
TMPL POLYNOMIAL polynomial_bernstein_tensor(const RING &r, const C &c)
Definition: ring_bernstein_tensor_glue.hpp:90
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
size_type size() const
Definition: Seq.hpp:166
TMPL RING ring_bernstein_of(const ring< C, Sparse, DegRevLex > &r)
Definition: polynomial_bernstein_glue.hpp:56
TMPL POLYNOMIAL polynomial_bernstein_tensor_of(const polynomial< C, with< Sparse, DegRevLex > > &f)
Definition: ring_bernstein_tensor_glue.hpp:110
TMPL polynomial< C, with< Sparse, DegRevLex > > polynomial_sparse_of(const POLYNOMIAL &f)
Definition: polynomial_bernstein_glue.hpp:117
#define TMPL
Definition: ring_bernstein_tensor_glue.hpp:10
TMPL RING ring_bernstein_extend_generic(const RING &R, const vector< generic > &s)
Definition: polynomial_bernstein_glue.hpp:74
TMPL POLYNOMIAL
Definition: polynomial_operators.hpp:148
TMPL vector< generic > polynomial_bernstein_tensor_coefficients(const POLYNOMIAL &f, const int &v)
Definition: ring_bernstein_tensor_glue.hpp:131
TMPL syntactic flatten(const MONOMIAL &v)
Definition: monomial_glue.hpp:36
Definition: polynomial.hpp:37
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
#define DECLARE_CLASS(X, S)
Definition: declare_glue.hpp:4
TMPL RING ring_tensor_of(const ring< C, Bernstein > &r)
Definition: polynomial_bernstein_glue.hpp:45
const C & c
Definition: Interval_glue.hpp:45
TMPL RING ring_bernstein_generic(const scalar_set< C > &rg, const Bernstein &b, const vector< generic > &s)
Definition: polynomial_bernstein_glue.hpp:67
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
void convert(scalar< MPF > &n, char *s)
Definition: scalar_floating.hpp:433
void convertb2m(monomials< C > &mpl)
Definition: tensor_bernstein_fcts.hpp:26
TMPL RING ring_bernstein_string(const scalar_set< C > &rg, const vector< string > &s)
Definition: polynomial_bernstein_glue.hpp:38
TMPL unsigned soft_hash(const Monomial &m)
Definition: monomial_glue.hpp:33
Definition: polynomial.hpp:40
TMPL polynomial< C, with< MonomialTensor > > polynomial_tensor_of(const POLYNOMIAL &f)
Definition: polynomial_bernstein_glue.hpp:124
#define RING
Definition: ring_bernstein_tensor_glue.hpp:11
TMPL Seq< typename ring< C, Bernstein >::Polynomial > coefficients(const typename ring< C, Bernstein >::Polynomial &pol, int v)
Definition: polynomial_bernstein.hpp:74