#include <Polynomial_LD.h>
A generic monomial with N variables of type Real. A monomial is one term of a polynomial. More...
A generic monomial with N variables of type Real. A monomial is one term of a polynomial.
Todo this first version of polynomial is a linear presentation. This presentation is efficient for arithmetic operator like +,-,*,/ and derivative. But is not optimized for the evaluating (comparing to the recurrent presentation).
| Public Attributes | |
| Real | coef | 
| sofa::type::Vec< N, int > | powers | 
| Protected Attributes | |
| sofa::type::Vec< N, std::string > | variables | 
| Public Member Functions | |
| Monomial_LD () | |
| Monomial_LD (Real,...) | |
| Monomial_LD (const Monomial_LD< Real, N > &a) | |
| Monomial_LD< Real, N > & | operator= (const Monomial_LD< Real, N > &b) | 
| void | SetCoef (const Real &m_coef) | 
| Setting of Monomial_LD.  More... | |
| void | SetPower (int numbervar, int powervalue) | 
| int | degree () | 
| Return the total degree of monomial.  More... | |
| bool | operator== (const Monomial_LD< Real, N > &b) const | 
| Logical operators.  More... | |
| bool | operator!= (const Monomial_LD< Real, N > &b) const | 
| bool | isSamePowers (const Monomial_LD< Real, N > &b) const | 
| bool | isnullptr () const | 
| Monomial_LD< Real, N > & | operator*= (const Real &alpha) | 
| Mathematical operators.  More... | |
| Monomial_LD< Real, N > & | operator/= (const Real &alpha) | 
| Monomial_LD< Real, N > & | operator+= (const Monomial_LD< Real, N > &b) | 
| Monomial_LD< Real, N > & | operator-= (const Monomial_LD< Real, N > &b) | 
| Monomial_LD< Real, N > & | operator*= (const Monomial_LD< Real, N > &b) | 
| Monomial_LD< Real, N > | operator+ () const | 
| Monomial_LD< Real, N > | operator- () const | 
| Monomial_LD< Real, N > | operator* (const Real &alpha) | 
| Monomial_LD< Real, N > | operator/ (const Real &alpha) | 
| Monomial_LD< Real, N > | operator+ (const Monomial_LD< Real, N > &a) | 
| Monomial_LD< Real, N > | operator- (const Monomial_LD< Real, N > &a) | 
| Monomial_LD< Real, N > | operator* (const Monomial_LD< Real, N > &a) | 
| Real | operator() (const RNpoint &x) const | 
| Evaluating value.  More... | |
| Real | operator() (const RNpoint &x, unsigned int idvar) const | 
| Evaluating first partial derivative by idvar-th variable.  More... | |
| Monomial_LD< Real, N > | d (const unsigned int &ideriv) const | 
| Evaluating partial derivative hight order by idvar-th variable in ideriv-th order.  More... | |
| void | writeToStream (std::ostream &ff) const | 
| void | readFromStream (std::istream &ff) | 
| Friends | |
| template<typename FReal , unsigned int FN> | |
| Monomial_LD< FReal, FN > & | operator* (const FReal &alpha, Monomial_LD< FReal, FN > &r) | 
| Real sofa::helper::Monomial_LD< Real, N >::coef | 
| sofa::type::Vec<N,int> sofa::helper::Monomial_LD< Real, N >::powers | 
| 
 | protected | 
| sofa::helper::Monomial_LD< Real, N >::Monomial_LD | 
Tools used in FEM computing
| sofa::helper::Monomial_LD< Real, N >::Monomial_LD | ( | Real | m_coef, | 
| ... | |||
| ) | 
| sofa::helper::Monomial_LD< Real, N >::Monomial_LD | ( | const Monomial_LD< Real, N > & | a | ) | 
| Monomial_LD< Real, N > sofa::helper::Monomial_LD< Real, N >::d | ( | const unsigned int & | ideriv | ) | const | 
Evaluating partial derivative hight order by idvar-th variable in ideriv-th order.
Derivative operator allowing to write p1=p2.d(x);
| int sofa::helper::Monomial_LD< Real, N >::degree | 
Return the total degree of monomial.
| 
 | inline | 
| bool sofa::helper::Monomial_LD< Real, N >::isSamePowers | ( | const Monomial_LD< Real, N > & | b | ) | const | 
| 
 | inline | 
| Real sofa::helper::Monomial_LD< Real, N >::operator() | ( | const RNpoint & | x | ) | const | 
Evaluating value.
| Real sofa::helper::Monomial_LD< Real, N >::operator() | ( | const RNpoint & | x, | 
| unsigned int | idvar | ||
| ) | const | 
Evaluating first partial derivative by idvar-th variable.
| 
 | inline | 
| 
 | inline | 
| Monomial_LD< Real, N > & sofa::helper::Monomial_LD< Real, N >::operator*= | ( | const Monomial_LD< Real, N > & | b | ) | 
| 
 | inline | 
Mathematical operators.
| 
 | inline | 
| 
 | inline | 
| Monomial_LD< Real, N > & sofa::helper::Monomial_LD< Real, N >::operator+= | ( | const Monomial_LD< Real, N > & | b | ) | 
| 
 | inline | 
| 
 | inline | 
| Monomial_LD< Real, N > & sofa::helper::Monomial_LD< Real, N >::operator-= | ( | const Monomial_LD< Real, N > & | b | ) | 
| 
 | inline | 
| 
 | inline | 
| Monomial_LD< Real, N > & sofa::helper::Monomial_LD< Real, N >::operator= | ( | const Monomial_LD< Real, N > & | b | ) | 
| bool sofa::helper::Monomial_LD< Real, N >::operator== | ( | const Monomial_LD< Real, N > & | b | ) | const | 
Logical operators.
| void sofa::helper::Monomial_LD< Real, N >::readFromStream | ( | std::istream & | ff | ) | 
| 
 | inline | 
Setting of Monomial_LD.
| 
 | inline | 
| void sofa::helper::Monomial_LD< Real, N >::writeToStream | ( | std::ostream & | ff | ) | const | 
| anonymous enum | 
| 
 | friend |