27 #ifndef MLN_FUN_INTERNAL_X2X_LINEAR_IMPL_HH
28 # define MLN_FUN_INTERNAL_X2X_LINEAR_IMPL_HH
35 # include <mln/core/concept/function.hh>
36 # include <mln/algebra/h_mat.hh>
37 # include <mln/algebra/h_vec.hh>
48 template <
typename V,
typename C,
typename E>
49 struct x2x_linear_impl_
51 static const unsigned dim = V::dim;
55 typedef algebra::h_mat<dim, C> matrix;
57 V operator()(
const V& x)
const
59 algebra::h_vec<dim, C> tmp = m_ * x.to_h_vec();
63 const matrix&
mat()
const;
73 # ifndef MLN_INCLUDE_ONLY
75 template <
typename V,
typename C,
typename E>
77 x2x_linear_impl_<V,C,E>::x2x_linear_impl_()
82 template <
typename V,
typename C,
typename E>
84 const typename x2x_linear_impl_<V,C,E>::matrix&
85 x2x_linear_impl_<V,C,E>::mat()
const
91 # endif // ! MLN_INCLUDE_ONLY
100 #endif // ! MLN_FUN_INTERNAL_X2X_LINEAR_IMPL_HH