bernstein< C > Struct Template Reference

#include <tensor_bernstein.hpp>

Inheritance diagram for bernstein< C >:
monomials< C >

List of all members.

Public Types

Public Member Functions

Public Attributes

Static Public Attributes


Detailed Description

template<class C>
struct mmx::tensor::bernstein< C >

Definition at line 13 of file tensor_bernstein.hpp.


Member Typedef Documentation

typedef monomials<C> base_type

Definition at line 15 of file tensor_bernstein.hpp.

typedef C coeff_t [inherited]

Definition at line 20 of file tensor_monomials.hpp.

Reimplemented from monomials< C >.

Definition at line 19 of file tensor_bernstein.hpp.

typedef std::reverse_iterator<const_iterator> const_reverse_iterator [inherited]

Definition at line 27 of file tensor_monomials.hpp.

Reimplemented from monomials< C >.

Definition at line 18 of file tensor_bernstein.hpp.

typedef std::reverse_iterator<iterator> reverse_iterator [inherited]

Definition at line 26 of file tensor_monomials.hpp.

Reimplemented from monomials< C >.

Definition at line 20 of file tensor_bernstein.hpp.

Reimplemented from monomials< C >.

Definition at line 16 of file tensor_bernstein.hpp.

Reimplemented from monomials< C >.

Definition at line 17 of file tensor_bernstein.hpp.


Constructor & Destructor Documentation

bernstein ( const C &  x = 0  )  [inline]

Definition at line 192 of file tensor_bernstein_fcts.hpp.

References C.

00192 : base_type(x) {}

bernstein ( int  v,
int  d 
) [inline]

Definition at line 23 of file tensor_bernstein.hpp.

References mmx::tensor::convertm2b().

00023                             : base_type(v,d) {
00024       convertm2b(*this);
00025     }

bernstein ( const C &  c,
int  v,
int  d 
) [inline]

Definition at line 26 of file tensor_bernstein.hpp.

References mmx::tensor::convertm2b().

00026                                         : base_type(c,v,d) {
00027       convertm2b(*this);
00028     }

bernstein ( const bernstein< C > &  p  )  [inline]

Definition at line 29 of file tensor_bernstein.hpp.

00029                                       : base_type(p) {
00030       //      std::cout<<"\tcopy"<<std::endl;
00031     }

bernstein ( const sparse::monomial_seq< X, O > &  pol  )  [inline]

Definition at line 34 of file tensor_bernstein.hpp.

References mmx::tensor::convertm2b().

00034                                                    :base_type(pol) {
00035       convertm2b(*this);
00036     }

bernstein ( const char *  str  )  [inline]

Definition at line 38 of file tensor_bernstein.hpp.

References mmx::tensor::convertm2b().

00038                                 :base_type(str) {
00039       convertm2b(*this);
00040     }

bernstein ( const char *  str,
const VECT &  bx 
) [inline]

Definition at line 43 of file tensor_bernstein.hpp.

References mmx::tensor::convertm2b().

00043                                                :base_type(str) {
00044       convertm2b(*this, bx);
00045     }

bernstein ( const sparse::monomial_seq< C, O > &  pol,
const VECT &  bx 
) [inline]

Definition at line 48 of file tensor_bernstein.hpp.

References mmx::tensor::convertm2b().

00048                                                                   :base_type(pol) {
00049       convertm2b(*this, bx);
00050     }

bernstein ( const sparse::monomial_seq< X, O > &  mpol,
const VECT &  bx 
) [inline]

Definition at line 54 of file tensor_bernstein.hpp.

References mmx::tensor::convertm2b().

00054                                                                    :base_type(mpol)     {
00055       convertm2b(*this, bx);
00056     }

bernstein ( const eenv e  )  [inline]

Definition at line 182 of file tensor_bernstein_fcts.hpp.

00182 : base_type(e) {};

bernstein ( const eenv e,
const C &  c 
) [inline]

Definition at line 184 of file tensor_bernstein_fcts.hpp.

References C.

00184                                                                            : 
00185   base_type(e,c){};

bernstein ( int  nvr,
const int *  szs,
const int *  vrs = 0 
) [inline]

Definition at line 188 of file tensor_bernstein_fcts.hpp.

00188                                                                   : base_type(nvr,szs,vrs)
00189 {
00190 }


Member Function Documentation

const_iterator begin (  )  const [inline, inherited]

Definition at line 50 of file tensor_monomials.hpp.

References monomials< C >::data.

00050 { return &(data[0]); };

C* begin (  )  [inline, inherited]
const_iterator end (  )  const [inline, inherited]

Definition at line 51 of file tensor_monomials.hpp.

References monomials< C >::data, and monomials< C >::esz().

00051 { return &(data[esz()]); };

C* end (  )  [inline, inherited]

Definition at line 48 of file tensor_monomials.hpp.

References C, monomials< C >::data, and monomials< C >::esz().

Referenced by mmx::tensor::cfdump(), mmx::tensor::clear(), and mmx::tensor::eval().

