1 #ifndef realroot_ring_dual_hpp
2 #define realroot_ring_dual_hpp
19 #define TMPL template<class C, class O>
20 #define RING ring<C,Dual,O>
21 #define RING_POL ring<C,Sparse,O>
22 #define POL polynomial<C,with<Sparse,O> >
23 #define DUALPOL polynomial<C,with<Dual,O> >
29 template<
class A,
class B>
struct use;
30 template<
class C,
class V>
struct polynomial;
31 template<
class C,
class V>
struct with;
33 template<
class C,
class O>
34 struct use<polynomial_of,polynomial<C,with<Dual,O> > >{
48 template<
class C,
class O>
49 struct ring<C, Dual, O > {
66 int nbvar()
const {
return RING_POL::var.nbvar(); }
70 template<
class C,
class O> C
sample(
const RING&rg) {
return (C)0;}
77 template<class
P, class Q> struct mul_helper;
78 template<class C, class O> struct mul_helper<
79 polynomial< C, with<Sparse,O> >,
80 polynomial< C, with<Dual, O> > > {
84 template<
class C,
class O>
struct mul_helper<
85 polynomial< C, with<Dual, O> >,
86 polynomial< C, with<
Sparse,O> > > {
98 #endif //realroot_ring_dual.hpp
void mul(dual< C, O > &res, const dual< C, O > &a, const dual< C, O > &b)
Definition: sparse_dual.hpp:135
sparse::dual< C, O > rep_t
Definition: ring_dual.hpp:52
Polynomial operator[](int i) const
Definition: ring_dual.hpp:62
C Scalar
Definition: ring_dual.hpp:38
C sample(const RING &rg)
Definition: polynomial_dual.hpp:70
polynomial< C, with< Dual, O > > TYPE
Definition: ring_dual.hpp:81
Definition: sparse_dual.hpp:17
Dual ring of the polynomials.
Definition: polynomial_dual.hpp:49
Definition: polynomial_sparse.hpp:35
#define Monomial
Definition: monomial.hpp:56
polynomial< C, with< Dual, O > > Polynomial
Definition: ring_dual.hpp:40
Ring of polynomials.
Definition: ring.hpp:48
void mul(Interval< C, r > &a, const C &x)
Definition: Interval_fcts.hpp:259
C Scalar
Definition: ring_dual.hpp:54
polynomial< C, with< Sparse, O > > TYPE
Definition: ring_dual.hpp:87
sparse::dual< C, O > rep_t
Definition: ring_dual.hpp:36
polynomial< C, with< Dual, O > > Polynomial
Definition: ring_dual.hpp:56
rep_t::Monomial Monomial
Definition: ring_dual.hpp:55
Definition: polynomial.hpp:37
TMPL POL
Definition: polynomial_dual.hpp:74
polynomial< C, with< B, O > > Polynomial
Definition: ring.hpp:50
int nbvar() const
Definition: ring_dual.hpp:66
static variables & vars()
Definition: ring_dual.hpp:60
TMPL define_operator_rrr(DUALPOL, POL, DUALPOL, operator*, sparse::mul) TMPL define_operator_rrr(POL
RING Ring
Definition: ring_dual.hpp:58
TMPL DUALPOL
Definition: polynomial_dual.hpp:74
#define RING
Definition: ring_dual.hpp:20
rep_t::Monomial Monomial
Definition: ring_dual.hpp:39
Definition: variables.hpp:65
ring< C, Dual, O > Ring
Definition: ring_dual.hpp:41
#define TMPL
Definition: ring_dual.hpp:19
RING self_t
Definition: ring_dual.hpp:51