26 #ifndef MLN_MAKE_H_MAT_HH
27 # define MLN_MAKE_H_MAT_HH
33 # include <mln/algebra/h_mat.hh>
34 # include <mln/metal/math/sqrt.hh>
50 template <
typename T,
unsigned N>
51 algebra::h_mat<mlc_sqrt_int(N), T>
h_mat(
const T (&tab)[N]);
55 # ifndef MLN_INCLUDE_ONLY
57 template <
typename T,
unsigned N>
59 algebra::h_mat<mlc_sqrt_int(N), T>
62 enum { n = mlc_sqrt_int(N) };
63 mlc_bool(N == n * n)::check();
65 for (
unsigned i = 0; i < N; ++i)
66 tmp(i / n, i % n) = tab[i];
70 # endif // ! MLN_INCLUDE_ONLY
77 #endif // ! MLN_MAKE_H_MAT_HH