00048 { return &(data[0])+esz(); };

const C entry ( std::vector< int >  deg  )  [inline, inherited]

Definition at line 479 of file tensor_monomials_fcts.hpp.

References C, monomials< C >::data, monomials< C >::nvr(), monomials< C >::str(), monomials< C >::szs(), and monomials< C >::vrs().

00480     {
00481         int * vvrs = vrs();
00482         int * sstr = str();
00483         int * sszs = szs() ;
00484 
00485         int i,pos=0;
00486         for (i = 0; i < nvr() ; ++i)
00487         {
00488             std::cout<<"entry:" <<deg[i] << std::endl;
00489             if (deg[i] >= sszs[ vvrs[i] ] || deg[i]<0 ) return C(0); 
00490             pos += deg[i]*sstr[ vvrs[i] ];
00491         }
00492         return data[pos];
00493     }

int esz (  )  const [inline, inherited]
bool hasvar ( int &  lv,
int  gv 
) const [inherited]
int nbvar (  )  const [inline, inherited]

Definition at line 73 of file tensor_monomials.hpp.

References monomials< C >::env, and eenv::nvr().

Referenced by mmx::tensor::degree().

00073 { return env.nvr(); };

int nvr (  )  const [inline, inherited]
bernstein< C > & operator= ( const C &  x  )  [inline]

Definition at line 324 of file tensor_bernstein_fcts.hpp.

00325   {
00326     this->~bernstein<C>();
00327     new (this) bernstein<C>(x);
00328     return *this;
00329   };

bool operator== ( const bernstein< C > &  mp  )  const [inline]

Reimplemented from monomials< C >.

Definition at line 311 of file tensor_bernstein_fcts.hpp.

References mmx::operator==().

00312   {
00313     return base_type::operator==(mpl); 
00314   };

bool operator== ( const C &  c  )  const [inline]

Reimplemented from monomials< C >.

Definition at line 65 of file tensor_bernstein.hpp.

References monomials< C >::data, and monomials< C >::esz().

00065 { return base_type::esz() == 1 && base_type::data[0] == c; };

C operator[] ( int  i  )  const [inline]

Reimplemented from monomials< C >.

Definition at line 64 of file tensor_bernstein.hpp.

References C, and monomials< C >::data.

00064 { return this->data[i]; };

C& operator[] ( int  i  )  [inline]

Reimplemented from monomials< C >.

Definition at line 63 of file tensor_bernstein.hpp.

References C, and monomials< C >::data.

00063 { return this->data[i]; };

const_reverse_iterator rbegin (  )  const [inline, inherited]

Definition at line 58 of file tensor_monomials.hpp.

References monomials< C >::data, and monomials< C >::esz().

00058                    {
00059       return const_reverse_iterator(&(data[0])+esz()); 
00060     }

reverse_iterator rbegin (  )  [inline, inherited]

Definition at line 54 of file tensor_monomials.hpp.

References monomials< C >::data, and monomials< C >::esz().

00054                    {
00055       return reverse_iterator(&(data[0])+esz()); 
00056     }

const_reverse_iterator rend (  )  const [inline, inherited]

Definition at line 66 of file tensor_monomials.hpp.

References monomials< C >::data.

00066                    {
00067       return const_reverse_iterator(&(data[0])); 
00068     }

reverse_iterator rend (  )  [inline, inherited]

Definition at line 62 of file tensor_monomials.hpp.

References monomials< C >::data.

00062                    {
00063       return reverse_iterator(&(data[0])); 
00064     }

void resize ( int  l  )  [inline, inherited]

Definition at line 46 of file tensor_monomials.hpp.

00046 {};

int size ( void   )  const [inline, inherited]
const int* str (  )  const [inline, inherited]

Definition at line 80 of file tensor_monomials.hpp.

References monomials< C >::env, and eenv::str().

00080 { return env.str(); };

int* str (  )  [inline, inherited]
void swap ( monomials< C > &  a  )  [inline, inherited]

Definition at line 88 of file tensor_monomials.hpp.

References monomials< C >::data, and monomials< C >::env.

Referenced by mmx::tensor::clear(), mmx::tensor::extend(), mmx::tensor::mul(), and mmx::tensor::realloc().

00088 { std::swap(env,a.env); data.swap(a.data); };    

const int* szs (  )  const [inline, inherited]

Definition at line 78 of file tensor_monomials.hpp.

References monomials< C >::env, and eenv::szs().

00078 { return env.szs(); };

int* szs (  )  [inline, inherited]
const int* vrs (  )  const [inline, inherited]

Definition at line 79 of file tensor_monomials.hpp.

References monomials< C >::env, and eenv::vrs().

00079 { return env.vrs(); };

int* vrs (  )  [inline, inherited]

Member Data Documentation

binomials<C> binoms [static, inherited]

Definition at line 30 of file tensor_monomials.hpp.

vector_type data [inherited]
eenv env [inherited]

The documentation for this struct was generated from the following files:

Generated on 6 Dec 2012 for realroot by  doxygen 1.6.1