Developer documentation

mmx::bernstein::eenv Struct Reference

#include <bernstein_eenv.hpp>

Inheritance diagram for mmx::bernstein::eenv:
mmx::bernstein::eenv_base

Classes

struct  add
 

Public Types

typedef eenv_base::sz_t sz_t
 
- Public Types inherited from mmx::bernstein::eenv_base
typedef int sz_t
 

Public Member Functions

void _alloc_ (sz_t nvr)
 
 eenv ()
 
 eenv (sz_t szu, sz_t szv)
 
 eenv (sz_t nvr, sz_t const *szs, sz_t const *vrs)
 
void swap (eenv &e)
 
sz_t psz ()
 
sz_t psft (sz_t v)
 
 ~eenv ()
 
sz_t stride (sz_t v) const
 
sz_t var (sz_t v) const
 
int indexofvar (sz_t gv) const
 
void diff (eenv *e, sz_t v)
 
template<typename real_t >
real_t density (real_t *src, const real_t prec=1e-12, unsigned nsmp=0)
 
template<class real_t >
unsigned support (unsigned *supp, real_t *src, const real_t &prec=1e-6)
 
void op_mul (eenv *a, eenv *b)
 
template<typename real_t >
bool print_monom (std::ostream &o, const real_t &c, sz_t *add, bool first)
 
template<typename real_t >
void monoms_print (std::ostream &o, real_t *src)
 
- Public Member Functions inherited from mmx::bernstein::eenv_base
 eenv_base (sz_t nvr=0)
 
void set_szs (sz_t *szs)
 
sz_t sz (sz_t v) const
 
sz_t nvars () const
 
sz_t data_size () const
 
template<typename real_t >
void hodograph (real_t *dst, real_t *src, int v)
 
template<typename X , typename real_t >
void copy (X *dst, real_t const *const src)
 
template<typename real_t >
real_t eval (real_t *data, const real_t *prm, real_t *chunk=0)
 
template<typename real_t , typename X >
void spmeval (X &res, real_t *src, X *prm, unsigned *supp, unsigned nsupp) const
 
template<typename real_t , typename X >
void meval (X &res, real_t *data, const X *prm) const
 
template<typename real_t >
real_t monoms_eval (real_t *data, const real_t *prm) const
 
template<typename real_t >
void mins (real_t *_mins_, real_t const *const data, sz_t v) const
 
template<typename real_t >
void maxs (real_t *_maxs_, real_t const *const data, sz_t v) const
 
template<typename real_t >
void maxs (real_t *_maxs_, real_t const *const data) const
 
template<typename real_t >
void mins (real_t *_mins_, real_t const *const data) const
 
template<typename real_t >
void split (real_t *left, real_t *right, int v, const real_t &t)
 
template<typename real_t >
void split2 (real_t *left, real_t *right, int v)
 
template<typename real_t >
void lrestrict (real_t *data, int v, const real_t &mn)
 
template<typename real_t >
void rrestrict (real_t *data, int v, const real_t &mx)
 
template<typename real_t >
bool sgnchg (real_t *data)
 
template<typename real_t >
void scale (real_t *data)
 
template<typename real_t >
void fromMonoms (real_t *data, sz_t v, bzenv< real_t > *env=bzenv< real_t >::_default_)
 
template<typename real_t >
void fromMonoms (real_t *data, bzenv< real_t > *env=bzenv< real_t >::_default_)
 
template<typename real_t >
void toMonoms (real_t *data, sz_t v, bzenv< real_t > *env=bzenv< real_t >::_default_)
 
template<typename real_t >
void toMonoms (real_t *data, bzenv< real_t > *env=bzenv< real_t >::_default_)
 
template<typename real_t >
real_t flatness (real_t *data, int v)
 

Static Public Member Functions

template<typename real_t >
static void mdiff (eenv *res, eenv *a, real_t *dst, real_t const *const src, int v)
 
template<typename real_t >
static void monoms_derivative (eenv *res, eenv *a, real_t **dst, real_t **src, int v, int n=1)
 
static void vmap (sz_t *vmap, bernstein::eenv *o, bernstein::eenv *i)
 
static void oaddress (bernstein::eenv *oenv, unsigned *osupp, bernstein::eenv *ienv, unsigned *isupp=0, unsigned nsp=0)
 
