Skip to content
Snippets Groups Projects
Commit 0b25b49d authored by Praetorius, Simon's avatar Praetorius, Simon
Browse files

functor expression corrected

parent 79865e8e
No related branches found
No related tags found
No related merge requests found
......@@ -250,7 +250,7 @@ namespace AMDiS
F f; ///< the functor
template <class... Terms_>
FunctionN(F&& f_, Terms_... terms_)
FunctionN(F const& f_, Terms_... terms_)
: super(terms_...), f(f_) {}
// call f.getDegree() function
......@@ -404,27 +404,27 @@ namespace AMDiS
template<typename F, typename... Terms>
inline typename result_of::FunctionN<F, Terms...>::type
function_(F&& f, Terms... ts)
function_(F const& f, Terms... ts)
{
return expressions::FunctionN<F, typename traits::to_expr<Terms>::to::type...>
(std::forward<F>(f), traits::to_expr<Terms>::to::get(ts)...);
(f, traits::to_expr<Terms>::to::get(ts)...);
}
template<typename F, typename... Terms>
inline typename result_of::FunctionN<F, Terms...>::type
func(F&& f, Terms... ts)
func(F const& f, Terms... ts)
{
return expressions::FunctionN<F, typename traits::to_expr<Terms>::to::type...>
(std::forward<F>(f), traits::to_expr<Terms>::to::get(ts)...);
(f, traits::to_expr<Terms>::to::get(ts)...);
}
template<typename F, typename Term0, typename... Terms>
inline typename result_of::FunctionN<F, Term0, Terms...>::type
eval(F&& f, Term0 t0, Terms... ts)
eval(F const& f, Term0 t0, Terms... ts)
{
return expressions::FunctionN<F, typename traits::to_expr<Term0>::to::type,
typename traits::to_expr<Terms>::to::type...>
(std::forward<F>(f), traits::to_expr<Term0>::to::get(t0), traits::to_expr<Terms>::to::get(ts)...);
(f, traits::to_expr<Term0>::to::get(t0), traits::to_expr<Terms>::to::get(ts)...);
}
......@@ -436,16 +436,16 @@ namespace AMDiS
template <int Degree, class F>
inline expressions::DegreeWrapper<Degree, F>
deg(F&& fct)
deg(F const& fct)
{
return expressions::DegreeWrapper<Degree, F>(std::forward<F>(fct));
return expressions::DegreeWrapper<Degree, F>(fct);
}
template <class F, class DegF>
inline expressions::DegreeWrapper2<F, DegF>
deg(F&& fct, DegF&& degfct)
deg(F const& fct, DegF const& degfct)
{
return expressions::DegreeWrapper2<F, DegF>(std::forward<F>(fct), std::forward<DegF>(degfct));
return expressions::DegreeWrapper2<F, DegF>(fct, degfct);
}
} // end namespace AMDiS
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment