1 #ifndef realroot_tensor_monomial_hpp
2 #define realroot_tensor_monomial_hpp
40 template<
class X,
class O>
41 monomials(
const sparse::monomial_seq<X,O>& );
50 const_iterator
begin()
const {
return &(data[0]); };
51 const_iterator
end()
const {
return &(data[
esz()]); };
57 const_reverse_iterator
65 const_reverse_iterator
71 int esz()
const {
return env.
sz(); };
72 int size()
const {
return env.
sz(); };
74 int nvr()
const {
return env.
nvr(); };
78 const int *
szs()
const {
return env.
szs(); };
79 const int *
vrs()
const {
return env.
vrs(); };
80 const int *
str()
const {
return env.
str(); };
84 bool hasvar(
int& lv,
int gv )
const;
86 return esz() == 1 && data[0] ==
c; }
90 const C entry(std::vector<int> deg);
103 # define Polynomial tensor::monomials<C>
104 # define TMPL template<class C>
106 template<
class A,
class B>
struct use;
int * str()
Definition: tensor_monomials.hpp:77
#define TMPL
Definition: tensor_monomials.hpp:104
const C & b
Definition: Interval_glue.hpp:25
const_iterator begin() const
Definition: tensor_monomials.hpp:50
const C * const_iterator
Definition: tensor_monomials.hpp:25
reverse_iterator rend()
Definition: tensor_monomials.hpp:62
void add(bernstein< C > &mpl, const C &c)
Definition: tensor_bernstein_fcts.hpp:53
void swap(monomials< C > &a)
Definition: tensor_monomials.hpp:88
int * szs()
Definition: tensor_eenv_fcts.hpp:12
MP swap(const MP &P, int var_i, int var_j)
Definition: sparse_monomials.hpp:988
static void sub(Polynomial &r, const Polynomial &a, const C &b)
Definition: tensor_monomials.hpp:140
void mul(bernstein< C > &r, const bernstein< C > &a, const bernstein< C > &b)
Definition: tensor_bernstein_fcts.hpp:142
reverse_iterator rbegin()
Definition: tensor_monomials.hpp:54
static void add(Polynomial &r, const C &a, const Polynomial &b)
Definition: tensor_monomials.hpp:124
const int * str() const
Definition: tensor_monomials.hpp:80
bool hasvar(int &lv, int gv) const
int size() const
Definition: tensor_monomials.hpp:72
static void mul(Polynomial &r, const C &a, const Polynomial &b)
Definition: tensor_monomials.hpp:155
int * vrs()
Definition: tensor_eenv_fcts.hpp:18
const C & operator[](int i) const
Definition: tensor_monomials.hpp:82
const_reverse_iterator rend() const
Definition: tensor_monomials.hpp:66
C coeff_t
Definition: tensor_monomials.hpp:20
static void sub(Polynomial &r, const Polynomial &a, const Polynomial &b)
Definition: tensor_monomials.hpp:132
static void sub(Polynomial &r, const Polynomial &a)
Definition: tensor_monomials.hpp:128
int * str()
Definition: tensor_eenv_fcts.hpp:21
Definition: tensor_eenv.hpp:9
static void sub(Polynomial &r, const C &a, const Polynomial &b)
Definition: tensor_monomials.hpp:136
int * vrs()
Definition: tensor_monomials.hpp:76
static binomials< C > binoms
Definition: tensor_monomials.hpp:30
static void div(Polynomial &r, const Polynomial &a, const C &b)
Definition: tensor_monomials.hpp:163
bool operator==(const C &c) const
Definition: tensor_monomials.hpp:85
C * iterator
Definition: tensor_monomials.hpp:23
const_reverse_iterator rbegin() const
Definition: tensor_monomials.hpp:58
polynomial< COEFF, with< MonomialTensor > > Polynomial
Definition: solver_mv_cf.cpp:23
void sub(bernstein< C > &r, const bernstein< C > &a)
Definition: tensor_bernstein_fcts.hpp:105
vector_type data
Definition: tensor_monomials.hpp:32
C * begin()
Definition: tensor_monomials.hpp:47
C & operator[](int i)
Definition: tensor_monomials.hpp:83
int nvr() const
number of variables
Definition: tensor_eenv_fcts.hpp:9
int nbvar() const
Definition: tensor_monomials.hpp:73
static void add(Polynomial &r, const Polynomial &a, const C &b)
Definition: tensor_monomials.hpp:120
C * end()
Definition: tensor_monomials.hpp:48
std::vector< C > vector_type
Definition: tensor_monomials.hpp:21
coeff_t value_type
Definition: tensor_monomials.hpp:29
const int * vrs() const
Definition: tensor_monomials.hpp:79
monomials()
Definition: tensor_monomials_fcts.hpp:22
const C entry(std::vector< int > deg)
Definition: tensor_monomials_fcts.hpp:479
Definition: tensor_monomials.hpp:18
const_iterator end() const
Definition: tensor_monomials.hpp:51
Definition: polynomial.hpp:37
static void mul(Polynomial &r, const Polynomial &a, const C &b)
Definition: tensor_monomials.hpp:152
void resize(int l)
Definition: tensor_monomials.hpp:46
static void mul(Polynomial &r, const Polynomial &a, const Polynomial &b)
Definition: tensor_monomials.hpp:148
vector_type::size_type size_type
Definition: tensor_monomials.hpp:28
int sz() const
return the total number of coefficients of the dense representation
Definition: tensor_eenv_fcts.hpp:16
int nvr() const
Definition: tensor_monomials.hpp:74
Definition: binomials.hpp:68
int esz() const
Definition: tensor_monomials.hpp:71
std::reverse_iterator< const_iterator > const_reverse_iterator
Definition: tensor_monomials.hpp:27
int * szs()
Definition: tensor_monomials.hpp:75
static void div(Polynomial &r, const Polynomial &a, const Polynomial &b)
Definition: tensor_monomials.hpp:159
const C & c
Definition: Interval_glue.hpp:45
static void mul(Polynomial &r, const Polynomial &a)
Definition: tensor_monomials.hpp:144
const int * szs() const
Definition: tensor_monomials.hpp:78
double C
Definition: solver_mv_fatarcs.cpp:16
static void add(Polynomial &r, const Polynomial &a, const Polynomial &b)
Definition: tensor_monomials.hpp:116
void div(bernstein< C > &r, const bernstein< C > &a, const C &c)
Definition: tensor_bernstein_fcts.hpp:178
eenv env
Definition: tensor_monomials.hpp:31
static void add(Polynomial &r, const Polynomial &a)
Definition: tensor_monomials.hpp:112
std::reverse_iterator< iterator > reverse_iterator
Definition: tensor_monomials.hpp:26