template<class real_t , char op>
static void _mvrcvloop_ (bernstein::eenv *oenv, real_t *dst, bernstein::eenv *aenv, real_t *sra, bernstein::eenv *benv, real_t *srb, unsigned *asupp=0, unsigned nas=0, unsigned *oasup=0, unsigned *bsupp=0, unsigned nbs=0, unsigned *obsup=0)
 
template<typename real_t >
static void monoms_multiply_loop (eenv *o, eenv *a, eenv *b, real_t *dst, real_t *src_a, real_t *src_b)
 
template<typename real_t >
static void monoms_multiply (bernstein::eenv *res, bernstein::eenv *a, bernstein::eenv *b, real_t *dst, real_t *src_a, real_t *src_b)
 
template<typename real_t >
static void pmmul (eenv *oenv, real_t **dst, eenv *aenv, real_t **src_a, eenv *benv, real_t **src_b, int n, bool clear=true, unsigned *asupp=0, unsigned nas=0, unsigned *oasup=0, unsigned *bsupp=0, unsigned nbs=0, unsigned *obsup=0)
 
template<typename real_t >
static void mmul (eenv *oenv, real_t *dst, eenv *aenv, real_t *src_a, eenv *benv, real_t *src_b, bool clear=true, unsigned *asupp=0, unsigned nas=0, unsigned *oasupp=0, unsigned *bsupp=0, unsigned nbs=0, unsigned *obsupp=0)
 
template<typename real_t >
static void spmmul (eenv *oenv, real_t **dst, eenv *aenv, real_t **src_a, eenv *benv, real_t **src_b, int n, bool clear=true, bool stats=false)
 
template<typename real_t >
static void spmmul (eenv *oenv, real_t *dst, eenv *aenv, real_t *src_a, eenv *benv, real_t *src_b, bool clear=true, bool stats=false)
 
template<typename real_t >
static void mcrossp (eenv *oenv, real_t **dst, eenv *aenv, real_t **src_a, eenv *benv, real_t **src_b, bool clear=true, unsigned *asupp=0, unsigned nas=0, unsigned *oasup=0, unsigned *bsupp=0, unsigned nbs=0, unsigned *obsup=0)
 
template<typename real_t >
static void mcrossp (eenv *res, eenv *a, eenv *b, real_t **dst, real_t **src_a, real_t **src_b)
 
template<typename real_t >
static void monoms_crossprod (eenv *res, eenv *a, eenv *b, real_t **dst, real_t **src_a, real_t **src_b)
 
template<typename real_t >
static void mdotp (eenv *oenv, real_t *dst, eenv *aenv, real_t **src_a, eenv *benv, real_t **src_b, int n, bool clear=true, unsigned *asupp=0, unsigned nas=0, unsigned *oasup=0, unsigned *bsupp=0, unsigned nbs=0, unsigned *obsup=0)
 
template<typename real_t >
static void monoms_dotprod (eenv *res, eenv *a, eenv *b, real_t *&dst, real_t **src_a, real_t **src_b, int n)
 
template<class real_t >
static void rvbinoms (bernstein::eenv *ienv, real_t *bcff, unsigned *isupp=0, unsigned nsp=0, bernstein::bzenv< real_t > *bznv=bzenv< real_t >::_default_)
 
template<class real_t >
static void msimplify (eenv *ienv, real_t *data)
 
template<typename real_t >
static void elevation (eenv *out, eenv *in)
 
template<typename real_t >
static void elevation (eenv *out, eenv *in, real_t *dst, real_t *src, bzenv< real_t > *bznv=bzenv< real_t >::_default_)
 
template<class real_t >
static void v0restrict (real_t *rs, bernstein::eenv *em, const real_t &l)
 
template<class real_t >
static void v0restrict (real_t *rs, real_t *ms, bernstein::eenv *em, const real_t &l)
 
template<class X , class real_t >
static void vrestrict (bernstein::eenv *oenv, bernstein::eenv *ienv, X *&dst, real_t *src, sz_t v, const X &prm)
 

Public Attributes

sz_tm_vrs
 
sz_tm_pszs
 
sz_t m_mxvr
 
- Public Attributes inherited from mmx::bernstein::eenv_base
sz_t m_nvr
 
sz_tm_szs
 
