Developer documentation

polynomial_bernstein.hpp
Go to the documentation of this file.
1 #ifndef realroot_ring_bernstein_hpp
2 #define realroot_ring_bernstein_hpp
3 
18 #include <realroot/Seq.hpp>
21 #include <realroot/monomial.hpp>
22 #include <realroot/polynomial.hpp>
23 #include <realroot/ring.hpp>
24 
25 #define TMPL template<class C,class B>
26 #define RING ring<C,B>
27 
28 namespace mmx {
29  struct Bernstein {};
30 
31  //----------------------------------------------------------------------
32  template<class C>
34 
36  typedef C Scalar;
38  typedef monom<C> Monomial;
40 
41  };
42 
43  template<class C>
44  struct ring<C, Bernstein > {
46  typedef C Scalar;
48  typedef monom<C> Monomial;
50 
52  // typedef self_t var_t;
53 
54  ring(const char* s) {var = variables(s); }
55 
56  static variables var;
57  static variables& vars () { return var;}
58  static int nbvar() { return var.nbvar(); }
59 
60  Polynomial operator[](int i) const {
61  return Polynomial((C)1,1,i);
62  }
63  };
64 
65  //--------------------------------------------------------------------
66  template<class C> struct ring_of;
67  template<class C> struct ring_of<polynomial<C,with<Bernstein> > > {
69  } ;
70  //--------------------------------------------------------------------
71  template<class C> variables ring<C,Bernstein>::var;
72  //--------------------------------------------------------------------
74  coefficients(const typename ring<C,Bernstein>::Polynomial& pol, int v ) {
76 
77  return res;
78  }
79 
80  //====================================================================
81 } //namespace mmx
82 #undef TMPL
83 #undef RING
84 #undef Polynomial
85 #endif // realroot_polynom_mdse_hpp
Sequence of terms with reference counter.
Definition: Seq.hpp:28
Definition: polynomial_bernstein.hpp:44
C Scalar
Definition: polynomial_bernstein.hpp:36
tensor::bernstein< C > rep_t
Definition: polynomial_bernstein.hpp:45
ring(const char *s)
Definition: polynomial_bernstein.hpp:54
Polynomial operator[](int i) const
Definition: polynomial_bernstein.hpp:60
ring< C, Bernstein > self_t
Definition: polynomial_bernstein.hpp:51
ring< C, Bernstein > Ring
Definition: polynomial_bernstein.hpp:68
Ring of polynomials.
Definition: ring.hpp:48
Definition: polynomial.hpp:43
static variables var
Definition: polynomial_bernstein.hpp:56
monom< C > Monomial
Definition: polynomial_bernstein.hpp:48
static variables var
Definition: ring.hpp:62
polynomial< C, with< Bernstein > > Polynomial
Definition: polynomial_bernstein.hpp:37
Definition: polynomial.hpp:34
Definition: polynomial.hpp:37
polynomial< C, with< Bernstein > > Polynomial
Definition: polynomial_bernstein.hpp:47
polynomial< C, with< B, O > > Polynomial
Definition: ring.hpp:50
int nbvar() const
Definition: variables.hpp:90
Generic ring class.
Definition: polynomial_bernstein.hpp:66
static variables & vars()
Definition: polynomial_bernstein.hpp:57
double C
Definition: solver_mv_fatarcs.cpp:16
monom< C > Monomial
Definition: polynomial_bernstein.hpp:38
Monomial class.
Definition: monomial.hpp:62
C Scalar
Definition: polynomial_bernstein.hpp:46
Definition: polynomial_bernstein.hpp:29
ring< C, Bernstein > Ring
Definition: polynomial_bernstein.hpp:39
Definition: array.hpp:12
Definition: variables.hpp:65
static int nbvar()
Definition: polynomial_bernstein.hpp:58
tensor::bernstein< C > rep_t
Definition: polynomial_bernstein.hpp:35
ring< C, Bernstein > Ring
Definition: polynomial_bernstein.hpp:49
#define TMPL
Definition: polynomial_bernstein.hpp:25
Definition: polynomial.hpp:40
Definition: tensor_bernstein.hpp:13
TMPL Seq< typename ring< C, Bernstein >::Polynomial > coefficients(const typename ring< C, Bernstein >::Polynomial &pol, int v)
Definition: polynomial_bernstein.hpp:74
Home