Developer documentation

mmx::vct Namespace Reference

Functions

template<typename A , typename B >
void padd (A *a, const B *b, unsigned sz, int sta=1, int stb=1)
 
template<typename A , typename B , typename C >
void padd (A *a, const B *b, const C *c, unsigned sz, int sta=1, int stb=1, int stc=1)
 
template<typename A , typename B >
void psub (A *a, const B *b, unsigned sz, int sta=1, int stb=1)
 
template<typename A , typename B , typename C >
void psub (A *a, const B *b, const C *c, unsigned sz, int sta=1, int stb=1, int stc=1)
 
template<typename A , typename B >
void pmul (A *a, const B *b, int sz, int sta=1, int stb=1)
 
template<typename A , typename B , typename C >
void pmul (A *a, const B *b, const C *c, unsigned sz, int sta=1, int stb=1, int stc=1)
 
template<typename A , typename B >
void pdiv (A *a, const B *b, unsigned sz, int sta=1, int stb=1)
 
template<typename A , typename B , typename C >
void pdiv (A *a, const B *b, const C *c, unsigned sz, int sta=1, int stb=1, int stc=1)
 
template<typename A , typename B >
void scadd (A *a, const B &b, unsigned n, int s=1)
 
template<typename A , typename B , typename C >
void scadd (A *a, const B *b, const C &c, unsigned n, int sa=1, int sb=1)
 
template<typename A , typename B >
void scsub (A *a, const B &b, unsigned n, int s=1)
 
template<typename A , typename B >
void scsub (const B &b, A *a, unsigned n, int s=1)
 
template<typename A , typename B , typename C >
void scsub (A *a, const B *b, const C &c, unsigned n, int sa=1, int sb=1)
 
template<typename A , typename B , typename C >
void scsub (A *a, const B &b, const C *c, unsigned n, int sa=1, int sb=1)
 
template<typename A , typename B >
void scmul (A *a, const B &b, unsigned n, int s=1)
 
template<typename A , typename B , typename C >
void scmul (A *a, const B *b, const C &c, unsigned n, int sa=1, int sb=1)
 
template<typename A , typename B , typename C >
void scmul (A *a, const A *_a, const B *b, const C &c)
 
template<typename A , typename B >
void scdiv (A *a, const B &b, unsigned n, int s=1)
 
template<typename A , typename B >
void scdiv (const B &b, A *a, unsigned n, int s=1)
 
template<typename A , typename B , typename C >
void scdiv (A *a, const B *b, const C &c, unsigned n, int sa=1, int sb=1)
 
template<typename A , typename B , typename C >
void scdiv (A *a, const C &c, const B *b, unsigned n, int sa=1, int sb=1)
 
template<typename A , typename B >
void copy (A *a, const B *b, unsigned n)
 
template<typename A , typename B >
void copy (A *a, const B *b, unsigned n, int sa, int sb)
 
template<class C >
void fill (C *a, unsigned n, int s, const C &x)
 
template<typename A , typename B >
void icopy (A *a, unsigned *aadd, unsigned nadd, const B *b)
 
template<typename A , typename B >
void ipadd (A *a, unsigned *aadd, unsigned nadd, const B *b)
 
template<typename A , typename B >
void ipsub (A *a, unsigned *aadd, unsigned nadd, const B *b)
 
template<typename A , typename B >
void accmin (A &mn, B const *v, unsigned n, int s=1)
 
template<typename A , typename B >
void min (A &mn, B const *v, unsigned n, int s=1)
 
template<typename A , typename B >
void accmax (A &mx, const B *v, unsigned n, int s=1)
 
template<typename A , typename B >
void max (A &mx, B const *v, unsigned n, int s=1)
 
template<typename A >
void print (const A *p, unsigned n, int st=1, std::ostream &o=std::cout)
 
template<class C >
void conv (C *r, unsigned nr, int str, const C *a, unsigned na, int sta, const C *b, unsigned nb, int stb)
 
template<class C >
void accconv (C *r, int str, const C *a, unsigned na, int sta, const C *b, unsigned nb, int stb)
 
template<class C >
void conv (C *r, int str, const C *a, unsigned na, int sta, const C *b, unsigned nb, int stb)
 
template<class C >
void minmax (C &m, C &M, const C *a, unsigned n, unsigned s=1)
 
template<class C >
unsigned mmerge (C *r, const C *a, const C *b, unsigned na, unsigned nb)
 
template<class C >
void mmerge (C *r, int str, const C *a, unsigned na, int sta, const C *b, unsigned nb, int stb)
 
template<class O , class C , class I >
void horner (O &o, C const *const c, unsigned n, const I &i, int s=1)
 
template<typename C , typename I >
texp::sup< C, I >::T horner (C const *const c, unsigned n, const I &i, int s=1)
 
