54 static constexpr ddc::BoundCond
BoundCond = ddc::BoundCond::GREVILLE;
61 using greville_points_type = ddc::GrevilleInterpolationPoints<T, BoundCond, BoundCond>;
67 interpolation_discrete_dimension_type;
69 template <
class TypeSeqDDim,
class TypeSeqBSplines>
70 constexpr ddc::detail::convert_type_seq_to_discrete_domain_t<TypeSeqDDim>
mesh(
71 ddc::Coordinate<CDim...> lower_boundaries,
72 ddc::Coordinate<CDim...> upper_boundaries,
73 ddc::detail::convert_type_seq_to_discrete_domain_t<TypeSeqDDim>::discrete_vector_type
80 ddc::Coordinate<CDim...> lower_boundaries,
81 ddc::Coordinate<CDim...> upper_boundaries,
82 ddc::detail::convert_type_seq_to_discrete_domain_t<TypeSeqDDim>::discrete_vector_type
85 std::tuple<detail::Mesher1D<D, CDim>...> meshers;
86 std::tuple<ddc::DiscreteDomain<ddc::type_seq_element_t<
87 ddc::type_seq_rank_v<CDim, ddc::detail::TypeSeq<CDim...>>,
91 ((std ::get<ddc::type_seq_rank_v<CDim, ddc::detail::TypeSeq<CDim...>>>(meshs)
92 = std ::get<ddc::type_seq_rank_v<CDim, ddc::detail::TypeSeq<CDim...>>>(meshers)
94 ddc::type_seq_element_t<
95 ddc::type_seq_rank_v<CDim, ddc::detail::TypeSeq<CDim...>>,
97 ddc::type_seq_element_t<
98 ddc::type_seq_rank_v<CDim, ddc::detail::TypeSeq<CDim...>>,
100 ddc::select<CDim>(lower_boundaries),
101 ddc::select<CDim>(upper_boundaries),
102 ddc::select<ddc::type_seq_element_t<
103 ddc::type_seq_rank_v<CDim, ddc::detail::TypeSeq<CDim...>>,
104 TypeSeqDDim>>(nb_cells))),
107 return ddc::detail::convert_type_seq_to_discrete_domain_t<TypeSeqDDim>(
108 std::get<ddc::type_seq_rank_v<CDim, ddc::detail::TypeSeq<CDim...>>>(meshs)...);