Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

P0554 Composition of Arithmetic Types #360

Closed
wg21bot opened this issue Feb 13, 2019 · 8 comments
Closed

P0554 Composition of Arithmetic Types #360

wg21bot opened this issue Feb 13, 2019 · 8 comments
Labels
B3 - addition Bucket 3 as described by P0592: material that is not mentioned in P0592 LEWG Library Evolution needs-revision Paper needs changes before it can proceed numerics numerics-ts-1 SG6 Numerics TS Ship vehicle: TS

Comments

@wg21bot
Copy link
Collaborator

wg21bot commented Feb 13, 2019

P0554R0 Composition of Arithmetic Types (John McFarlane)

@wg21bot wg21bot added this to the 2019-02 milestone Feb 13, 2019
@wg21bot wg21bot added the SG14 Low Latency label Feb 13, 2019
@jensmaurer jensmaurer added the LEWGI Library Evolution Incubator label Feb 13, 2019
@jensmaurer jensmaurer added this to Wednesday in LEWG-I in Kona 2019 Feb 13, 2019
@jensmaurer jensmaurer modified the milestones: 2019-02, 2019-07 Mar 22, 2019
@jensmaurer
Copy link
Member

LEWG-I in Kona: Design feedback.

@johnmcfarlane
Copy link

LEWGI review

@wg21bot
Copy link
Collaborator Author

wg21bot commented Jun 23, 2019

P0554R1 Composition of Arithmetic Types (John McFarlane)

@wg21bot wg21bot added this to the 2019-07 milestone Jun 23, 2019
@brycelelbach
Copy link

Kona 2019-02 LEWGI Minutes

P0828R1 Elastic Integers
P0037R6 Fixed Point Integers
P0554R0 Composition of Arithmetic Types

Champion: Davis Herring

Minute Taker: Mark Hoemmen

Start P0828R1 Overview: 10:06

Start P0037R6 Overview: 10:30

Consistency with std::chrono durations and std::ratio?

Start P0554R0 Overview: 11:16

Start Polling: 11:28

POLL: Given what we know right now, we like the general library design of the compositional approach in P0554R0/etc (example: fixed_point<elastic_integer, Exponent>)

Strongly For Weakly For Neutral Weakly Against Strongly Against
6 3 3 1 0

Attendance: 16

That has consensus.

Jeffrey (A): Worried about complexity; having all of these options available might confuse people.

Break for Lunch: 11:33

Resume after Lunch: 13:07

End: 13:52

@brycelelbach
Copy link

brycelelbach commented Jul 16, 2019

Cologne 2019-07 LEWGI Minutes

P0554R1 Compositional Numeric Types: Design Feedback

P1751R0 Numeric Type Families: Design Feedback

Champion: John McFarlane

Minute Taker: Billy O'Neal

Start Overview: 07-16 13:42

Start Review: 14:03

Composition design - Unary adaptor types that compose vs an Nary type with multiple properties.

// Unary adaptor types that compose.
template <typename Rep> struct a_integer;
template <typename Rep> struct b_integer;
template <typename Rep> struct c_integer;

vs

// Nary type with ordered properties.
struct a_tag {};
struct b_tag {};
struct c_tag {};

template <typename... Properties>
struct integer;

POLL: We want unary adaptor types that compose instead of exploring a type with nary ordered properties.

Strongly For Weakly For Neutral Weakly Against Strongly Against
4 7 2 2 1

A: Would love to see other designs explored.

That has consensus.

Attendance: 18

Explore a compositional helper.

POLL: We should promise more committee time to pursuing new arithmetic types in the standard library that satisfy the use cases described in P0554, knowing that our time is scarce and this will leave less time for other work.

Strongly For Weakly For Neutral Weakly Against Strongly Against
6 7 2 1 0

Attendance: 16

This has strong consensus.

elastic_integer<20, int> // Status quo.
elastic_integer<70, wide_integer<31>> // Status quo, works through traits.
elastic_integer<20, int_family>

POLL: We are okay with representing families of arithmetic types with a single, unique member of that family and traits (e.g. int for signed integers, unsigned for unsigned integers).

Strongly For Weakly For Neutral Weakly Against Strongly Against
0 2 5 7 2

Attendance: 18

End: 15:35

CONSENSUS: Bring a revision of P0554R1, with the guidance below, to LEWGI for further design feedback.

  • Consider merging the various other integer type papers targeting the Numeric TS into P0554.
  • Produce draft wording.
  • Explore an alternative design to numeric type families which does not rely on using a single unique member of each family and traits to represent the family.

@johnmcfarlane
Copy link

Cologne minutes

@johnmcfarlane
Copy link

Cologne slides

@jensmaurer jensmaurer removed this from the 2019-07 milestone Aug 26, 2019
@brycelelbach brycelelbach added the needs-revision Paper needs changes before it can proceed label Oct 29, 2019
@brycelelbach brycelelbach added SG6 Numerics and removed SG14 Low Latency labels Feb 8, 2020
@brycelelbach brycelelbach added LEWG Library Evolution EWGI Evolution Incubator B3 - addition Bucket 3 as described by P0592: material that is not mentioned in P0592 TS Ship vehicle: TS numerics-ts-1 and removed LEWGI Library Evolution Incubator labels Aug 25, 2020
@cor3ntin cor3ntin added EWG Evolution and removed EWG Evolution EWGI Evolution Incubator labels Feb 22, 2022
@brycelelbach
Copy link

Closing due to more than 1 year of inactivity. Please re-open if further work is expected.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
B3 - addition Bucket 3 as described by P0592: material that is not mentioned in P0592 LEWG Library Evolution needs-revision Paper needs changes before it can proceed numerics numerics-ts-1 SG6 Numerics TS Ship vehicle: TS
Projects
No open projects
Development

No branches or pull requests

5 participants