26 #ifndef MLN_FUN_P2P_TRANSLATION_HH
27 # define MLN_FUN_P2P_TRANSLATION_HH
33 # include <mln/core/concept/function.hh>
34 # include <mln/core/concept/gdpoint.hh>
47 struct translation_t :
public Function_v2v< translation_t<P> >
52 translation_t(
const mln_delta(P)& dp);
54 P operator()(
const P& p)
const;
55 P inverse(
const P& p)
const;
63 translation_t<mln_site(D)>
64 translation(const Gdpoint<D>& dp);
68 # ifndef MLN_INCLUDE_ONLY
72 translation_t<P>::translation_t(
const mln_delta(P)& dp)
80 translation_t<P>::operator()(
const P& p)
const
88 translation_t<P>::inverse(
const P& p)
const
96 translation_t<mln_site(D)>
97 translation(
const Gdpoint<D>& dp)
99 translation_t<mln_site(D)> tmp(exact(dp));
104 # endif // ! MLN_INCLUDE_ONLY
113 #endif // ! MLN_FUN_P2P_TRANSLATION_HH