sz_tm_str
 

Additional Inherited Members

- Protected Member Functions inherited from mmx::bernstein::eenv_base
void compute_strides ()
 

Member Typedef Documentation

Constructor & Destructor Documentation

mmx::bernstein::eenv::eenv ( )
inline
mmx::bernstein::eenv::eenv ( sz_t  szu,
sz_t  szv 
)
inline
mmx::bernstein::eenv::eenv ( sz_t  nvr,
sz_t const *  szs,
sz_t const *  vrs 
)
inline
mmx::bernstein::eenv::~eenv ( )
inline

Member Function Documentation

void mmx::bernstein::eenv::_alloc_ ( sz_t  nvr)
inline
template<class real_t , char op>
static void mmx::bernstein::eenv::_mvrcvloop_ ( bernstein::eenv oenv,
real_t *  dst,
bernstein::eenv aenv,
real_t *  sra,
bernstein::eenv benv,
real_t *  srb,
unsigned *  asupp = 0,
unsigned  nas = 0,
unsigned *  oasup = 0,
unsigned *  bsupp = 0,
unsigned  nbs = 0,
unsigned *  obsup = 0 
)
inlinestatic

operations sous forme monomiale

template<typename real_t >
real_t mmx::bernstein::eenv::density ( real_t *  src,
const real_t  prec = 1e-12,
unsigned  nsmp = 0 
)
inline
void mmx::bernstein::eenv::diff ( eenv e,
sz_t  v 
)
inline
template<typename real_t >
static void mmx::bernstein::eenv::elevation ( eenv out,
eenv in 
)
inlinestatic
template<typename real_t >
static void mmx::bernstein::eenv::elevation ( eenv out,
eenv in,
real_t *  dst,
real_t *  src,
bzenv< real_t > *  bznv = bzenv<real_t>::_default_ 
)
inlinestatic
int mmx::bernstein::eenv::indexofvar ( sz_t  gv) const
inline
template<typename real_t >
static void mmx::bernstein::eenv::mcrossp ( eenv oenv,
real_t **  dst,
eenv aenv,
real_t **  src_a,
eenv benv,
real_t **  src_b,
bool  clear = true,
unsigned *  asupp = 0,
unsigned  nas = 0,
unsigned *  oasup = 0,
unsigned *  bsupp = 0,
unsigned  nbs = 0,
unsigned *  obsup = 0 
)
inlinestatic
template<typename real_t >
static void mmx::bernstein::eenv::mcrossp ( eenv res,
eenv a,
eenv b,
real_t **  dst,
real_t **  src_a,
real_t **  src_b 
)
inlinestatic
template<typename real_t >
static void mmx::bernstein::eenv::mdiff ( eenv res,
eenv a,
real_t *  dst,
real_t const *const  src,
int  v 
)
inlinestatic
template<typename real_t >
static void mmx::bernstein::eenv::mdotp ( eenv oenv,
real_t *  dst,
eenv aenv,
real_t **  src_a,
eenv benv,
real_t **  src_b,
int  n,
bool  clear = true,
unsigned *  asupp = 0,
unsigned  nas = 0,
unsigned *  oasup = 0,
unsigned *  bsupp = 0,
unsigned  nbs = 0,
unsigned *  obsup = 0 
)
inlinestatic
template<typename real_t >
static void mmx::bernstein::eenv::mmul ( eenv oenv,
real_t *  dst,
eenv aenv,
real_t *  src_a,
eenv benv,
real_t *  src_b,
bool  clear = true,
unsigned *  asupp = 0,
unsigned  nas = 0,
unsigned *  oasupp = 0,
unsigned *  bsupp = 0,
unsigned  nbs = 0,
unsigned *  obsupp = 0 
)
inlinestatic
template<typename real_t >
static void mmx::bernstein::eenv::monoms_crossprod ( eenv res,
eenv a,
eenv b,
real_t **  dst,
real_t **  src_a,
real_t **  src_b 
)
inlinestatic
template<typename real_t >
static void mmx::bernstein::eenv::monoms_derivative ( eenv res,
eenv a,
real_t **  dst,
real_t **  src,
int  v,
int  n = 1 
)
inlinestatic
template<typename real_t >
static void mmx::bernstein::eenv::monoms_dotprod ( eenv res,
eenv a,
eenv b,
real_t *&  dst,
real_t **  src_a,
real_t **  src_b,
int  n 
)
inlinestatic
template<typename real_t >
static void mmx::bernstein::eenv::monoms_multiply ( bernstein::eenv res,
bernstein::eenv a,
bernstein::eenv b,
real_t *  dst,
real_t *  src_a,
real_t *  src_b 
)
inlinestatic
template<typename real_t >
static void mmx::bernstein::eenv::monoms_multiply_loop ( eenv o,
eenv a,
eenv b,
real_t *  dst,
real_t *  src_a,
real_t *  src_b 
)
inlinestatic
template<typename real_t >
void mmx::bernstein::eenv::monoms_print ( std::ostream &  o,
real_t *  src 
)
inline
template<class real_t >
static void mmx::bernstein::eenv::msimplify ( eenv ienv,
real_t *  data 
)
inlinestatic
static void mmx::bernstein::eenv::oaddress ( bernstein::eenv oenv,
unsigned *  osupp,
bernstein::eenv ienv,
unsigned *  isupp = 0,
unsigned  nsp = 0 
)
inlinestatic
void mmx::bernstein::eenv::op_mul ( eenv a,
eenv b 
)
inline
template<typename real_t >
static void mmx::bernstein::eenv::pmmul ( eenv oenv,
real_t **  dst,
eenv aenv,
real_t **  src_a,
eenv benv,
real_t **  src_b,
int  n,
bool  clear = true,
unsigned *  asupp = 0,
unsigned  nas = 0,
unsigned *  oasup = 0,
unsigned *  bsupp = 0,
unsigned  nbs = 0,
unsigned *  obsup = 0 
)
inlinestatic
template<typename real_t >
bool mmx::bernstein::eenv::print_monom ( std::ostream &  o,
const real_t &  c,
sz_t add,
bool  first 
)
inline
sz_t mmx::bernstein::eenv::psft ( sz_t  v)
inline
sz_t mmx::bernstein::eenv::psz ( )
inline
template<class real_t >
static void mmx::bernstein::eenv::rvbinoms ( bernstein::eenv ienv,
real_t *  bcff,
unsigned *  isupp = 0,
unsigned  nsp = 0,
bernstein::bzenv< real_t > *  bznv = bzenv<real_t>::_default_ 
)
inlinestatic

