23 #ifndef CONDITIONAL_PRECOMPUTE_HPP_INCLUDED
24 #define CONDITIONAL_PRECOMPUTE_HPP_INCLUDED
27 #include <type_traits>
33 namespace matrix_function_complexity
49 template <
class Complexity,
class Func,
class ...Args>
63 return Func::eval(args...);
69 template <
class Func,
class...Args>
78 typedef typename std::add_lvalue_reference<
92 template <
class Func,
class...Args>
106 return functor_ret_type::Zero();
111 template <
class Complexity,
class Func,
class ...Args>
122 template <class...ConstrArgs>
130 return Func::eval(args...);
135 template <
class Func,
class...Args>
144 typedef typename std::add_lvalue_reference<
149 : m_stored(Func::eval(args...))
154 template <
class...EvalArgs>
165 template <
class Func,
class...Args>
181 template <
class...EvalArgs>
184 return functor_ret_type::Zero();
190 #endif // CONDITIONAL_PRECOMPUTE_HPP_INCLUDED