[PATCH v4 0/8] Implement layouts from mdspan.
Tomasz Kaminski
tkaminsk@redhat.com
Thu May 29 20:08:22 GMT 2025
Sending a bit after the fact, but:
I have finished the review, and most of the commits have really minimal
cosmetic changes.
The only major functional one I have requested are for layout_stride
implementation,
On Wed, May 28, 2025 at 4:36 PM Tomasz Kaminski <tkaminsk@redhat.com> wrote:
> I have reviewed and posted feedback up to, but not including layout_stride
> today.
> Will try to finish tomorrow.
> Thank you again for continuous work on the patches.
>
> On Tue, May 27, 2025 at 4:40 PM Tomasz Kaminski <tkaminsk@redhat.com>
> wrote:
>
>>
>>
>> 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/20250529/4622dc86/attachment.htm>
More information about the Libstdc++
mailing list