2977: Make doc examples tuto_one compile again.

https://svn.lrde.epita.fr/svn/oln/trunk/milena Index: ChangeLog from Thierry Geraud <thierry.geraud@lrde.epita.fr> Make doc examples tuto_one compile again. * mln/core/concept/window.hh (mln_is_fastest_IW): New. * mln/accu/transform_directional.hh, * mln/accu/transform_diagonal.hh, * mln/accu/transform.hh, * mln/accu/transform_stop.hh, * mln/accu/transform_snake.hh: Check in dispatch that win is simple to choose the fastest specialization. accu/transform.hh | 6 +++--- accu/transform_diagonal.hh | 12 ++++++------ accu/transform_directional.hh | 6 +++--- accu/transform_snake.hh | 6 +++--- accu/transform_stop.hh | 6 +++--- core/concept/window.hh | 7 +++++++ 6 files changed, 25 insertions(+), 18 deletions(-) Index: mln/core/concept/window.hh --- mln/core/concept/window.hh (revision 2976) +++ mln/core/concept/window.hh (working copy) @@ -60,6 +60,13 @@ mln::trait::window::definition::unique) > > +# define mln_is_fastest_IW(I, W) \ + \ +mlc_and(mlc_is(mln_trait_image_speed(I), \ + trait::image::speed::fastest), \ + mln_is_simple_window(W)) + + namespace mln { Index: mln/accu/transform_directional.hh --- mln/accu/transform_directional.hh (revision 2976) +++ mln/accu/transform_directional.hh (working copy) @@ -253,7 +253,7 @@ template <typename A, typename I, typename W> inline mln_ch_value(I, mln_result(A)) - transform_directional_dispatch(trait::image::speed::any, + transform_directional_dispatch(metal::false_, const Accumulator<A>& a, const Image<I>& input, const Window<W>& win, unsigned dir) @@ -267,7 +267,7 @@ template <typename A, typename I, typename W> inline mln_ch_value(I, mln_result(A)) - transform_directional_dispatch(trait::image::speed::fastest, + transform_directional_dispatch(metal::true_, const Accumulator<A>& a, const Image<I>& input, const Window<W>& win, unsigned dir) @@ -285,7 +285,7 @@ const Image<I>& input, const Window<W>& win, unsigned dir) { - return transform_directional_dispatch(mln_trait_image_speed(I)(), + return transform_directional_dispatch(mln_is_fastest_IW(I, W)(), a, input, win, dir); } Index: mln/accu/transform_diagonal.hh --- mln/accu/transform_diagonal.hh (revision 2976) +++ mln/accu/transform_diagonal.hh (working copy) @@ -357,7 +357,7 @@ template <typename A, typename I> inline mln_ch_value(I, mln_result(A)) - transform_diagonal_dispatch(trait::image::speed::any, + transform_diagonal_dispatch(metal::false_, const Accumulator<A>& a, const Image<I>& input, const win::diag2d& win) { @@ -367,10 +367,10 @@ return f.output; } - template <typename A, typename I> + template <typename B, typename A, typename I> inline mln_ch_value(I, mln_result(A)) - transform_diagonal_dispatch(trait::image::speed::any, + transform_diagonal_dispatch(metal::false_, const Accumulator<A>& a, const Image<I>& input, const win::backdiag2d& win) { @@ -383,7 +383,7 @@ template <typename A, typename I> inline mln_ch_value(I, mln_result(A)) - transform_diagonal_dispatch(trait::image::speed::fastest, + transform_diagonal_dispatch(metal::true_, const Accumulator<A>& a, const Image<I>& input, const win::diag2d& win) { @@ -396,7 +396,7 @@ template <typename A, typename I> inline mln_ch_value(I, mln_result(A)) - transform_diagonal_dispatch(trait::image::speed::fastest, + transform_diagonal_dispatch(metal::true_, const Accumulator<A>& a, const Image<I>& input, const win::backdiag2d& win) { @@ -412,7 +412,7 @@ transform_diagonal_dispatch(const Accumulator<A>& a, const Image<I>& input, const Window<W>& win) { - return transform_diagonal_dispatch(mln_trait_image_speed(I)(), + return transform_diagonal_dispatch(mln_is_fastest_IW(I, W)(), a, input, exact(win)); } Index: mln/accu/transform.hh --- mln/accu/transform.hh (revision 2976) +++ mln/accu/transform.hh (working copy) @@ -154,7 +154,7 @@ template <typename I, typename A, typename W> mln_ch_value(I, mln_result(A)) - transform_dispatch(trait::image::speed::any, + transform_dispatch(metal::false_, const Image<I>& input, const Accumulator<A>& a, const Window<W>& win) { return impl::generic::transform(input, a, win); @@ -162,7 +162,7 @@ template <typename I, typename A, typename W> mln_ch_value(I, mln_result(A)) - transform_dispatch(trait::image::speed::fastest, + transform_dispatch(metal::true_, const Image<I>& input, const Accumulator<A>& a, const Window<W>& win) { return impl::transform_fastest(input, a, win); @@ -172,7 +172,7 @@ mln_ch_value(I, mln_result(A)) transform_dispatch(const Image<I>& input, const Accumulator<A>& a, const Window<W>& win) { - return transform_dispatch(mln_trait_image_speed(I)(), + return transform_dispatch(mln_is_fastest_IW(I, W)(), input, a, win); } Index: mln/accu/transform_stop.hh --- mln/accu/transform_stop.hh (revision 2976) +++ mln/accu/transform_stop.hh (working copy) @@ -158,7 +158,7 @@ template <typename I, typename A, typename W> mln_ch_value(I, mln_result(A)) - transform_stop_dispatch(trait::image::speed::any, + transform_stop_dispatch(metal::false_, const Image<I>& input, const Accumulator<A>& a, const Window<W>& win) { return impl::generic::transform_stop(input, a, win); @@ -166,7 +166,7 @@ template <typename I, typename A, typename W> mln_ch_value(I, mln_result(A)) - transform_stop_dispatch(trait::image::speed::fastest, + transform_stop_dispatch(metal::true_, const Image<I>& input, const Accumulator<A>& a, const Window<W>& win) { return impl::transform_stop_fastest(input, a, win); @@ -176,7 +176,7 @@ mln_ch_value(I, mln_result(A)) transform_stop_dispatch(const Image<I>& input, const Accumulator<A>& a, const Window<W>& win) { - return transform_stop_dispatch(mln_trait_image_speed(I)(), + return transform_stop_dispatch(mln_is_fastest_IW(I, W)(), input, a, win); } Index: mln/accu/transform_snake.hh --- mln/accu/transform_snake.hh (revision 2976) +++ mln/accu/transform_snake.hh (working copy) @@ -395,7 +395,7 @@ template <typename A, typename I, typename W> inline mln_ch_value(I, mln_result(A)) - transform_snake_dispatch(trait::image::speed::any, + transform_snake_dispatch(metal::false_, const Accumulator<A>& a, const Image<I>& input, const Window<W>& win) { @@ -408,7 +408,7 @@ template <typename A, typename I, typename W> inline mln_ch_value(I, mln_result(A)) - transform_snake_dispatch(trait::image::speed::fastest, + transform_snake_dispatch(metal::true_, const Accumulator<A>& a, const Image<I>& input, const Window<W>& win) { @@ -424,7 +424,7 @@ transform_snake_dispatch(const Accumulator<A>& a, const Image<I>& input, const Window<W>& win) { - return transform_snake_dispatch(mln_trait_image_speed(I)(), + return transform_snake_dispatch(mln_is_fastest_IW(I, W)(), a, input, win); }
participants (1)
-
Thierry Geraud