#include <tensor_monomials.hpp>
Definition at line 18 of file tensor_monomials.hpp.
typedef C coeff_t |
Definition at line 20 of file tensor_monomials.hpp.
typedef const C* const_iterator |
Reimplemented in bernstein< C >.
Definition at line 25 of file tensor_monomials.hpp.
typedef std::reverse_iterator<const_iterator> const_reverse_iterator |
Definition at line 27 of file tensor_monomials.hpp.
typedef C* iterator |
Reimplemented in bernstein< C >.
Definition at line 23 of file tensor_monomials.hpp.
typedef std::reverse_iterator<iterator> reverse_iterator |
Definition at line 26 of file tensor_monomials.hpp.
typedef vector_type::size_type size_type |
Reimplemented in bernstein< C >.
Definition at line 28 of file tensor_monomials.hpp.
typedef coeff_t value_type |
Reimplemented in bernstein< C >.
Definition at line 29 of file tensor_monomials.hpp.
typedef std::vector<C> vector_type |
Reimplemented in bernstein< C >.
Definition at line 21 of file tensor_monomials.hpp.
monomials | ( | ) | [inline] |
Definition at line 22 of file tensor_monomials_fcts.hpp.
References C.
monomials | ( | const C & | x | ) | [inline] |
monomials | ( | const C & | c, | |
int | d, | |||
unsigned | v | |||
) | [inline] |
monomials | ( | int | v, | |
int | d | |||
) | [inline] |
monomials | ( | const sparse::monomial_seq< X, O > & | imp | ) | [inline] |
Definition at line 380 of file tensor_monomials_fcts.hpp.
References C, and mmx::tensor::mpolfill().
Definition at line 32 of file tensor_monomials_fcts.hpp.
00032 :env (e), data (e.sz ()) {} 00033 { 00034 env = e; 00035 data = vector_type (e.sz()); 00036 };
Definition at line 38 of file tensor_monomials_fcts.hpp.
References C.
00038 :env(e),data (e.sz (), c) {}; 00039 { 00040 env = e; 00041 data = vector_type (e.sz(),c); 00042 };
monomials | ( | int | nvr, | |
const int * | szs, | |||
const int * | vrs = 0 | |||
) | [inline] |
const_iterator begin | ( | ) | const [inline] |
Definition at line 50 of file tensor_monomials.hpp.
References monomials< C >::data.
00050 { return &(data[0]); };
C* begin | ( | ) | [inline] |
Definition at line 47 of file tensor_monomials.hpp.
References C, and monomials< C >::data.
Referenced by mmx::tensor::add(), solver< C, ProjRd< MTH > >::add_equation(), mmx::tensor::binoms(), mmx::tensor::casteljau(), mmx::tensor::cfdump(), mmx::tensor::clear(), mmx::tensor::convertb2m(), mmx::tensor::convertm2b(), mmx::tensor::diff(), mmx::tensor::div(), mmx::tensor::eval(), mmx::tensor::extend(), mmx::tensor::heval(), mmx::tensor::islice(), mmx::tensor::lface(), mmx::tensor::mul(), mmx::tensor::restrict(), mmx::tensor::rface(), mmx::tensor::scale(), mmx::tensor::split(), mmx::tensor::sub(), mmx::tensor::subs0(), mmx::tensor::uscale(), mmx::tensor::waddm(), and mmx::tensor::wsubm().
00047 { return &(data[0]); };
const_iterator end | ( | ) | const [inline] |
Definition at line 51 of file tensor_monomials.hpp.
References monomials< C >::data, and monomials< C >::esz().
C* end | ( | ) | [inline] |
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().
const C entry | ( | std::vector< int > | deg | ) | [inline] |
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] |
Definition at line 71 of file tensor_monomials.hpp.
References monomials< C >::env, and eenv::sz().
Referenced by mmx::tensor::add(), mmx::tensor::div(), monomials< C >::end(), mmx::tensor::extend(), mmx::tensor::mul(), monomials< C >::operator==(), bernstein< C >::operator==(), monomials< C >::rbegin(), mmx::tensor::sub(), mmx::tensor::waddm(), and mmx::tensor::wsubm().
00071 { return env.sz(); };
bool hasvar | ( | int & | lv, | |
int | gv | |||
) | const |
int nbvar | ( | ) | const [inline] |
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] |
Definition at line 74 of file tensor_monomials.hpp.
References monomials< C >::env, and eenv::nvr().
Referenced by mmx::tensor::contraction(), mmx::tensor::convert(), monomials< C >::entry(), mmx::tensor::print(), mmx::tensor::print_flatten(), mmx::tensor::reciprocal(), mmx::tensor::rename_var(), mmx::tensor::set_variable(), and mmx::tensor::shift().
00074 { return env.nvr(); };
bool operator== | ( | const monomials< C > & | mpl | ) | const [inline] |
Reimplemented in bernstein< C >.
Definition at line 104 of file tensor_monomials_fcts.hpp.
References eenv::equal(), and eenv::oaddress().
00105 { 00106 if (!eenv::equal (env, mpl.env)) 00107 return false; 00108 unsigned *oadd = new unsigned[esz ()]; 00109 eenv::oaddress (env, oadd, mpl.env, 0, 0); 00110 for (int i = 0; i < esz (); i++) 00111 if (data[i] != mpl[oadd[i]]) 00112 { 00113 delete[]oadd; 00114 return false; 00115 }; 00116 delete[]oadd; 00117 return true; 00118 };
bool operator== | ( | const C & | c | ) | const [inline] |
Reimplemented in bernstein< C >.
Definition at line 85 of file tensor_monomials.hpp.
References monomials< C >::data, and monomials< C >::esz().
C& operator[] | ( | int | i | ) | [inline] |
Reimplemented in bernstein< C >.
Definition at line 83 of file tensor_monomials.hpp.
References C, and monomials< C >::data.
00083 { return data[i]; };
const C& operator[] | ( | int | i | ) | const [inline] |
Reimplemented in bernstein< C >.
Definition at line 82 of file tensor_monomials.hpp.
References C, and monomials< C >::data.
00082 { return data[i]; };
const_reverse_iterator rbegin | ( | ) | const [inline] |
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] |
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] |
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] |
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] |
Definition at line 46 of file tensor_monomials.hpp.
int size | ( | void | ) | const [inline] |
Definition at line 72 of file tensor_monomials.hpp.
References monomials< C >::env, and eenv::sz().
Referenced by mmx::tensor::convert(), mmx::tensor::eval(), mmx::tensor::maxs(), mmx::tensor::mins(), mmx::tensor::print(), mmx::tensor::print_flatten(), and mmx::tensor::size().
00072 { return env.sz(); };
const int* str | ( | ) | const [inline] |
Definition at line 80 of file tensor_monomials.hpp.
References monomials< C >::env, and eenv::str().
00080 { return env.str(); };
int* str | ( | ) | [inline] |
Definition at line 77 of file tensor_monomials.hpp.
References monomials< C >::env, and eenv::str().
Referenced by mmx::tensor::contraction(), monomials< C >::entry(), mmx::tensor::maxs(), mmx::tensor::mins(), mmx::tensor::reciprocal(), mmx::tensor::set_variable(), and mmx::tensor::shift().
00077 { return env.str(); };
void swap | ( | monomials< C > & | a | ) | [inline] |
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().
const int* szs | ( | ) | const [inline] |
Definition at line 78 of file tensor_monomials.hpp.
References monomials< C >::env, and eenv::szs().
00078 { return env.szs(); };
int* szs | ( | ) | [inline] |
Definition at line 75 of file tensor_monomials.hpp.
References monomials< C >::env, and eenv::szs().
Referenced by mmx::tensor::contraction(), mmx::tensor::convert(), monomials< C >::entry(), mmx::tensor::maxs(), mmx::tensor::mins(), mmx::tensor::print(), mmx::tensor::print_flatten(), mmx::tensor::reciprocal(), mmx::tensor::set_variable(), and mmx::tensor::shift().
00075 { return env.szs(); };
const int* vrs | ( | ) | const [inline] |
Definition at line 79 of file tensor_monomials.hpp.
References monomials< C >::env, and eenv::vrs().
00079 { return env.vrs(); };
int* vrs | ( | ) | [inline] |
Definition at line 76 of file tensor_monomials.hpp.
References monomials< C >::env, and eenv::vrs().
Referenced by mmx::tensor::contraction(), mmx::tensor::convert(), monomials< C >::entry(), mmx::tensor::print(), mmx::tensor::print_flatten(), mmx::tensor::reciprocal(), mmx::tensor::rename_var(), mmx::tensor::set_variable(), and mmx::tensor::shift().
00076 { return env.vrs(); };
Definition at line 30 of file tensor_monomials.hpp.
Definition at line 32 of file tensor_monomials.hpp.
Referenced by monomials< C >::begin(), mmx::tensor::contraction(), monomials< C >::end(), monomials< C >::entry(), mmx::tensor::maxs(), mmx::tensor::mins(), monomials< C >::operator==(), bernstein< C >::operator==(), monomials< C >::operator[](), bernstein< C >::operator[](), monomials< C >::rbegin(), mmx::tensor::reciprocal(), monomials< C >::rend(), mmx::tensor::set_variable(), mmx::tensor::shift(), and monomials< C >::swap().
Definition at line 31 of file tensor_monomials.hpp.
Referenced by mmx::tensor::add(), mmx::tensor::binoms(), mmx::tensor::casteljau(), mmx::tensor::clear(), mmx::tensor::convert(), mmx::tensor::convertb2m(), mmx::tensor::convertm2b(), mmx::tensor::degree(), mmx::tensor::diff(), monomials< C >::esz(), mmx::tensor::eval(), mmx::tensor::extend(), mmx::tensor::face(), mmx::tensor::heval(), mmx::tensor::islice(), mmx::tensor::lface(), monomials< C >::nbvar(), monomials< C >::nvr(), mmx::tensor::print(), mmx::tensor::print_flatten(), mmx::tensor::realloc(), mmx::tensor::restrict(), mmx::tensor::rewrite(), mmx::tensor::rface(), mmx::tensor::scale(), monomials< C >::size(), mmx::tensor::slice(), mmx::tensor::split(), monomials< C >::str(), mmx::tensor::sub(), mmx::tensor::subs0(), monomials< C >::swap(), monomials< C >::szs(), mmx::tensor::uscale(), mmx::tensor::varindex(), monomials< C >::vrs(), mmx::tensor::waddm(), and mmx::tensor::wsubm().