27 #ifndef MLN_DATA_SATURATE_HH
28 # define MLN_DATA_SATURATE_HH
34 # include <mln/fun/v2v/saturate.hh>
35 # include <mln/data/apply.hh>
36 # include <mln/data/transform.hh>
57 template <
typename V,
typename I>
59 saturate(V v, const Image<I>& input);
70 template <typename I, typename V>
73 const V&
min, const V&
max);
86 const mln_value(I)& min, const mln_value(I)& max);
89 # ifndef MLN_INCLUDE_ONLY
91 template <
typename V,
typename I>
96 mln_trace(
"data::saturate");
98 mln_precondition(
exact(input).is_valid());
100 fun::v2v::saturate<V> f;
106 template <typename I, typename V>
110 const V& min, const V& max)
112 mln_trace(
"data::saturate");
114 mln_precondition(
exact(input).is_valid());
116 fun::v2v::saturate<V> f(min, max);
122 template <typename I>
125 const mln_value(I)& min, const mln_value(I)& max)
127 mln_trace(
"data::saturate_inplace");
129 mln_precondition(
exact(input).is_valid());
131 fun::v2v::saturate<mln_value(I)> f(min, max);
136 # endif // ! MLN_INCLUDE_ONLY
143 #endif // ! MLN_DATA_SATURATE_HH