26 #ifndef SCRIBO_PRIMITIVE_INTERNAL_UPDATE_GRAPH_LINK_HH
27 # define SCRIBO_PRIMITIVE_INTERNAL_UPDATE_GRAPH_LINK_HH
33 # include <mln/core/concept/image.hh>
34 # include <mln/core/concept/graph.hh>
35 # include <mln/math/abs.hh>
59 template <
typename I,
typename G>
62 const mln_site(I)& p,
const mln_site(I)& c,
63 unsigned i,
int dmax);
66 # ifndef MLN_INCLUDE_ONLY
69 template <
typename I,
typename G>
73 const mln_site(I)& p,
const mln_site(I)& c,
76 mln_trace(
"scribo::primitive::internal::update_graph_link");
78 const I& lbl =
exact(lbl_);
82 mln_precondition(
exact(lbl).is_valid());
83 mln_precondition(g.is_valid());
85 if (lbl.domain().has(p) && lbl(p) != literal::zero && lbl(p) != i
87 g.add_edge(lbl(p), i);
92 # endif // ! MLN_INCLUDE_ONLY
101 #endif // ! SCRIBO_PRIMITIVE_INTERNAL_UPDATE_GRAPH_LINK_HH