template<class O , class C , class I >
void hhorner (O &o, C const *const c, unsigned n, const I &i, const I &i0, int s=1)
 
template<typename C , typename I >
texp::sup< C, I >::T hhorner (C const *const c, unsigned n, const I &i, const I &i0, int s=1)
 
template<typename C >
void diff (C *dst, C const *const src, unsigned sz, int st=1)
 
template<typename C , typename I >
void decasteljau (C *c, unsigned n, const I &i, int s=1)
 
template<class O , class C , class I >
void dhorner (O &p, O &dp, C const *const c, unsigned n, const I &t, int s=1)
 
template<class A >
void inverses (A *a, A *ea)
 
template<typename real_t >
real_t min (real_t const *src, int sz, int st=1)
 
template<typename real_t >
real_t max (real_t const *src, int sz, int st=1)
 

Function Documentation

template<class C >
void mmx::vct::accconv ( C r,
int  str,
const C a,
unsigned  na,
int  sta,
const C b,
unsigned  nb,
int  stb 
)

standard convolution loop, do not initialize r.

Parameters
rbase address of the result.
strincrement for r.
abase address of first operand.
nanumber of coefficients for a.
staincrement for a.
bbase address of second operand.
nbnumber of coefficients for a.
stbincrement for b.
template<typename A , typename B >
void mmx::vct::accmax ( A &  mx,
const B *  v,
unsigned  n,
int  s = 1 
)
inline
template<typename A , typename B >
void mmx::vct::accmin ( A &  mn,
B const *  v,
unsigned  n,
int  s = 1 
)
inline
template<class C >
void mmx::vct::conv ( C r,
unsigned  nr,
int  str,
const C a,
unsigned  na,
int  sta,
const C b,
unsigned  nb,
int  stb 
)

truncated convolution loop:

Parameters
rbase address of the result.
nrnumber of coefficients wanted.
strincrement for r.
abase address of first operand.
nanumber of coefficients for a.
staincrement for a.
bbase address of second operand.
nbnumber of coefficients for a.
stbincrement for b.
template<class C >
void mmx::vct::conv ( C r,
int  str,
const C a,
unsigned  na,
int  sta,
const C b,
unsigned  nb,
int  stb 
)

standard convolution loop.

