Developer documentation

mmx::binary_sleeve_subdivision< K > Struct Template Reference

#include <solver_uv_sleeve.hpp>

Inheritance diagram for mmx::binary_sleeve_subdivision< K >:

Public Types

typedef K::integer integer
 
typedef K::rational rational
 
typedef double creal_t
 
typedef unsigned sz_t
 
typedef binary_subdivision< K > Base_t
 
typedef Base_t::unsigned_t unsigned_t
 
typedef res_t Domain_t
 

Public Member Functions

const Domain_toperator[] (int i) const
 
Domain_toperator[] (int i)
 

Static Public Member Functions

static void alloc (sz_t s, sz_t deep)
 
static void barre (char c, unsigned n)
 
static void writebounds (creal_t *pup, creal_t *pdw, unsigned s)
 
static bool glue (sz_t cup, sz_t cdw, int d)
 
static void mstore (sz_t cup, sz_t cdw, int d)
 
static void dwsplit (creal_t *r, creal_t *l, sz_t s)
 
static void upsplit (creal_t *r, creal_t *l, sz_t s)
 
static void Loop (bool isole=true)
 
template<class input >
static void run_loop (const input &in, const creal_t &eps, const texp::true_t &)
 
template<class output , class input >
static void solve_bernstein (output &out, const input &in)
 
template<class VECT , class POL , class Q >
static void init_pol (VECT &ubp, VECT &dbp, const POL &r, unsigned sz, const Q &u, const Q &v)
 
template<class input >
static void run (const input &in, const creal_t &eps)
 
template<class C >
static void run (const sleeve_rep< C > &p)
 
template<class input >
static void run (const input &up, const input &dw)
 
template<typename output , typename POL , typename Q >
static void solve (output &sol, const POL &r, const Q &u, const Q &v)
 
template<class output , class input , class real , class MTH >
static void solve_bernstein (output &sol, const input &up, const input &dw, const real &u, const real &v, const MTH &mth)
 
template<typename output , typename POL , typename real , typename MTH >
static void solve_bernstein (output &sol, const POL &r, const real &u, const real &v, const MTH &mth)
 

Detailed Description

template<class K>
struct mmx::binary_sleeve_subdivision< K >

Solver class using sleeve approximation with coefficients of type C.

Member Typedef Documentation

template<class K >
typedef binary_subdivision<K> mmx::binary_sleeve_subdivision< K >::Base_t
template<class K >
typedef double mmx::binary_sleeve_subdivision< K >::creal_t
template<class K >
typedef res_t mmx::binary_sleeve_subdivision< K >::Domain_t
template<class K >
typedef K::integer mmx::binary_sleeve_subdivision< K >::integer
template<class K >
typedef K::rational mmx::binary_sleeve_subdivision< K >::rational
template<class K >
typedef unsigned mmx::binary_sleeve_subdivision< K >::sz_t

Member Function Documentation

template<class K >
static void mmx::binary_sleeve_subdivision< K >::alloc ( sz_t  s,
sz_t  deep 
)
inlinestatic
template<class K >
static void mmx::binary_sleeve_subdivision< K >::barre ( char  c,
unsigned  n 
)
inlinestatic
template<class K >
static void mmx::binary_sleeve_subdivision< K >::dwsplit ( creal_t r,
creal_t l,
sz_t  s 
)
inlinestatic
template<class K >
static bool mmx::binary_sleeve_subdivision< K >::glue ( sz_t  cup,
sz_t  cdw,
int  d 
)
inlinestatic
template<class K >
template<class VECT , class POL , class Q >
void mmx::binary_sleeve_subdivision< K >::init_pol ( VECT &  ubp,
VECT &  dbp,
const POL r,
unsigned  sz,
const Q &  u,
const Q &  v 
)
inlinestatic
template<class K >
static void mmx::binary_sleeve_subdivision< K >::Loop ( bool  isole = true)
inlinestatic
template<class K >
static void mmx::binary_sleeve_subdivision< K >::mstore ( sz_t  cup,
sz_t  cdw,
int  d 
)
inlinestatic
template<class K >
const Domain_t& mmx::binary_sleeve_subdivision< K >::operator[] ( int  i) const
inline
template<class K >
Domain_t& mmx::binary_sleeve_subdivision< K >::operator[] ( int  i)
inline
template<class K >
template<class input >
static void mmx::binary_sleeve_subdivision< K >::run ( const input &  in,
const creal_t eps 
)
inlinestatic
template<class K >
template<class C >
static void mmx::binary_sleeve_subdivision< K >::run ( const sleeve_rep< C > &  p)
inlinestatic
template<class K >
template<class input >
static void mmx::binary_sleeve_subdivision< K >::run ( const input &  up,
const input &  dw 
)
inlinestatic
template<class K >
template<class input >
static void mmx::binary_sleeve_subdivision< K >::run_loop ( const input &  in,
const creal_t eps,
const texp::true_t  
)
inlinestatic
template<class K >
template<typename output , typename POL , typename Q >
void mmx::binary_sleeve_subdivision< K >::solve ( output &  sol,
const POL r,
const Q &  u,
const Q &  v 
)
static

Compute the roots of the polynomial r expressed in the monomial basis, in the interval [u,v]. If MTH=Isolate, the ordered sequence of isolating intervals is stored in sol. If MTH=Approx, the ordered sequence of approximation of the roots is stored in sol.

template<class K >
template<class output , class input >
static void mmx::binary_sleeve_subdivision< K >::solve_bernstein ( output &  out,
const input &  in 
)
inlinestatic
template<class K >
template<class output , class input , class real , class MTH >
static void mmx::binary_sleeve_subdivision< K >::solve_bernstein ( output &  sol,
const input &  up,
const input &  dw,
const real &  u,
const real &  v,
const MTH &  mth 
)
inlinestatic
template<class K >
template<typename output , typename POL , typename real , typename MTH >
static void mmx::binary_sleeve_subdivision< K >::solve_bernstein ( output &  sol,
const POL r,
const real &  u,
const real &  v,
const MTH &  mth 
)
inlinestatic

Compute the roots of the polynomial r expressed in the bernstein basis, on the interval [u,v]. If MTH=Isolate, the ordered sequence of isolating intervals is stored in sol. If MTH=Approx, the ordered sequence of approximation of the roots is stored in sol.

template<class K >
static void mmx::binary_sleeve_subdivision< K >::upsplit ( creal_t r,
creal_t l,
sz_t  s 
)
inlinestatic
template<class K >
static void mmx::binary_sleeve_subdivision< K >::writebounds ( creal_t pup,
creal_t pdw,
unsigned  s 
)
inlinestatic

The documentation for this struct was generated from the following file:
Home