operations sous forme de bernstein

template<typename real_t >
static void mmx::bernstein::eenv::spmmul ( eenv oenv,
real_t **  dst,
eenv aenv,
real_t **  src_a,
eenv benv,
real_t **  src_b,
int  n,
bool  clear = true,
bool  stats = false 
)
inlinestatic
template<typename real_t >
static void mmx::bernstein::eenv::spmmul ( eenv oenv,
real_t *  dst,
eenv aenv,
real_t *  src_a,
eenv benv,
real_t *  src_b,
bool  clear = true,
bool  stats = false 
)
inlinestatic
sz_t mmx::bernstein::eenv::stride ( sz_t  v) const
inline
template<class real_t >
unsigned mmx::bernstein::eenv::support ( unsigned *  supp,
real_t *  src,
const real_t &  prec = 1e-6 
)
inline
void mmx::bernstein::eenv::swap ( eenv e)
inline
template<class real_t >
static void mmx::bernstein::eenv::v0restrict ( real_t *  rs,
bernstein::eenv em,
const real_t &  l 
)
inlinestatic
template<class real_t >
static void mmx::bernstein::eenv::v0restrict ( real_t *  rs,
real_t *  ms,
bernstein::eenv em,
const real_t &  l 
)
inlinestatic
sz_t mmx::bernstein::eenv::var ( sz_t  v) const
inline
static void mmx::bernstein::eenv::vmap ( sz_t vmap,
bernstein::eenv o,
bernstein::eenv i 
)
inlinestatic
template<class X , class real_t >
static void mmx::bernstein::eenv::vrestrict ( bernstein::eenv oenv,
bernstein::eenv ienv,
X *&  dst,
real_t *  src,
sz_t  v,
const X prm 
)
inlinestatic

Member Data Documentation

sz_t mmx::bernstein::eenv::m_mxvr
sz_t* mmx::bernstein::eenv::m_pszs
sz_t* mmx::bernstein::eenv::m_vrs

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