Parameters
rbase address of the result.
strincrement for r.
abase address of first operand.
nanumber of coefficients for a.
staincrement for a.
bbase address of second operand.
nbnumber of coefficients for a.
stbincrement for b.
template<typename A , typename B >
void mmx::vct::copy ( A *  a,
const B *  b,
unsigned  n 
)
inline
template<typename A , typename B >
void mmx::vct::copy ( A *  a,
const B *  b,
unsigned  n,
int  sa,
int  sb 
)
inline
template<typename C , typename I >
void mmx::vct::decasteljau ( C c,
unsigned  n,
const I i,
int  s = 1 
)
template<class O , class C , class I >
void mmx::vct::dhorner ( O &  p,
O &  dp,
C const *const  c,
unsigned  n,
const I t,
int  s = 1 
)
inline
template<typename C >
void mmx::vct::diff ( C dst,
C const *const  src,
unsigned  sz,
int  st = 1 
)
inline
template<class C >
void mmx::vct::fill ( C a,
unsigned  n,
int  s,
const C x 
)
template<class O , class C , class I >
void mmx::vct::hhorner ( O &  o,
C const *const  c,
unsigned  n,
const I i,
const I i0,
int  s = 1 
)
inline
template<typename C , typename I >
texp::sup<C,I>::T mmx::vct::hhorner ( C const *const  c,
unsigned  n,
const I i,
const I i0,
int  s = 1 
)
inline
template<class O , class C , class I >
void mmx::vct::horner ( O &  o,
C const *const  c,
unsigned  n,
const I i,
int  s = 1 
)
inline
template<typename C , typename I >
texp::sup<C,I>::T mmx::vct::horner ( C const *const  c,
unsigned  n,
const I i,
int  s = 1 
)
inline
template<typename A , typename B >
void mmx::vct::icopy ( A *  a,
unsigned *  aadd,
unsigned  nadd,
const B *  b 
)
inline
template<class A >
void mmx::vct::inverses ( A *  a,
A *  ea 
)
template<typename A , typename B >
void mmx::vct::ipadd ( A *  a,
unsigned *  aadd,
unsigned  nadd,
const B *  b 
)
inline
template<typename A , typename B >
void mmx::vct::ipsub ( A *  a,
unsigned *  aadd,
unsigned  nadd,
const B *  b 
)
inline
template<typename A , typename B >
void mmx::vct::max ( A &  mx,
B const *  v,
unsigned  n,
int  s = 1 
)
inline
template<typename real_t >
real_t mmx::vct::max ( real_t const *  src,
int  sz,
int  st = 1 
)
template<typename A , typename B >
void mmx::vct::min ( A &  mn,
B const *  v,
unsigned  n,
int  s = 1 
)
inline
template<typename real_t >
real_t mmx::vct::min ( real_t const *  src,
int  sz,
int  st = 1 
)
template<class C >
void mmx::vct::minmax ( C m,
C M,
const C a,
unsigned  n,
unsigned  s = 1 
)
inline
Parameters
mminimum value.
Mmaximum value.
abase address of coefficients.
nnumber of coefficients.
sincrement used to access a.
template<class C >
unsigned mmx::vct::mmerge ( C r,
const C a,
const C b,
unsigned  na,
unsigned  nb 
)
inline
template<class C >
void mmx::vct::mmerge ( C r,
int  str,
const C a,
unsigned  na,
int  sta,
const C b,
unsigned  nb,
int  stb 
)
inline
template<typename A , typename B >
void mmx::vct::padd ( A *  a,
const B *  b,
unsigned  sz,
int  sta = 1,
int  stb = 1 
)
inline
template<typename A , typename B , typename C >
void mmx::vct::padd ( A *  a,
const B *  b,
const C c,
unsigned  sz,
int  sta = 1,
int  stb = 1,
int  stc = 1 
)
inline
template<typename A , typename B >
void mmx::vct::pdiv ( A *  a,
const B *  b,
unsigned  sz,
int  sta = 1,
int  stb = 1 
)
inline
template<typename A , typename B , typename C >
void mmx::vct::pdiv ( A *  a,
const B *  b,
const C c,
unsigned  sz,
int  sta = 1,
int  stb = 1,
int  stc = 1 
)
inline
template<typename A , typename B >
void mmx::vct::pmul ( A *  a,
const B *  b,
int  sz,
int  sta = 1,
int  stb = 1 
)
inline
template<typename A , typename B , typename C >
void mmx::vct::pmul ( A *  a,
const B *  b,
const C c,
unsigned  sz,
int  sta = 1,
int  stb = 1,
int  stc = 1 
)
inline
template<typename A >
void mmx::vct::print ( const A *  p,
unsigned  n,
int  st = 1,
std::ostream &  o = std::cout 
)
inline
template<typename A , typename B >
void mmx::vct::psub ( A *  a,
const B *  b,
unsigned  sz,
int  sta = 1,
int  stb = 1 
)
inline
template<typename A , typename B , typename C >
void mmx::vct::psub ( A *  a,
const B *  b,
const C c,
unsigned  sz,
int  sta = 1,
int  stb = 1,
int  stc = 1 
)
inline
template<typename A , typename B >
void mmx::vct::scadd ( A *  a,
const B &  b,
unsigned  n,
int  s = 1 
)
inline
template<typename A , typename B , typename C >
void mmx::vct::scadd ( A *  a,
const B *  b,
const C c,
unsigned  n,
int  sa = 1,
int  sb = 1 
)
inline
template<typename A , typename B >
void mmx::vct::scdiv ( A *  a,
const B &  b,
unsigned  n,
int  s = 1 
)
inline
template<typename A , typename B >
void mmx::vct::scdiv ( const B &  b,
A *  a,
unsigned  n,
int  s = 1 
)
inline
template<typename A , typename B , typename C >
void mmx::vct::scdiv ( A *  a,
const B *  b,
const C c,
unsigned  n,
int  sa = 1,
int  sb = 1 
)
inline
template<typename A , typename B , typename C >
void mmx::vct::scdiv ( A *  a,
const C c,
const B *  b,
unsigned  n,
int  sa = 1,
int  sb = 1 
)
inline
template<typename A , typename B >
void mmx::vct::scmul ( A *  a,
const B &  b,
unsigned  n,
int  s = 1 
)
inline
template<typename A , typename B , typename C >
void mmx::vct::scmul ( A *  a,
const B *  b,
const C c,
unsigned  n,
int  sa = 1,
int  sb = 1 
)
inline
template<typename A , typename B , typename C >
void mmx::vct::scmul ( A *  a,
const A *  _a,
const B *  b,
const C c 
)
inline
template<typename A , typename B >
void mmx::vct::scsub ( A *  a,
const B &  b,
unsigned  n,
int  s = 1 
)
inline
template<typename A , typename B >
void mmx::vct::scsub ( const B &  b,
A *  a,
unsigned  n,
int  s = 1 
)
inline
template<typename A , typename B , typename C >
void mmx::vct::scsub ( A *  a,
const B *  b,
const C c,
unsigned  n,
int  sa = 1,
int  sb = 1 
)
inline
template<typename A , typename B , typename C >
void mmx::vct::scsub ( A *  a,
const B &  b,
const C c,
unsigned  n,
int  sa = 1,
int  sb = 1 
)
inline
Home