Developer documentation

univariate.hpp File Reference
#include <iostream>
#include <math.h>
#include <realroot/assign.hpp>
#include <realroot/array.hpp>

Go to the source code of this file.

Classes

struct  mmx::univariate::monomials< C >
 
struct  mmx::use< A, B >
 
struct  mmx::use< operators_of, Polynomial >
 

Namespaces

 mmx
 
 mmx::univariate
 Module for Univariate POLynomials with a Direct Access Representation.
 

Macros

#define TMPL   template<class C>
 
#define TMPLX   template<class C, class X>
 
#define Polynomial   monomials<C>
 
#define MMX_WITH_PLUS_SIGN
 
#define Polynomial   univariate::monomials<C>
 
#define TMPL   template<class C>
 

Functions

template<class X >
bool mmx::with_plus_sign (const X &x)
 
template<class R >
int mmx::univariate::degree (const R &p)
 
TMPL int mmx::univariate::degree (const Polynomial &a)
 
TMPL int mmx::univariate::check_degree (Polynomial &a)
 
TMPL void mmx::univariate::add (Polynomial &r, const Polynomial &a, const Polynomial &b)
 
TMPL void mmx::univariate::add (Polynomial &r, const Polynomial &a, const C &c)
 
TMPL void mmx::univariate::add (Polynomial &r, const C &c)
 
TMPL void mmx::univariate::add (Polynomial &r, const Polynomial &a)
 
TMPL void mmx::univariate::sub (Polynomial &r, const Polynomial &a, const Polynomial &b)
 
TMPL void mmx::univariate::sub (Polynomial &r, const Polynomial &a)
 
TMPL void mmx::univariate::sub (Polynomial &r, const Polynomial &a, const C &c)
 
TMPLX void mmx::univariate::sub (Polynomial &r, const Polynomial &a, const X &x)
 
TMPL void mmx::univariate::sub (Polynomial &r, const C &c)
 
TMPL void mmx::univariate::mul (Polynomial &r, const Polynomial &a, const Polynomial &b)
 
TMPL void mmx::univariate::mul (Polynomial &r, const C &c)
 Multiplication of a polynomial by a monomial or a scalar. More...
 
TMPL void mmx::univariate::mul (Polynomial &a, const Polynomial &b)
 Multiplication of a polynomial by a polynomial;. More...
 
TMPL void mmx::univariate::mul (Polynomial &r, const Polynomial &p, const C &c)
 
TMPL void mmx::univariate::shift (Polynomial &r, const Polynomial &p, int d, int v=0)
 
TMPL void mmx::univariate::div (Polynomial &r, const Polynomial &a, const Polynomial &b)
 
TMPL void mmx::univariate::div (Polynomial &r, const Polynomial &b)
 
TMPL void mmx::univariate::div (Polynomial &r, const C &c)
 
template<class R >
R::value_type mmx::univariate::lcoeff (const R &p)
 
template<class R >
R::value_type mmx::univariate::tcoeff (const R &p)
 
template<class OSTREAM , class C >
OSTREAM & mmx::univariate::print_as_coeff (OSTREAM &os, const C &c, bool plus)
 
template<class OSTREAM , class C , class VAR >
OSTREAM & mmx::univariate::print (OSTREAM &os, const Polynomial &p, const VAR &var)
 
template<class OSTREAM , class C >
OSTREAM & mmx::univariate::print (OSTREAM &os, const Polynomial &p)
 
template<class R , class C >
void mmx::univariate::set_monomial (R &x, const C &c, unsigned n)
 
template<class R , class S >
void mmx::univariate::add_cst (R &r, const S &c)
 
template<class R , class S >
void mmx::univariate::sub_cst (R &r, const S &c)
 
template<class R >
void mmx::univariate::mul_index (R &r, const R &a, const R &b)
 
template<class R >
void mmx::univariate::mul_index_it (R &r, const R &a, const R &b)
 
template<class R >
void mmx::univariate::mul (R &a, const R &b)
 
template<class R >
void mmx::univariate::mul_index (R &a, const R &b)
 
template<class C , class R >
C mmx::univariate::eval_horner (const R &p, const C &c)
 
template<class C , class R >
C mmx::univariate::eval_horner_idx (const R &p, const C &c)
 
template<class C , class R >
C mmx::univariate::eval (const R &p, const C &c)
 
template<class C , class R >
C mmx::univariate::eval_homogeneous (const R &p, const C &a, const C &b)
 
template<typename POL , typename X >
int mmx::univariate::sign_at (const POL &p, const X &x)
 
template<class R >
void mmx::univariate::div_rem (R &q, R &a, const R &b)
 
template<class R >
void mmx::univariate::checkdegree (R &p)
 
template<class R >
mmx::univariate::diff (const R &p)
 
template<class R >
void mmx::univariate::reciprocal (R &w, const R &p)
 
template<class R >
void mmx::univariate::reverse (R &p, typename R::size_type n)
 
template<class R >
R::value_type mmx::univariate::derive (const R p, typename R::value_type x)
 
template<class R >
void mmx::univariate::reduce (R &p, const typename R::size_type &e)
 
template<class R , class C >
void mmx::univariate::scale (R &t, const R &p, const C &l)
 
template<class R >
void mmx::univariate::diff (R &r, const R &p)
 
template<class T >
void mmx::univariate::reduce (T &p, const typename T::size_type &e)
 
template<class T >
void mmx::univariate::reverse (T &p, int n)
 
template<class O , class R , class I >
void mmx::univariate::eval (O &p, O &dp, const R &Pol, const I &x)
 
template<class R >
R::value_type mmx::univariate::derive (const R &Pol, const typename R::value_type &x)
 
template<class R , class C >
void mmx::univariate::shift (R &p, const C &c)
 
template<class R , class C >
void mmx::univariate::shift (R &r, const R &p, const C &x0)
 
template<class R , class C >
void mmx::univariate::inv_scale (R &r, const R &p, const C &l)
 
template<class T , class P , class C >
void mmx::univariate::convertm2b (T &bz, const P &p, unsigned size, const C &a, const C &b)
 
template<class R >
void mmx::univariate::coeff_modulo (R &r, const typename R::value_type &x)
 
template<class S , class R >
mmx::univariate::numer (const R &f)
 

Macro Definition Documentation

#define MMX_WITH_PLUS_SIGN
#define Polynomial   monomials<C>
#define Polynomial   univariate::monomials<C>
#define TMPL   template<class C>
#define TMPL   template<class C>
#define TMPLX   template<class C, class X>
Home