cpp-proposals-pub icon indicating copy to clipboard operation
cpp-proposals-pub copied to clipboard

P0009 LWG Review 03/04/2022

Open crtrott opened this issue 3 years ago • 1 comments

Label naming: https://github.com/cplusplus/draft/wiki/Specification-Style-Guidelines#labels

mdspan.terms

  • ~par 2: remove ... from idx~ c12ff4a4f
  • ~par 3: remove $ signs~ e5e8eb905

Extents synopsis

  • ~extents::rank_dynamic call dynamic-index instead of fold~ c12ff4a4f
  • ~change comment: Constructors and assignment to Constructors, label change to mdspan.extents.ctors~ c0745758
  • ~mdspan.extents.compare -> mdspan.extents.cmp~ e5e8eb905
  • ~paragraph 3-5 being one, leave 6~ c0745758
  • ~rev-prod-of-extents misses argument name e and i in synopsis and definition~ c0745758
  • ~Preconditions missing dot: 7 9 11 13~ 94fe9afc0b1
  • ~par: 12 and 14 comma after condition, and "the product"~ 94fe9afc0b1
  • ~Separate heading for exposition only members where the line is~ c0745758
  • ~make fwd/rev-prod-of-extents public member functions~ c0745758ad3
    • ~accept rank-type~ c0745758ad3
    • add note: these functions are only invoked in situations where this can't overflow

mdspan.extents.cons

  • converting constructor:

    • ~put the explicit condition into the see below (but not in the synopsis)~ 737dae6357
    • ~For each E_r that is not dynamic index, E_r is equal to other.extent(r).~ c0745758
  • ~par 5.3: dynamic extents should not be in italics~ 94fe9afc0b1

  • Thought experiment but don't do this:

  template<class...SizeTypes
  explicit constexpr extents(SizeTypes... exts)
    • change to have two constructors with dynamic and rank size_types
    • try this in implementation
  • ~qualify move/forward with std:: everywhere~ 4e4df5e004a

  • ~par 7: remove italics from static extent~ 94fe9afc0b1

  • ~par 9.1 "is" true instead of "equals" true~c0745758

  • ~par 9.3 (N=rank_dynamic || N==rank()) is true~ c0745758

  • ~par 11.1 element wise wording like 11.2~ 2361c570ad

    • ~also check that in layout_stride~ 2361c570ad
  • ~just do explicit extents(Integrals...) -> see below~ 737dae6357

mdspan.extents.obs

  • ~put back in "static" before static_extent~ 1b571ebcb430

mdspan.layout

  • ~Fix numbering~ ec5e87461481
  • ~par 1.6: the integer packs i and j are ...~ c12ff4a4
  • ~par 1.8: dr is a pack of (possibly const) pack of integers~ c12ff4a4
    • ~make dr a d_r like E_r~ 1b571ebcb430

crtrott avatar Mar 04 '22 17:03 crtrott

Things we did as part of this:

commit: 7366664af806656 and 8c93cc254f7d

  • add size of a multidimensional index space definition, used later as part of preconditions for example for layouts

  • add REQUIRED-SPAN-SIZE exposition only macro for layout_stride

  • Fixes to requirement lists:

    • changed "Value" to "Returns"
    • Removed "type" preconditions and reformulated results

crtrott avatar Mar 07 '22 22:03 crtrott