9#include <Kokkos_Core.hpp>
15namespace ddc::detail {
20void print_sparse_discrete_domain_dimension(
22 Kokkos::View<DiscreteElementType*, Kokkos::SharedSpace>
const& view)
25 std::size_t
const print_edge_items = 3;
26 std::size_t
const n = view.size();
28 if (n <= 2 * print_edge_items + 1) {
29 for (std::size_t i = 0; i < n; ++i) {
30 os << (i == 0 ?
"" :
", ") << view(i);
33 for (std::size_t i = 0; i < print_edge_items; ++i) {
34 os << view(i) <<
", ";
37 for (std::size_t i = n - print_edge_items; i < n; ++i) {
38 os <<
", " << view(i);
46void print_sparse_discrete_domain(
49 std::span<DiscreteVectorElement
const>
const extents,
50 std::span<Kokkos::View<DiscreteElementType*, Kokkos::SharedSpace>
const>
const elements)
52 os <<
"SparseDiscreteDomain(";
57 print_discrete_vector(os, extents);
59 for (std::size_t i = 0; i < elements.size(); ++i) {
60 os << (i == 0 ?
"" :
", ");
61 print_sparse_discrete_domain_dimension(os, elements[i]);
The top-level namespace of DDC.