27 #ifndef MLN_DATA_COMPUTE_HH
28 # define MLN_DATA_COMPUTE_HH
34 # include <mln/data/update.hh>
35 # include <mln/core/concept/meta_accumulator.hh>
55 template <
typename A,
typename I>
57 compute(const Accumulator<A>& a, const Image<I>& input);
68 template <typename A, typename I>
70 compute(Accumulator<A>& a, const Image<I>& input);
79 template <typename A, typename I>
81 compute(const Meta_Accumulator<A>& a, const Image<I>& input);
85 # ifndef MLN_INCLUDE_ONLY
90 template <
typename A,
typename I>
101 template <
typename A,
typename I>
106 trace::entering(
"data::compute");
109 data::internal::update_tests(a, input);
112 data::internal::update_dispatch(a, input);
114 trace::exiting(
"data::compute");
119 template <
typename A,
typename I>
124 typedef mln_accu_with(A, mln_value(I)) A_;
125 A_ a_ = accu::unmeta(exact(a), mln_value(I)());
130 # endif // ! MLN_INCLUDE_ONLY
137 #endif // ! MLN_DATA_COMPUTE_HH