\begin{ccRefConcept}{PolynomialTraits_d::EvaluateHomogeneous}
\ccDefinition

This \ccc{AdaptableFunctor} interprets a \ccc{PolynomialTraits_d::Polynomial_d} 
as a homogeneous polynomial with respect to one variable, an provides respective evaluation.  

\ccRefines 
\ccc{AdaptableFunctor}

\ccTypes

\ccSetThreeColumns{xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx}{xxx}{}
\ccCreationVariable{evaluate_homogenouse}
\ccTypedef{typedef PolynomialTraits_d::Coefficient              result_type;}{}

\ccOperations
\ccMethod{result_type operator()(PolynomialTraits_d::Polynomial_d  p,
                                 PolynomialTraits_d::Innermost_coefficient u,
                                 PolynomialTraits_d::Innermost_coefficient  v);}
         { return $p(u,v)$, with respect to the outermost variable. \\
           The homogeneous degree is considered as equal to the degree of $p$.  }

%\ccMethod{result_type operator()(first_argument_type  p,
%                                 second_argument_type u,
%                                 third_argument_type  v,
%                                 fourth_argument_type h);}
%          { return $p(u,v)$, with respect to the outermost variable. \\
%            The homogeneous degree is $h$.
%            \ccPrecond: $h \geq degree(p)$  }

\ccMethod{result_type operator()( PolynomialTraits_d::Polynomial_d          p,
                                  PolynomialTraits_d::Innermost_coefficient u,
                                  PolynomialTraits_d::Innermost_coefficient v,
                                  int i);}
          { return $p(u,v)$, with respect to the variable $x_i$. \\
            The homogeneous degree is considered as equal to the $degree(p,i)$.
            \ccPrecond $0 \leq i  < d$}

%\ccHasModels

\ccSeeAlso

\ccRefIdfierPage{Polynomial_d}\\
\ccRefIdfierPage{PolynomialTraits_d}\\

\end{ccRefConcept}
