27 #ifndef MLN_LINEAR_CONVOLVE_2X1D_HH
28 # define MLN_LINEAR_CONVOLVE_2X1D_HH
34 # include <mln/linear/convolve_directional.hh>
35 # include <mln/extension/adjust.hh>
36 # include <mln/util/max.hh>
57 typename W,
unsigned Sh,
unsigned Sv>
60 W (&horizontal_weights)[Sh],
61 W (& vertical_weights)[Sv]);
64 # ifndef MLN_INCLUDE_ONLY
67 typename W,
unsigned Sh,
unsigned Sv>
70 W (&horizontal_weights)[Sh],
71 W (& vertical_weights)[Sv])
73 mln_trace(
"linear::convolve_2x1d");
75 mlc_bool(Sh % 2 == 1)::check();
76 mlc_bool(Sv % 2 == 1)::check();
78 mln_precondition(
exact(input).is_valid());
82 mln_ch_convolve(I, W) tmp, output;
90 # endif // ! MLN_INCLUDE_ONLY
97 #endif // ! MLN_LINEAR_CONVOLVE_2X1D_HH