[PATCH v4 0/8] Implement layouts from mdspan.
Tomasz Kaminski
tkaminsk@redhat.com
Tue May 27 14:40:55 GMT 2025
On Tue, May 27, 2025 at 4:32 PM Luc Grosheintz <luc.grosheintz@gmail.com>
wrote:
> Since, I believe now we're through the larger questions about
> how to implement layouts. If reviewing all three over and over
> is too painful, it might now make sense to split the patch into
> separate patches, one per layout.
>
I think we are OK. As you mentioned we are past general discussion,
so I need to do more throughroul review with checking against the standard.
I will try to book some time for this this week.
> On 5/26/25 16:04, Luc Grosheintz wrote:
> > This follows up on:
> > https://gcc.gnu.org/pipermail/libstdc++/2025-May/061572.html
> >
> > Note that this patch series can only be applied after merging:
> > https://gcc.gnu.org/pipermail/libstdc++/2025-May/061653.html
> >
> > The important changes since v3 are:
> > * Fixed and testsed several related overflow issues that occured in
> > extents of size 0 by using `size_t` to compute products.
> > * Fixed and tested default ctors.
> > * Add missing code for module support.
> > * Documented deviation from standard.
> >
> > The smaller changes include:
> > * Squashed the three small commits that make cosmetic changes to
> > std::extents.
> > * Remove layout_left related changes from the layout_stride commit.
> > * Remove superfluous `mapping(extents_type(__exts))`.
> > * Fix indenting and improve comment in layout_stride.
> > * Add an easy check for representable required_span_size to
> > layout_stride.
> > * Inline __dynamic_extents_prod
> >
> > Thank you Tomasz for all the great reviews!
> >
> > Luc Grosheintz (8):
> > libstdc++: Improve naming and whitespace for extents.
> > libstdc++: Implement layout_left from mdspan.
> > libstdc++: Add tests for layout_left.
> > libstdc++: Implement layout_right from mdspan.
> > libstdc++: Add tests for layout_right.
> > libstdc++: Implement layout_stride from mdspan.
> > libstdc++: Add tests for layout_stride.
> > libstdc++: Make layout_left(layout_stride) noexcept.
> >
> > libstdc++-v3/include/std/mdspan | 711 +++++++++++++++++-
> > libstdc++-v3/src/c++23/std.cc.in | 5 +-
> > .../mdspan/layouts/class_mandate_neg.cc | 42 ++
> > .../23_containers/mdspan/layouts/ctors.cc | 459 +++++++++++
> > .../23_containers/mdspan/layouts/empty.cc | 78 ++
> > .../23_containers/mdspan/layouts/mapping.cc | 568 ++++++++++++++
> > .../23_containers/mdspan/layouts/stride.cc | 500 ++++++++++++
> > 7 files changed, 2349 insertions(+), 14 deletions(-)
> > create mode 100644
> libstdc++-v3/testsuite/23_containers/mdspan/layouts/class_mandate_neg.cc
> > create mode 100644
> libstdc++-v3/testsuite/23_containers/mdspan/layouts/ctors.cc
> > create mode 100644
> libstdc++-v3/testsuite/23_containers/mdspan/layouts/empty.cc
> > create mode 100644
> libstdc++-v3/testsuite/23_containers/mdspan/layouts/mapping.cc
> > create mode 100644
> libstdc++-v3/testsuite/23_containers/mdspan/layouts/stride.cc
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://gcc.gnu.org/pipermail/libstdc++/attachments/20250527/c335340c/attachment.htm>
More information about the Libstdc++
mailing list